For the complete documentation index, see llms.txt. This page is also available as Markdown.

Kling 3.0 Omni 720p Image to Video

This documentation is valid for the following list of our models:

  • klingai/video-v3-omni-720p-image-to-video

Model Overview

Kling 3.0 Omni image-to-video animates images into 720p videos with optional native audio.

Setup your API Key

If you don't have an API key yet, use our Quickstart guide.

How to Make a Call

Step-by-Step Instructions

Generating a video involves sequentially calling two endpoints:

  • Create and submit a video generation task. The response contains a generation ID.

  • Poll the retrieval endpoint with that generation ID until the status is completed.

API Schemas

Create a video generation task and send it to the server

post
Body
modelstring · enumRequiredPossible values:
promptstringOptional

Text prompt for video generation. Either prompt or multi_prompt must be provided, but not both.

providerstringOptional

Provider routing override. kling (alias klingai) runs native Kling with no fallback; fal runs the fal.ai mirror; auto (default) uses the Kling -> fal.ai fallback chain. Case-insensitive.

Example: auto
multi_promptstring[]Optional

List of prompts for multi-shot video generation. If provided, overrides the single prompt and divides the video into multiple shots with specified prompts and durations.

image_urlstring · uriRequired

A direct link to an online image or a Base64-encoded local image that will serve as the visual base or the first frame for the video.

tail_image_urlstring · uriOptional

Last frame image URL. Not supported when generate_audio is enabled — set generate_audio to false to use a tail frame.

durationinteger · enumOptional

The length of the output video in seconds.

Default: 5Possible values:
shot_typestring · enumOptional

The type of multi-shot video generation

Default: customizePossible values:
generate_audiobooleanOptional

Whether to generate audio for the video.

Default: true
negative_promptstringOptional

The description of elements to avoid in the generated video.

cfg_scalenumber · max: 1Optional

The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt.

Responses
200

Successful response.

application/json
idstringRequired

The ID of the generated video.

Example: 60ac7c34-3224-4b14-8e7d-0aa0db708325
statusstring · enumRequired

The current status of the generation task.

Example: completedPossible values:
videoany ofOptional
or
or
any · nullableOptional
post/v2/video/generations
curl --request POST \
  --url 'https://api.aimlapi.com/v2/video/generations' \
  --header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{"model": "klingai/video-v3-omni-720p-image-to-video", "prompt": "Describe what you want the model to generate.", "image_url": "https://example.com/input.jpg", "duration": "5"}'
200

Successful response.

{
  "id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
  "status": "completed",
  "video": {
    "url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
  },
  "error": {
    "name": "text",
    "message": "text"
  },
  "meta": {
    "usage": {
      "credits_used": 120000,
      "usd_spent": 0.06
    }
  }
}

Retrieve the generated video from the server

Poll this endpoint with the generation_id returned by the submit request. When the status is completed, the response includes the generated video URL.

get
Authorizations
AuthorizationstringRequired

Bearer key

Query parameters
generation_idstringRequiredExample: <REPLACE_WITH_YOUR_GENERATION_ID>
Responses
200Success
application/json
idstringRequired

The ID of the generated video.

Example: 60ac7c34-3224-4b14-8e7d-0aa0db708325
statusstring · enumRequired

The current status of the generation task.

Example: completedPossible values:
get/v2/video/generations
curl -L \
  --request GET \
  --url 'https://api.aimlapi.com/v2/video/generations?generation_id=<REPLACE_WITH_YOUR_GENERATION_ID>' \
  --header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>'
200Success
{
  "id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
  "status": "completed",
  "video": {
    "url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
  },
  "error": {
    "name": "text",
    "message": "text"
  },
  "meta": {
    "usage": {
      "credits_used": 120000
    }
  }
}

Code Example

The examples submit a generation task and poll every 15 seconds until the final result is available.

Response

Last updated

Was this helpful?