Skip to main content
POST
/
kling
/
v1
/
videos
/
omni-video
curl --request POST \
  --url https://api.cometapi.com/kling/v1/videos/omni-video \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "prompt": "The boy in <<<image_1>>> is wearing <<<element_1>>> and, together with the girl in <<<image_2>>>, sits side by side in <<<element_2>>>, playfully and intimately chatting, close-up shot."
}
'
{}

Documentation Index

Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt

Use this file to discover all available pages before exploring further.

Use this endpoint for Kling Omni workflows, including plain text-to-video, image-referenced generation, and video transformation flows.

Choose the input mode

  • Text-to-video: send prompt, mode, aspect_ratio, and duration
  • Image-referenced generation: add image_list
  • Element-guided generation: add element_list
  • Video transformation: add video_list with refer_type: base

Task flow

1

Create the Omni task

Submit the request and store the returned task_id.
2

Poll the Omni task

Continue with Omni Query until the task finishes.
3

Persist the finished video

Move the returned MP4 URL into your own storage if you need durable access.

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your CometAPI key.

Headers

Content-Type
string

Content type of the request body.

Body

application/json
prompt
string
default:Hello
required

Text prompt describing the desired video. Max 2500 characters. Reference images or elements inline using <<<image_1>>>, <<<element_1>>>, <<<video_1>>> syntax.

model_name
string

Model to use. Currently only kling-video-o1 is supported.

image_list
object[]

Reference images for the generation. Each entry can optionally include a type field set to first_frame or end_frame to pin the image as the video's start or end frame. Accepts URLs or Base64 strings. Formats: JPG, JPEG, PNG. Max 10 MB per image, minimum 300 px per side, aspect ratio 1:2.5–2.5:1. When used with reference videos, image + element count must not exceed 4; without reference videos, the limit is 7.

element_list
object[]

Pre-registered element references by ID. Combined with images, the total count must not exceed 4 (with reference video) or 7 (without).

mode
string

Generation mode. std (standard, faster and more cost-effective) or pro (professional, higher quality output).

aspect_ratio
string

Output video aspect ratio (width:height). Values: 16:9, 9:16, 1:1. Required when not using a first-frame reference image or video editing.

duration
string

Video length in seconds. Values: 3–10. Text-to-video and first-frame-to-video only support 5 and 10. When editing an existing video, duration matches the input and this parameter is ignored.

video_list
string[]

Reference video for style transfer or the base video to edit. Use refer_type to distinguish: feature for style reference, base for the video to modify. Set keep_original_sound to yes or no to control audio retention. Only MP4/MOV, 3–10 seconds, 720–2160 px, 24–60 fps, max 200 MB. Only one video is accepted.

callback_url
string

Webhook URL for task status notifications. The server sends a callback when the task status changes.

external_task_id
string

Optional user-defined task ID for your own tracking. Does not replace the system-generated task ID. Must be unique per account.

Response

200 - application/json

Success

The response is of type object.