Doc version: v1.0.0 | Last updated: 2026-06-11
This platform fully supports the Kling AI official video generation API. Requests and responses are transparently proxied; parameter semantics are identical to the official API.
POST https://platform.dataeyes.ai/kling/v1/videos/omni-video
The Omni model can achieve various capabilities through Prompt with elements, images, videos, and other content.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Content-Type | string | Yes | application/json | Data Exchange Format |
Authorization | string | Yes | Authentication information, refer to API authentication |
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model_name | string | No | kling-video-o1 | Model Name Options: kling-video-o1, kling-v3-omni |
multi_shot | boolean | No | false | Whether to generate multi-shot video. When true: the prompt parameter is invalid. When false: the shot_type and multi_prompt parameters are invalid. |
shot_type | string | No | Storyboard method. Options: customize, intelligenceWhen multi_shot is true, this parameter is required. | |
prompt | string | No | Text prompt words, which can include positive and negative descriptions. - The prompt words can be templated to meet different video generation needs - Must not exceed 2,500 characters When the "multi_shot" parameter is set to false or when the "multi_shot" parameter is set to true and the "shot-type" parameter is set to intelligence, the current parameter must not be empty.The Omni model can achieve various capabilities through Prompt with elements, images, videos, and other content: - Specify elements/images/videos using <<<>>> format, e.g.: <<<element_1>>>, <<<image_1>>>, <<<video_1>>> - For detailed capabilities, see: KLING Omni Model User Guide, Kling VIDEO 3.0 Omni Model User Guide The support range for different model versions and video modes varies. For details, see Capability Map | |
multi_prompt | array | No | Information about each storyboard, such as prompts and duration. Define shot sequence number, corresponding prompt and duration via index, prompt, and duration parameters. - Supports up to 6 storyboards, minimum 1. - Max length per storyboard content: 512. - Each storyboard duration must not exceed total task duration and must be ≥ 1. - Sum of all storyboard durations must equal total task duration. When multi_shot is true and shot_type is customize, this parameter is required. Format: | |
image_list | array | No | Reference Image List, including element, scene, style reference images. - Including reference images of the element, scene, style, etc., it can also be used as the start or end frame to generate videos; When generating a video as the start or end frame: - Define whether the image is in the first and last frames using the type parameter: first_frame is the start frame, end_frame is the end frame.- Currently does not support only the end frame, which means that when there is a end frame image, there must be a first frame image. - If the image is not the start & end frame, do not configure the type parameter.- When generating a video using the first frame or the first and last frames, video editing functions cannot be used. Load with key:value, details as follows: Image Requirements: - Supports Base64 encoding or image URL (ensure accessibility) - Formats: .jpg / .jpeg / .png - File size: ≤10MB - Dimensions: min 300px, aspect ratio 1:2.5 ~ 2.5:1 - 参考图片数量与参考主体数量和参考主体类型有关,其中: - 无参考视频+仅有多图主体时,参考图片与多图主体数量之和不得超过7; Quantity Limits: - The number of reference images is related to the number and type of elements, where: - When there is no reference video and only multi-image elements, the sum of the number of reference images and multi-image elements must not exceed 7. - When there is no reference video but there is a video character element, the sum of the number of reference images and multi-image elements must not exceed 4. - When there is a reference video and only multi-image elements, the sum of the number of reference images and multi-image elements must not exceed 4. - When using the kling-video-o1 model, setting the start & end frame is not supported when there are more than two images in the array.- image_url parameter value must not be empty | |
image_url | string | Yes | Image URL or Base64 | |
type | string | No | Frame type: first_frame or end_frame Options: first_frame, end_frame | |
element_list | array | No | Reference Element List, based on element ID from element library. - Load with key:value format as follows: - The elements are categorized into video customization element (named as video character elements) and image customization elements (named as Multi-Image Elements), each with distinct scopes of application. Please exercise caution in distinguishing between them. - The number of reference elements is related to factors such as the type of elements, the presence or absence of reference videos, and the number of reference images, among which: - When generating videos using the start frame or the start & end frames, the kling-v3-omni model supports up to 3 elements.- When generating videos using the start & end frames, the kling-video-o1 model does not support elements.- When there is no reference video and only multi-image element, the sum of the number of reference images and multi-image element must not exceed 7. - When there is no reference video and only the video character element is present, the number of video character elements should not exceed 3. - When there is no reference video and both video character elements and multi-image elements are present, the number of video character elements must not exceed 3, and the sum of the number of reference images and multi-image elements must not exceed 4. - When there is a reference video and only multi-image element, the sum of the number of reference images and multi-image element must not exceed 4. - When there is a reference video and only the video character element, the number of video character elements must not exceed 1. - When there is a reference video, the use of video character element is not supported. For more detailed information on the subject, please refer to: Kling Element Library User Guide. The support range for different model versions and video modes varies. For details, see Capability Map | |
element_id | long | Yes | Element ID from element library | |
video_list | array | No | Reference Video, obtained via URL. Video Types: - Can be used as feature reference video OR base video for editing (default: base) - Use refer_type parameter: feature for feature reference, base for video to be edited- When reference video is base type, first/end frames cannot be defined - Use keep_original_sound to keep original sound: yes to keep, no to discard (also applies to feature type)When there is a reference video, the value of the sound parameter can only be off. - Load with key:value format as follows: Video Requirements: - Format: MP4/MOV only - Duration: ≥3 seconds, upper limit depends on model version (see Capability Map) - Resolution: 720px-2160px (width and height) - Frame rate: 24-60fps (output will be 24fps) - Max 1 video, size ≤200MB - video_url parameter value must not be emptyThe support range for different model versions and video modes varies. For details, see Capability Map | |
video_url | string | Yes | Video URL | |
refer_type | string | No | base | Reference type: feature (feature reference) or base (video to be edited) Options: feature, base- base - Transformation (Video Edit):Edit video content - add/remove/modify elements, change shot composition, angles, styles, colors, weather, etc. - feature - Video Reference:Reference video content to generate next/previous shot, or reference video style/camera movement. |
keep_original_sound | string | No | Keep original sound: yes to keep, no to discard Options: yes, no | |
sound | string | No | off | Whether to generate sound simultaneously when generating videos. Options: on, offThe support range for different model versions and video modes varies. For details, see Capability Map |
mode | string | No | pro | Video generation mode Options: std, pro, 4k- std: Standard Mode, basic mode, cost-effective. The output video resolution is 720P.- pro: Professional Mode, generates videos use longer duration but higher quality video output. The output video resolution is 1080P.- 4k: 4K Mode, generates videos use longer duration but higher quality video output. The output video resolution is 4K.The support range for different model versions and video modes varies. For details, see Capability Map |
aspect_ratio | string | No | Aspect ratio of generated video frame (width:height) Options: 16:9, 9:16, 1:1- This parameter is required when NOT using first-frame reference or video editing function. | |
duration | string | No | 5 | Video duration in seconds Options: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15- When using the video editing function ("refer_type": "base"), the output result is the same as the duration of the incoming video, and the current parameter is invalid. Calculate billing by rounding the input video duration to the nearest integer. The support range for different model versions and video modes varies. For details, see Capability Map |
watermark_info | object | No | Whether to generate watermarked results simultaneously - Defined by the enabled parameter, format: - true: generate watermarked result, false: do not generate - Custom watermarks are not currently supported | |
callback_url | string | No | Callback notification URL for task result. If configured, server will actively notify when task status changes. - For specific message schema, see Callback Protocol | |
external_task_id | string | No | Custom task ID defined by user. - Will not overwrite system-generated task ID, but supports querying task by this ID. - Must be unique within a single user account. | |
| Parameter Format Details |
multi_prompt
"multi_prompt":[
{ "index": int, "prompt": "string", "duration": "5" },
{ "index": int, "prompt": "string", "duration": "5" }
]
image_list
"image_list":[
{ "image_url": "image_url"},
{ "image_url": "image_url" }
]
element_list
"element_list":[
{ "element_id": long },
{ "element_id": long }
]
video_list
"video_list":[
{ "video_url": "video_url", "refer_type": "base", "keep_original_sound": "yes" }
]
watermark_info
"watermark_info": { "enabled": boolean }
curl --request POST \
--url https://platform.dataeyes.ai/kling/v1/videos/omni-video \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model_name": "kling-video-o1",
"prompt": "Make the person in <<<image_1>>> wave to the camera",
"image_list": [
{
"image_url": "https://p2-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/multi-1.png"
}
],
"duration": "5",
"mode": "pro",
"aspect_ratio": "16:9",
"callback_url": "",
"external_task_id": ""
}'
{
"code": 0, // Error codes; Specific definitions can be found in "Error Code"
"message": "string", // Error information
"request_id": "string", // Request ID, generated by the system, is used for tracking requests and troubleshooting
"data": {
"task_id": "string", // Task ID, generated by the system
"task_info": { //Task creation parameters
"external_task_id": "string" //User-defined task ID
},
"task_status": "string", // Task status, Enum values: submitted, processing, succeed, failed
"created_at": 1722769557708, // Task creation time, Unix timestamp, unit: ms
"updated_at": 1722769557708 //Task update time, Unix timestamp, unit: ms
}
}
GET https://platform.dataeyes.ai/kling/v1/videos/omni-video/{id}
Query the status and result of a single task by ID.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Content-Type | string | Yes | application/json | Data Exchange Format |
Authorization | string | Yes | Authentication information, refer to API authentication |
curl --request GET \
--url https://platform.dataeyes.ai/kling/v1/videos/omni-video/{task_id} \
--header 'Authorization: Bearer <token>'
{
"code": 0, // Error codes; Specific definitions can be found in "Error Code"
"message": "string", // Error information
"request_id": "string", // Request ID, generated by the system, is used for tracking requests and troubleshooting
"data": {
"task_id": "string", // Task ID, generated by the system
"task_status": "string", // Task status, Enum values: submitted, processing, succeed, failed
"task_status_msg": "string", // Task status message, displaying the failure reason when the task fails (such as triggering the content risk control of the platform, etc.)
"task_info": { //Task creation parameters
"external_task_id": "string" //User-defined task ID
},
"task_result": {
"videos": [
{
"id": "string", // Generated video ID; globally unique
"url": "string", // Generated video URL, anti-leech format (Please note that for security purposes, generated images/videos will be deleted after 30 days. Please save them promptly.)
"watermark_url": "string", // Watermarked video download URL, anti-leech format
"duration": "string" //Total video duration, unit: s (seconds)
}
]
},
"watermark_info": {
"enabled": boolean
},
"final_unit_deduction": "string", // Final unit deduction for the task
"created_at": 1722769557708, // Task creation time, Unix timestamp, unit: ms
"updated_at": 1722769557708 //Task update time, Unix timestamp, unit: ms
}
}
GET https://platform.dataeyes.ai/kling/v1/videos/omni-video
Query a list of tasks with pagination.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Content-Type | string | Yes | application/json | Data Exchange Format |
Authorization | string | Yes | Authentication information, refer to API authentication |
curl --request GET \
--url 'https://platform.dataeyes.ai/kling/v1/videos/omni-video?pageNum=1&pageSize=30' \
--header 'Authorization: Bearer <token>'
{
"code": 0, // Error codes; Specific definitions can be found in "Error Code"
"message": "string", // Error information
"request_id": "string", // Request ID, generated by the system, is used for tracking requests and troubleshooting
"data": [
{
"task_id": "string", // Task ID, generated by the system
"task_status": "string", // Task status, Enum values: submitted, processing, succeed, failed
"task_status_msg": "string", // Task status message, displaying the failure reason when the task fails (such as triggering the content risk control of the platform, etc.)
"task_info": { //Task creation parameters
"external_task_id": "string" //User-defined task ID, choose either task_id or external_task_id for querying
},
"task_result": {
"videos": [
{
"id": "string", // Generated video ID; globally unique
"url": "string", // Generated video URL, anti-leech format (Please note that for security purposes, generated images/videos will be deleted after 30 days. Please save them promptly.)
"watermark_url": "string", // Watermarked video download URL, anti-leech format
"duration": "string" //Total video duration, unit: s (seconds)
}
]
},
"watermark_info": {
"enabled": boolean
},
"final_unit_deduction": "string", // Final unit deduction for the task
"created_at": 1722769557708, // Task creation time, Unix timestamp, unit: ms
"updated_at": 1722769557708 //Task update time, Unix timestamp, unit: ms
}
]
}