Skip to main content
Kling Omni Generation and Editing
Authenticate with your MixRoute API Key using Authorization: Bearer $MIXROUTE_API_KEY and send JSON. The model ID belongs in the URL, not a body model field. Do not add /v1 or wrap the request in metadata.

Supported Models

Contents

Generation Settings

Input Combinations

  • Both models accept at most one video; base_video editing cannot include first/last frames.
  • Use only a first frame or first+last frames, never a last frame alone. O1 first+last mode cannot include reference images or Elements. O1 feature_video may include a first frame, not a last frame.
  • O1 supports multi-image Elements only: at most 7 reference images plus Elements without a video, or 4 with a video.
  • 3.0 Omni without a video allows at most 7 reference images plus multi-image Elements. With video-character Elements, use at most 3 video-character Elements and at most 4 reference images plus multi-image Elements.
  • 3.0 Omni with a video allows at most 4 reference images/multi-image Elements, or 1 video-character Element; do not combine a video-character Element with images/multi-image Elements in this case. First-frame/first+last-frame generation allows up to 3 Elements.
  • 3.0 Omni feature_video requires audio=off. base_video uses off or original. Native audio is available only without video input.

Media Limits

Storyboard Prompts

Only 3.0 Omni supports multi-shot generation. With settings.multi_shot enabled, use shot n, m, words;, separated by semicolons: 1-6 shots, at least one second per shot, durations adding up to settings.duration, and at most 512 characters per shot prompt. This mode is unavailable for base_video editing; do not send multi-shot parameters to O1. Use unique reference names that do not overlap with each other or unrelated prompt text.

Image Reference Example

Set the MIXROUTE_API_KEY environment variable. Replace example.com media URLs with real, publicly accessible files.

O1 Video Editing Example

See Kling Overview.

Submission Response

Keep data.id and use Query Kling Task until succeeded or failed. Successful submission does not mean generation has finished.