Skip to main content
POST
/
kling
/
v1
/
videos
/
omni-video
cURL
curl https://api.cometapi.com/kling/v1/videos/omni-video \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "model_name": "kling-v3-omni",
      "prompt": "A paper boat drifts across a calm pond at sunrise",
      "mode": "pro",
      "aspect_ratio": "16:9",
      "duration": "5",
      "sound": "off"
    }'
{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "task_id": "<task_id>",
    "task_status": "submitted",
    "task_info": {
      "external_task_id": null
    },
    "task_status_msg": null,
    "created_at": 1773366840306,
    "updated_at": 1773366840306
  }
}
Use this endpoint for the O1-compatible Kling Omni workflow exposed by CometAPI, including plain text-to-video, image-referenced generation, and video transformation flows.
For the complete provider parameter reference, see the Kling Omni Video documentation.

Choose the input mode

  • Text-to-video: send prompt, mode, aspect_ratio, and duration
  • Image-referenced generation: add image_list items with image_url and type such as first_frame
  • Element-guided generation: add element_list items with element_id
  • Video transformation: add video_list items with video_url, refer_type, and optional keep_original_sound set to yes or no
  • Multi-shot generation: set multi_shot: true, choose shot_type, and send either prompt or multi_prompt
  • Keep model_name as kling-video-o1 or kling-v3-omni, or omit it to use the route default

Duration and aspect ratio

SettingSupported valuesDefaultBoundary behavior
duration for text or first-frame video"5", "10""5"Send the value as a string and use one of the two fixed generation lengths.
duration with reference video inputinput video length from 3 to 10 secondsinput lengthThe generated duration follows the base video and ignores the request value.
aspect_ratio16:9, 9:16, 1:116:9Required when no first-frame image or base video controls the frame.
modestd, propropro is the default for Omni Video.
Kling Omni does not expose an exact size field. Treat aspect_ratio as a frame-shape request; a 16:9 text-to-video request can render as full-HD 1920x1080.

Task flow

1

Create the Omni task

Submit the request and store the returned task_id.
2

Poll the Omni task

Continue with Get a Kling Omni video 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
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
enum<string>
default:kling-video-o1

Omni Video model. Omit to use kling-video-o1.

Available options:
kling-video-o1,
kling-v3-omni
multi_shot
boolean
default:false

Whether to generate a multi-shot video. When true, use shot_type and either prompt or multi_prompt according to the selected storyboard method.

shot_type
enum<string>

Storyboard method for multi-shot generation. Required when multi_shot is true.

Available options:
customize,
intelligence
multi_prompt
object[]

Storyboard prompts for multi_shot: true with shot_type: customize. Supports 1 to 6 storyboard items; item durations should add up to the requested total duration.

Required array length: 1 - 6 elements
image_list
object[]

Optional image references for image-referenced Omni generation.

element_list
object[]

Optional element references for element-guided Omni generation.

video_list
object[]

Optional video references for video transformation workflows.

sound
enum<string>
default:off

Whether to generate audio with the video. Use on or off; when video_list is present, use off.

Available options:
on,
off
mode
enum<string>
default:pro

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

Available options:
std,
pro
aspect_ratio
enum<string>

Aspect ratio request for beta Kling Omni generation. The endpoint does not expose an exact size field; a 16:9 text-to-video request can render as 1920x1080.

Available options:
16:9,
9:16,
1:1
duration
enum<string>
default:5

Requested output length. Use 5 or 10 as a string for text, image, and first-frame workflows; base-video workflows follow the source video length.

Available options:
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15
watermark_info
object

Watermark options. When enabled is true, the task can return watermarked result URLs in addition to original result URLs.

callback_url
string<uri>

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

code
integer
required

Response code. 0 means the task request was accepted.

message
string
required

Response message.

data
object
required
request_id
string

Request identifier returned by CometAPI when present.