task_type: "video_generation": text-to-video, or image-to-video when image_url is set. Choose the model with version; when version is omitted, 2.6 is used. The same endpoint also creates lip_sync and effects tasks (see the end of this page).| Version | Output | Duration (seconds) | Notes |
|---|---|---|---|
4.0 | 720p / 1080p | 3 – 30 | latest model; first/last frame and keyframes |
4.0-flash | 720p | 3 – 20 | faster, lower-cost 4.0; text or a first image |
3.0 | 720p / 1080p | 3 – 15 | multi-shots and optional native audio |
3.0-turbo | 720p / 1080p | 3 – 15 | faster 3.0; no audio, no multi-shots |
2.6 (default) | std / pro | 5 or 10 | native audio in pro mode |
2.5 | std / pro | 5 or 10 | |
2.1-master | pro | 5 or 10 | always runs and is billed as pro |
2.1 | std / pro | 5 or 10 | image-to-video only |
1.6 | std / pro | 5 or 10 | |
1.5 | std / pro | 5 or 10 |
| Version | 720p (mode: "std") | 1080p (mode: "pro") |
|---|---|---|
| 4.0 | 0.1667 | 0.25 |
| 4.0-flash | 0.10 | N/A |
| 3.0, no audio | 0.10 | 0.15 |
| 3.0, with audio | 0.15 | 0.20 |
| 3.0-turbo | 0.13 | 0.19 |
| Version | Mode | 5s | 10s |
|---|---|---|---|
| 1.5 / 1.6 / 2.1 | std | $0.26 | $0.52 |
| 1.5 / 1.6 / 2.1 | pro | $0.46 | $0.92 |
| 2.1-master | pro | $0.96 | $1.92 |
| 2.5 / 2.6 | std | $0.20 | $0.39 |
| 2.5 / 2.6 | pro | $0.33 | $0.66 |
enable_audio: true) needs mode: "pro" and costs 2× the pro priceenable_audio on versions below 2.6 is currently free and also needs mode: "pro"| 4.0 | 4.0-flash | 3.0 | 3.0-turbo | 2.6 and earlier | |
|---|---|---|---|---|---|
| Duration (seconds) | 3 – 30 | 3 – 20 | 3 – 15 | 3 – 15 | 5 or 10 |
1080p / pro (mode: "pro") | ✓ | – | ✓ | ✓ | ✓ |
First frame image_url | ✓ | ✓ | ✓ | ✓ | ✓ |
Last frame image_tail_url | ✓ | – | ✓ | ✓ | pro mode only |
keyframe_urls | ✓ | – | – | – | – |
aspect_ratio: "21:9" | ✓ | ✓ | – | – | – |
enable_audio | – | – | ✓ | – | pro mode only |
multi_shots / prefer_multi_shots | – | – | ✓ | – | – |
negative_prompt | – | – | ✓ | ✓ | ✓ |
| Cancel task | – | – | ✓ | ✓ | ✓ |
prompt (up to 2,500 characters) and duration (integer, not clamped or defaulted) are required, including for image-to-videoenable_audio (even false), negative_prompt, multi-shot fields and other unlisted fields are rejected with error.code: 10003config.service_mode: "public"duration outside 3 – 15 is clamped into that range; when omitted, 3 seconds is used (and billed). Send duration explicitlymulti_shots: the top-level prompt and duration are ignored, and the task duration (and price) is the sum of the shots. Each shot needs a prompt and 1 – 14 seconds (3 when omitted); at most 6 shots and 15 seconds in total. Otherwise the request is rejected with error.code: 10003enable_audio: true combined with version: "3.0-turbo" is rejected with a validation errorduration other than 5 or 10 becomes 5; aspect_ratio other than 16:9, 9:16 or 1:1 becomes 16:9image_urloutput.video is the video URL for every version (an empty string until the task completes). New integrations should read only this field.output.videolip_sync and effects also return the legacy fields video_url, type, status and works, kept for existing integrationsconfig.webhook_config; both carry the same output.lip_sync: set origin_task_id to a completed Kling video task and local_dubbing_url (required). Text-to-speech via tts_text is currently not available. See Lipsync exampleseffects: set effect. See Kling Effects