The Kling 3.0 series models API is now fully available Learn More Get Started Overview Quick Start Changelog API Reference General Info Rate Limits Callback Schema Video Generation Models Video Omni Text to Video Image to Video Reference to Video Motion Control Multi-elements to video Extend Video Lip Sync Avatar Text to Audio Video to Audio Text to Speech Voice Clone Image Recognize Element Effects Effect Templates NEW Video Effects Image Generation Models Image Omni Image Generation Reference to Image Extend Image AI Multi-Shot Virtual Try-On Others Query user info Pricing Billing Info Prepaid Resource Packs Protocols Privacy Policy of API Service Terms of API Service API Service Level Agreement Omni-Video Create Task POST /v1/videos/omni-video cURL Copy Collapse curl --request POST \ --url https://api-singapore.klingai.com/v1/videos/omni-video \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "Make the person in <<>> 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": "" }' 200 Copy Collapse { "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 } } The Omni model can achieve various capabilities through Prompt with elements, images, videos, and other content. Request Header Content-Type string Required Default to application/json Data Exchange Format Authorization string Required Authentication information, refer to API authentication Request Body model_name string Optional Default to kling-video-o1 Model Name Enum values: kling-video-o1 kling-v3-omni multi_shot boolean Optional Default to false Whether to generate multi-shot video. When true: the prompt parameter is invalid, and it does not support setting the start & end frames to generate videos When false: the shot_type and multi_prompt parameters are invalid. shot_type string Optional Storyboard method. Enum values: customize intelligence When multi_shot is true, this parameter is required. prompt string Optional 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.: <<>>, <<>>, <<>> 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 Optional 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: "multi_prompt":[ { "index": int, "prompt": "string", "duration": "5" }, { "index": int, "prompt": "string", "duration": "5" } ] image_list array Optional 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_list":[ { "image_url": "image_url"}, { "image_url": "image_url" } ] 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 Quantity Limits: When there are reference video, the sum of the amount of reference image and the amount of reference element shall not exceed 4. When there is no reference video, the sum of the amount of reference image and the amount of reference element shall not exceed 7. When using the 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 ▾ Hide child attributes image_url string Required Image URL or Base64 type string Optional Frame type: first_frame or end_frame Enum values: first_frame end_frame element_list array Optional Reference Element List, based on element ID from element library. When generating a video using the first frame, a maximum of 3 elements are supported. When generating videos using the start & end frames, the kling-v3-omni model supports up to 3 elements, while the kling-video-o1 model does not support 1 element. When there is a reference video, the sum of the number of reference images and the number of reference subjects must not exceed 4, and the use of video subjects is not supported. When there is no reference video, the sum of the number of reference images and the number of reference subjects must not exceed 7. Elements are categorized into video character elements and Multi-Image Elements, with different scopes. See Kling Element Library User Guide. Load with key:value format as follows: "element_list":[ { "element_id": long }, { "element_id": long } ] The support range for different model versions and video modes varies. For details, see Capability Map ▾ Hide child attributes element_id long Required Element ID from element library video_list array Optional 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_list":[ { "video_url": "video_url", "refer_type": "base", "keep_original_sound": "yes" } ] 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 empty The support range for different model versions and video modes varies. For details, see Capability Map ▾ Hide child attributes video_url string Required Video URL refer_type string Optional Default to base Reference type: feature (feature reference) or base (video to be edited) Enum values: 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 Optional Keep original sound: yes to keep, no to discard Enum values: yes no sound string Optional Default to off Whether to generate sound simultaneously when generating videos. Enum values: on off The support range for different model versions and video modes varies. For details, see Capability Map mode string Optional Default to pro Video generation mode Enum values: std pro std: Standard mode, cost-effective pro: Professional mode (high quality), better video quality output The support range for different model versions and video modes varies. For details, see Capability Map aspect_ratio string Optional Aspect ratio of generated video frame (width:height) Enum values: 16:9 9:16 1:1 This parameter is required when NOT using first-frame reference or video editing function. duration string Optional Default to 5 Video duration in seconds Enum values: 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 Optional Whether to generate watermarked results simultaneously Defined by the enabled parameter, format: "watermark_info": { "enabled": boolean } true: generate watermarked result, false: do not generate Custom watermarks are not currently supported callback_url string Optional 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 Optional 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. Scenario invocation examples The following is an example of scene code. For more effects and prompt words, please refer to: Kling Omni Model Example Image/Element Reference Image/Element Reference:Supports reference images/elements, including characters, items, backgrounds, and more, to generate with more creativity and consistency. cURL Copy Collapse curl --location 'https://api-singapore.klingai.com/v1/videos/omni-video' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "<<>> strolling through the streets of Tokyo, encountered <<>> and <<>>, and jumped into the arms of <<>>. The video style matches that of <<>>", "image_list": [ { "image_url": "xxxxx" }, { "image_url": "xxxxx" } ], "element_list": [ { "element_id": long }, { "element_id": long } ], "mode": "pro", "aspect_ratio": "1:1", "duration": "7" }' Transformation Input-based Modification: Supports Inpainting/outpainting, or changing shot compositions or angles. It also supports localized or full-scale adjustments, such as modifying/swapping subjects, backgrounds, partial areas, styles, colors, weather, and more. cURL Copy Collapse curl --location 'https://api-singapore.klingai.com/v1/videos/omni-video' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "Put the crown from <<>> on the girl in blue from <<>>.", "image_list": [ { "image_url": "xxx" } ], "video_list": [ { "video_url":"xxxxxxxx", "refer_type":"base", "keep_original_sound":"yes" } ], "mode": "pro" }' Video Reference Video Reference: Supports using reference video content to generate previous or next shots within the same context or set. It can also reference video actions or camera movements for generation. cURL Copy Collapse curl --location 'https://api-singapore.klingai.com/v1/videos/omni-video' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "Referring to the camera movement style in <<>>, generate a video: <<>> and <<>> strolling through the streets of Tokyo, encountering <<>> by chance.", "image_list": [ { "image_url": "xxx" } ], "element_list": [ { "element_id": long }, { "element_id": long } ], "video_list": [ { "video_url":"xxxxxxxx", "refer_type":"feature", "keep_original_sound":"yes" } ], "mode": "pro", "aspect_ratio": "1:1", "duration": "7" }' cURL Copy Collapse curl --location 'https://api-singapore.klingai.com/v1/videos/omni-video' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "Based on <<>>, generate the next shot.", "video_list": [ { "video_url":"xxxxxxxx", "refer_type":"feature", "keep_original_sound":"yes" } ], "mode": "pro" }' Start & End Frames cURL Copy Collapse curl --location 'https://api-singapore.klingai.com/v1/videos/omni-video' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "The person in the video is dancing.", "image_list": [ { "image_url": "xxx", "type": "first_frame" }, { "image_url": "xxx", "type": "end_frame" } ], "mode": "pro" }' Text To Video cURL Copy Collapse curl --location 'https://api-singapore.klingai.com/v1/videos/omni-video' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "The person in the video is dancing.", "mode": "pro", "aspect_ratio": "1:1", "duration": "7" }' Single shot and multiple shot Image To Video with Multiple Shot curl --location 'https://xxx/v1/videos/omni-video/' \ --header 'Authorization: Bearer xxx' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-v3-omni", "multi_shot": true, "shot_type": "customize", "prompt": "", "multi_prompt": [ { "index": 1, "prompt": "In the early morning café, sunlight streams through the glass windows, casting its warmth on the wooden tabletop. Coffee cups exhale hot steam, while the background is filled with the indistinct chatter of customers. The camera gradually zooms in, focusing on a young couple <<>> (male: 25 years old, with curly hair and wearing a light blue shirt; female: 23 years old, with a ponytail and wearing thin-framed glasses) seated across the table. Their fingers unconsciously touch the same poetry anthology.", "duration": "2" }, { "index": 2, "prompt": "The girl was flipping through the pages of a book with her head down, while the boy <<>> suddenly looked up. Their gazes met, causing the girl's cheeks to blush slightly and the boy's mouth to curve upwards. The camera panned through the two of them, capturing the retro clock hanging on the wall behind them (with the hands pointing to 9:15).", "duration": "3" } ], "image_list": [ { "image_url": "xx" } , { "image_url": "xxx" } ], "video_list": [], "mode": "pro", "sound": "on", "aspect_ratio": "16:9", "duration": "5", "callback_url": "xx", "external_task_id": "" }' Text To Video with Multiple Shot curl --location 'https://xxx/v1/videos/omni-video/' \ --header 'Authorization: Bearer xxx' \ --header 'Content-Type: application/json; charset=utf-8' \ --data '{ "model_name": "kling-v3-omni", "multi_shot": true, "shot_type": "customize", "prompt": "", "multi_prompt": [ { "index": 1, "prompt": "Two friends talking under a streetlight at night. Warm glow, casual poses, no dialogue.", "duration": "2" }, { "index": 2, "prompt": "A runner sprinting through a forest, leaves flying. Low-angle shot, focus on movement.", "duration": "3" }, { "index": 3, "prompt": "A woman hugging a cat, smiling. Soft sunlight, cozy home setting, emphasize warmth.", "duration": "3" }, { "index": 4, "prompt": "A door creaking open, shadowy hallway. Dark tones, minimal details, eerie mood.", "duration": "3" }, { "index": 5, "prompt": "A man slipping on a banana peel, shocked expression. Exaggerated pose, bright colors.", "duration": "3" }, { "index": 6, "prompt": "A sunset over mountains, small figure walking away. Wide angle, peaceful atmosphere.", "duration": "1" } ], "image_list": [], "sound":"on", "element_list": [], "video_list": [], "mode": "pro", "aspect_ratio": "16:9", "duration": "15", "callback_url": "xxx", "external_task_id": "" }' Text To Video with Single Shot curl --location 'https://api-singapore.klingai.com/v1/videos/omni-video' \ --header 'Authorization: Bearer xxx' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "The person in the video is dancing.", "mode": "pro", "aspect_ratio": "1:1", "duration": "7" }' FAQ 1、 Video Duration Support Text-to-video and image-to-video (NOT including first/last frame): Optional duration of 3~10s. When video input is provided (video_list is not empty) and video editing functionality (type = base) is used: Duration cannot be specified and will align with the input video. Other cases (when no video is provided but an image + subject is used for video generation, or when a video is provided with video type = feature): Optional duration of 3-10s. 2、 How to Extend a Video? This can be achieved via “video reference”. By inputting a video and using a prompt to direct the model to “generate the next shot” or “generate the previous shot”. cURL Copy Collapse curl --location 'https://api-singapore.klingai.com/v1/videos/omni-video' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "model_name": "kling-video-o1", "prompt": "Based on <<>>, generate the next shot.", "video_list": [ { "video_url":"xxxxxxxx", "refer_type":"feature", "keep_original_sound":"yes" } ], "mode": "pro" }' 3、 Aspect Ratio Support Not Supported: Instruction-based transformation (video editing), image-to-video (not including first/last frame). Supported: Text-to-video, image/subject reference, video reference (other scenarios), video reference (generating next/previous shot). Query Task (Single) GET /v1/videos/omni-video/{id} cURL Copy Collapse curl --request GET \ --url https://api-singapore.klingai.com/v1/videos/omni-video/{task_id} \ --header 'Authorization: Bearer ' 200 Copy Collapse { "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 } } Query the status and result of a single task by ID. Request Header Content-Type string Required Default to application/json Data Exchange Format Authorization string Required Authentication information, refer to API authentication Path Parameters task_id string Optional Task ID for video generation task. Request path parameter, fill the value directly in the request path. Choose either task_id OR external_task_id for querying. external_task_id string Optional Custom Task ID for video generation task. The external_task_id provided when creating the task. Choose either task_id OR external_task_id for querying. Query Task (List) GET /v1/videos/omni-video cURL Copy Collapse curl --request GET \ --url 'https://api-singapore.klingai.com/v1/videos/omni-video?pageNum=1&pageSize=30' \ --header 'Authorization: Bearer ' 200 Copy Collapse { "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 } ] } Query a list of tasks with pagination. Request Header Content-Type string Required Default to application/json Data Exchange Format Authorization string Required Authentication information, refer to API authentication Query Parameters pageNum int Optional Default to 1 Page number Value range: [1, 1000] pageSize int Optional Default to 30 Data volume per page Value range: [1, 500] Previous chapter:Models Next chapter:Text to Video Create Task Scenario invocation examples FAQ Query Task (Single) Query Task (List) The Kling 3.0 Series Models API is Now Fully Available – All in One, One for All! Models Available in This Release Kling 3.0 Motion Control, Kling Video 3.0, Kling Video 3.0 Omni, Kling Image 3.0, Kling Image 3.0 Omni Refer to Key Highlights of the Models 3.0 All-in-One: A unified model for multi-modal input and output. Most powerful consistency across the universe: Subject consistency (supports cameo, subject with voice control, i2v + subject) and text consistency. Narrative control at your fingertips: More freedom, precision, and control—up to 15 seconds long, video scene cuts, ultra-high-definition storyboards/images, custom seconds. Upgraded native audio-visual output: Supports multiple speakers and languages (with accents). Kling 3.0 Motion Control Consistent Facial Identity from any angle Complex Emotions faithfully reproduced High fidelity Restoration, Even with Face Occlusions Consistent Facial Clarity Across Dynamic Framing User Guide -> Kling Video 3.0 Compared to 2.6, expected improvements: Supports subject upload in I2V scenarios for enhanced consistency Significant improvement in multi-character referencing, especially for three-person scenarios Supports Japanese, Korean, and Spanish in addition to Chinese and English Capable of generating certain dialects and accents Better distinction and control over different types of audio (speech, sound effects, BGM) Improved text retention in I2V scenarios Supports scene transitions, with up to 6 shots and customizable storyboarding User Guide -> Kling Video 3.0 Omni Compared to O1, expected improvements: Native audio-visual synchronization Supports video subject creation Further improved consistency in reference-based tasks, especially for characters and products Combined capabilities of reference + storyboarding + audio-visual sync significantly enhance usability Supports scene transitions, with up to 6 shots Extended generation duration up to 15 seconds User Guide -> Kling Image 3.0 Highly consistent feature retention Precise response to detail modifications Accurate control over style and tone Rich imaginative capabilities User Guide -> Kling Image 3.0 Omni Enhanced narrative sense New storyboard image set generation, retaining reference image features with scene relevance Direct output of 2K/4K ultra-high-definition images Further improved detail consistency User Guide -> Thank you for your support and understanding! I Got It