Kling 3.0 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
API Schemas
Create a video generation task and send it to the server
Text prompt for video generation. Either prompt or multi_prompt must be provided, but not both.
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.
autoList 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.
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.
Last frame image URL. Not supported when generate_audio is enabled — set generate_audio to false to use a tail frame.
The length of the output video in seconds.
5Possible values: The type of multi-shot video generation
customizePossible values: Whether to generate audio for the video.
trueThe description of elements to avoid in the generated video.
The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt.
Successful response.
The ID of the generated video.
60ac7c34-3224-4b14-8e7d-0aa0db708325The current status of the generation task.
completedPossible values: 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"}'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.
Bearer key
<REPLACE_WITH_YOUR_GENERATION_ID>The ID of the generated video.
60ac7c34-3224-4b14-8e7d-0aa0db708325The current status of the generation task.
completedPossible values: 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>'{
"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.
Last updated
Was this helpful?