Kling AI Commands & Prompt Reference
Request fields, model endpoints and task queries of Kling AI’s path-versioned video API for Kling 3.0, 3.0 Omni, 3.0 Turbo, O1, 2.6 and 2.5 Turbo, checked on 2026-10-10 against the Kling API docs (update log to 2026-09-15). The model is part of the path, inputs travel as typed items in contents (text-to-video takes a plain prompt), and output choices sit in settings. The legacy model_name API, image, effects, lip sync and avatar endpoints are left out.
All Commands
Models and endpoints (16)
| Command / Syntax | What it does | Notes |
|---|---|---|
| POST /text-to-video/kling-3.0 | Kling 3.0 text to video | Takes a top-level prompt string rather than a contents array; clips run 3 to 15 seconds at up to 4K. |
| POST /image-to-video/kling-3.0 | Kling 3.0 image to video | Animates a first frame, optionally toward a last frame, with up to three Elements and output up to 4K. |
| POST /omni-video/kling-3.0-omni | Kling 3.0 Omni generation | Mixes a prompt, reference images, one feature or base video and Elements in a single request. |
| POST /motion-control/kling-3.0 | Motion Control 3.0 | Moves the character from an image the way the person in a reference video moves; one Element at most. |
| POST /text-to-video/kling-3.0-turbo | Kling 3.0 Turbo text to video | Limited to 720p or 1080p, and its request carries no audio or multi_shot setting. |
| POST /image-to-video/kling-3.0-turbo | Kling 3.0 Turbo image to video | Accepts only a prompt and a first frame, so last frames and Elements are not available here. |
| POST /omni-video/kling-o1 | Kling O1 generation | Same input types as 3.0 Omni, but clips last 3 to 10 seconds at up to 1080p, with audio original or off. |
| POST /text-to-video/kling-2.6 | Kling 2.6 text to video | Clips are 5 or 10 seconds long; native audio is available, 4K is not. |
| POST /image-to-video/kling-2.6 | Kling 2.6 image to video | Besides first and last frames it accepts voice items, at most two per task. |
| POST /motion-control/kling-2.6 | Motion Control 2.6 | Earlier Motion Control model: its contents take prompt, image and video items but no Element. |
| POST /text-to-video/kling-2.5-turbo | Kling 2.5 Turbo text to video | Produces 5 or 10 second clips; the settings object has no audio field. |
| POST /image-to-video/kling-2.5-turbo | Kling 2.5 Turbo image to video | Supports first and last frames, with 5 or 10 second output and no audio option. |
| GET /tasks | Look up tasks by ID | Shared by every model endpoint above; put task_ids or external_task_ids in the query string. |
| POST /tasks | List tasks with filters | Pages through recent async jobs by time window, status or product type, up to 500 per call. |
| Authorization: Bearer <API_KEY> | Bearer API key header | The path-versioned API accepts only API keys; Access Key and Secret Key JWTs belong to the legacy API. |
| https://api-singapore.klingai.com | API base domain | Replaces the former api.klingai.com host and is meant for servers located outside China. |
Generation inputs (18)
| Command / Syntax | What it does | Notes |
|---|---|---|
| contents | Typed input list | Required on image, Omni and Motion Control requests; each item states what it is in its type field. |
| prompt | Text-to-video prompt | Top-level string on text-to-video endpoints, capped at 3072 characters with 2500 or fewer advised. |
| "type": "prompt" | Prompt content item | Carries the prompt inside contents on image, Omni and Motion Control requests, through its text field. |
| text | Prompt text field | May mix wanted and unwanted content; 3072 characters on 3.0 image and Omni requests, 2500 on Motion Control. |
| "type": "first_frame" | First frame image | Required for image-to-video: a JPG or PNG of up to 50MB, at least 300px on each side. |
| "type": "last_frame" | Last frame image | Optional end image that only works together with a first frame, never on its own. |
| "type": "element" | Element content item | References a stored Element through element_id; 3.0 image-to-video accepts up to three. |
| element_id | Saved Element ID | Issued by the system and read from the Element management API, never chosen by the caller. |
| id | Input index ID | Caller-chosen label for one item, unique within the task, so the prompt can name it. |
| url | Image or video location | Image items take a link or Base64 data; on Omni, video items take links only. |
| "type": "refer_image" | Reference image item | Omni endpoints only, for scene or style; up to 7 images and multi-image Elements combined when no reference video is used. |
| "type": "feature_video" | Feature reference video | On 3.0 Omni, an MP4 or MOV of 3 to 15.5 seconds up to 200MB; audio must stay off with it. |
| "type": "base_video" | Video to edit | Footage for Omni to modify; frames, multi-shot output and native audio cannot be combined with it. |
| "type": "image" | Appearance reference image | Motion Control picture of the character; its framing should match the motion clip, not half body against full body. |
| "type": "video" | Motion reference video | One continuous take of at least 3 seconds whose largest visible person supplies the movement. |
| "type": "voice" | Voice content item | Accepted by Kling 2.6 image-to-video; up to two voices, named in the prompt with @, and audio cannot be off. |
| shot n, m, words; | Multi-shot prompt format | Up to six shots, each at least 1 second with 512 characters at most; their lengths must add up to the clip. |
| @xxx | Mention an input by name | On Omni this cites an image, Element or video such as @image_1; avoid names that contain one another. |
Output settings (7)
| Command / Syntax | What it does | Notes |
|---|---|---|
| settings | Output settings object | Groups resolution, length, frame shape and sound; on Motion Control it also holds the required orientation. |
| settings.multi_shot | Multi-shot output switch | On by default for Kling 3.0 and 3.0 Omni; turned off, shot-formatted prompts give no separate shots. |
| settings.audio | Audio generation mode | Off by default except on Motion Control; native adds matching sound, original keeps a reference video soundtrack. |
| settings.resolution | Output resolution | Defaults to 720p; only Kling 3.0 and 3.0 Omni generation offer 4k, the rest stop at 1080p. |
| settings.duration | Clip length in seconds | 3 to 15 on the 3.0 models, 3 to 10 on O1, and only 5 or 10 on 2.6 and 2.5 Turbo. |
| settings.aspect_ratio | Frame aspect ratio | 16:9 unless set to 9:16 or 1:1; Omni needs it when neither a first frame nor a reference video is given. |
| settings.character_orientation | Character facing source | Required on Motion Control: image allows motion clips up to 10 seconds, video up to 30. |
Task options and queries (13)
| Command / Syntax | What it does | Notes |
|---|---|---|
| options | General options object | Sits beside contents and settings and holds the callback, custom ID and watermark fields. |
| options.callback_url | Status callback URL | Kling posts the task status, outputs and custom ID to this address each time the status changes. |
| options.external_task_id | Your own task ID | Must be unique in the account; it is stored beside the system task ID and can be queried instead of it. |
| options.watermark_info | Watermarked copy switch | Set enabled to true to also receive a watermark_url; custom watermark designs are not supported. |
| task_ids | Query by system task ID | Goes in the query string of GET /tasks; separate several IDs with commas to fetch a batch. |
| external_task_ids | Query by custom task ID | Alternative to task_ids that also takes a comma-separated batch; one request uses only one of the two. |
| start_time | Window start time | Unix time in milliseconds; when omitted, the window opens 30 days before end_time. |
| end_time | Window end time | Unix time in milliseconds that defaults to the moment of the request and must follow start_time. |
| cursor | Page continuation cursor | Pass the next_cursor from the previous reply; once it is set, the time window is ignored. |
| limit | Tasks per page | Returns 100 tasks unless set otherwise, and accepts no more than 500. |
| filters | Task filter list | Each entry pairs a key, status or product_type, with a values array to match. |
| "key": "status" | Filter by task status | Matching values are submitted, processing, succeeded and failed. |
| "key": "product_type" | Filter by job type | Matching values are video, image and try_on, so one call can also cover image and try-on jobs. |
Frequently Asked Questions
Where does the prompt go in a Kling API request?
On text-to-video endpoints it is the top-level prompt field. On image, Omni and Motion Control endpoints add an item with "type": "prompt" and a text field to the contents array.
How do I get sound in a generated Kling video?
Set settings.audio to native for sound generated with the picture, or to original on Omni, O1 and Motion Control to keep a reference video’s own soundtrack. It is off by default (original on Motion Control), and the 3.0 Turbo and 2.5 Turbo requests have no audio field.
How do I check on a Kling generation task?
Call GET /tasks with task_ids or external_task_ids (one of the two, comma-separated for a batch), or POST /tasks with a time window, filters and a cursor to page through up to 500 tasks at a time. A URL in options.callback_url receives each status change instead.
Which Kling models can output 4K?
Kling 3.0 and 3.0 Omni accept 4k in settings.resolution for text-to-video, image-to-video and Omni requests. Motion Control 3.0, 3.0 Turbo, O1, 2.6 and 2.5 Turbo stop at 1080p.
Prompting Kling
Text-to-video endpoints take a plain prompt string; image, Omni and Motion Control endpoints carry the same text in a "type": "prompt" item inside contents. One text may describe both what to show and what to avoid; the limit is 3072 characters on Kling 3.0 and 3.0 Omni requests and 2500 on Motion Control.
For a multi-shot clip on Kling 3.0 or 3.0 Omni, write shot n, m, words; segments (up to six) whose lengths add up to settings.duration, and leave settings.multi_shot on.
Frames, references and Elements
A first frame alone, or a first plus a last frame, is accepted; a last frame alone is not. Frame and reference images can be JPG or PNG, up to 50MB, at least 300px on each side, with an aspect ratio between 1:2.5 and 2.5:1. On Omni, give each image, video or Element an id and cite it in the prompt with @xxx; Kling advises against Element names that contain one another or that also appear elsewhere in the prompt. Result files are removed after 30 days, so save them promptly.
New and legacy API
Kling runs two API designs side by side. In the newer one, documented here, the model is part of the path (POST /image-to-video/kling-3.0), requests carry Authorization: Bearer <API_KEY>, and GET /tasks or POST /tasks checks any job. The legacy design names the model in a model_name field and signs requests with an Access Key / Secret Key JWT; Kling has announced no plan to retire it.
Sources and checks
- Kling API docs: Kling 3.0 & 3.0 Omni, Image to Video Kling 3.0 image-to-video request, content items, options and the shared /tasks queries
- Kling API docs: Kling 3.0 & 3.0 Omni, Text to Video Kling 3.0 text-to-video endpoint, prompt field and multi-shot prompt format
- Kling API docs: Kling 3.0 Omni, Omni Video Generation Omni endpoint, reference image and video items, @ mentions and settings
- Kling API docs: Kling 3.0, Motion Control Motion Control 3.0 endpoint, image and video items, character orientation
- Kling API docs: Kling 3.0 Turbo, Text to Video Kling 3.0 Turbo text-to-video endpoint and settings
- Kling API docs: Kling 3.0 Turbo, Image to Video Kling 3.0 Turbo image-to-video endpoint and content types
- Kling API docs: Kling 2.6, Text to Video Kling 2.6 text-to-video endpoint and settings
- Kling API docs: Kling 2.6, Image to Video Kling 2.6 image-to-video endpoint and voice items
- Kling API docs: Kling 2.5 Turbo, Text to Video Kling 2.5 Turbo text-to-video endpoint and settings
- Kling API docs: Kling 2.5 Turbo, Image to Video Kling 2.5 Turbo image-to-video endpoint and settings
- Kling API docs: Kling 2.6, Motion Control Motion Control 2.6 endpoint and content types
- Kling API docs: Kling O1, Video Generation Kling O1 endpoint and settings
- Kling API docs: Authentication API domain, API key and legacy Access Key / Secret Key authentication
Every row on this page was matched to a line in the documentation above on . A command or parameter that could not be found there is not listed.
AI tools change their commands, parameters and model names between releases: the vendor's current documentation and the version you run have the last word. Found a wrong or missing entry? Tell us and it gets checked against the source. How we verify describes the process and its limits.
Related prompt references
Vidu (49) · MiniMax (Hailuo) (72) · Midjourney (46) · All AI prompt references