Skip to main content

Endpoint

Returns HTTP 202 immediately. Poll GET /v1/videos/{id} for the result.

Request

string
required
Bearer <your-token>
string
required
application/json
string
Any unique string. Reusing the same key returns the existing job instead of creating a new one. See Idempotency.

Body

string
required
Model ID from GET /v1/models.
string
required
Text description of the video to generate. Max 4000 characters.
string
Elements to avoid in the output. Max 4000 characters.
string
default:"16:9"
Output aspect ratio. Common values: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9. Seedance also supports adaptive.
Veo 3.1 models ignore this field — output is always 16:9. Omni honors 16:9/9:16 correctly.
number
default:"5"
Clip length in seconds. Range depends on the model:
  • Kling v3.0, Kling Video O3 — 3 or 15 only (no other value accepted)
  • Kling v2.x, Kling Turbo, Kling Video O1 — 5 or 10 only
  • Seedance 2.5 — 4 to 30 (any integer), or -1 for auto-length
  • Other Seedance — 5 to 10 (any integer)
  • Omni — 3 to 10 (any integer)
  • Wan 3.0 — 2 to 30 (any integer), or -1 for smart/auto-length
  • MiniMax H3 — 4 to 15 (any integer)
  • Veo 3.1 — fixed at 8, this field is ignored
Check capabilities.seconds in GET /v1/models for the exact list per model.
string
Output resolution. Supported values: 480p, 720p, 1080p, 4k. Availability depends on model — Kling v3.0-4k and Kling Video O3-4k default to 4K. Veo 3.1 and Omni support 720p (default) and 1080p.
number
default:"0.5"
Prompt adherence for Kling v1.x / v2.x models. Range 0–1. Higher = more literal.
number
default:"0.5"
Prompt adherence for Kling v3.0+ and Kling Video O3 models. Range 0–1.
integer
Reproducibility seed. Pass the same seed to regenerate an identical result.
string
Start frame image URL. Required for most image-to-video models (Kling v1–v3, Seedance, omni/image-to-video). Not used by Kling Video O3 — for O3, pass reference images via images[] instead.Don’t have a public URL? Upload the file with Upload Media first and pass the returned url here.
string
End frame image URL (start→end interpolation). Supported by Seedance and Kling v3.0/O3 models.
string
End frame image URL. Alias for end_image — accepted by Kling v2.5-turbo and omni/image-to-video. For omni, the model interpolates between image (start) and last_image (end); both are optional but at least image or images[0] must be set.
string
Reference video URL. Used for motion-control, video-edit, and reference-to-video models. Upload a local file first via Upload Media if you don’t have a public URL.
string
Audio URL for lipsync models (e.g. kling/lipsync/audio-to-video). Provide a public URL to the audio file. Use together with video (face video).
array
Array of image URLs. Behavior depends on the model:
  • Kling Video O3, omni/reference-to-video — primary reference images for reference-to-video generation. image is NOT required; pass all reference frames here (omni/reference-to-video accepts 1–10). The model derives style/character from them rather than treating any one of them as a literal start/end frame. URLs must be publicly accessible from international servers — Shopee (susercontent.com), Google Drive, and other CDNs that geo-restrict or require auth will fail with invalid_parameters. Upload via Upload Media first if you’re not sure.
  • omni/image-to-video, wan3/image-to-video, minimax-h3/image-to-video — images[0] acts as a frame alias: no image set → images[0] becomes the start frame; image already set → images[0] becomes the end frame. Unlike the reference-to-video models above, these only ever accept 2 frames total (start + end) — not a flexible reference set. Sending more than 2 images total (across image + images[] combined) is rejected with invalid_parameters rather than silently dropped.
  • Other models — this field is ignored.
boolean
default:"true"
Generate audio synchronized with the video. Supported by Seedance 2.5.
boolean
Generate audio for Kling v3.0+, Kling Video O3, Kling v2.6 models.
string
default:"customize"
Camera shot type for Kling v3.0+ and Kling Video O3. Values: customize, close_up, medium_shot, full_shot, over_shoulder, aerial.
array
Multi-segment prompts for Kling v3.0+ and Kling Video O3. Each item: { "prompt": "...", "duration": 3 }. The sum of all duration values must equal the top-level duration.
boolean
Lock camera movement throughout the clip. Seedance only. Pass true to prevent camera panning or zooming.
string
Kling element ID for a persistent character or product across multiple videos.
string
Voice ID for Kling lipsync and avatar models (e.g. genshin_klee2).
object
Watermark configuration for Kling models. Example: { "enabled": false }.
string
Your internal task ID. Stored alongside the job and returned in all responses — useful for reconciling logs between your system and ours.

Examples

Text to video (Kling v3.0, 15s):
Image to video (Seedance 2.5, 30s with audio):
Start–end frame (Kling v3.0):
Text to video (Omni, 6s, portrait, 1080p):
Start + end frame to video (Omni):
Text to video (Veo 3.1, 1080p — duration/aspect_ratio have no effect on this model):

Response 202