Kling: Kling 4.0 Omni Video API
Kling 4.0 Omni Video: combine reference images, reference videos, a video to edit, elements and voices in one API to generate or edit videos up to 30 seconds.
- Input: text, image, video
- Output: video
- File input: Supported
- Released: 2026-10-28
Frequently Asked Questions
Why does submission say my balance is insufficient when it covers one video?
On submission the gateway reserves the **most the request could cost**: without `settings.duration` the model may make a video of up to 30 seconds from the prompt, so 30 seconds is assumed, and attached videos are assumed at the input maximum. On completion you are charged the credits Kling actually deducted and the rest is returned. Setting `settings.duration` makes the reservation match the real cost.
Can I keep the result URLs long-term?
Kling deletes generated videos after **30 days**. If object storage is enabled on this site, the gateway re-hosts the result when the task succeeds (callbacks and the unified task API return the re-hosted URL); otherwise download and keep it yourself.
How long does a task take and how do I get the result?
Video generation is asynchronous and usually takes from tens of seconds to a few minutes; 30-second videos take longer. Set `options.callback_url` to get a push on every status change, or poll the query endpoint.
Kling 4.0 or the Kling 3.0 family?
Choose 4.0 for videos longer than 15 seconds (up to 30), middle frames (multiple keyframes), or combining reference images, reference videos, elements and voices in one request. Choose the 3.0 family for 4K or a lower per-second rate (e.g. 3.0 silent 720P at 0.6 credits per second).
How do I use my own elements and voices?
Create them through Element Management (`POST /kling/v1/general/advanced-custom-elements`) or Voice Management (`POST /kling/v1/general/custom-voices`), then reference the `element_id` / `voice_id` in `contents` with an `id` (e.g. `element_1`) that the prompt mentions as `@element_1`. Elements and voices created through this site are routed to the account that created them automatically. If custom elements and voices in one request belong to different service nodes, the request returns 400; use assets created together (for example bind the voice with `element_voice_id` when creating the element). Elements and voices created by other users of this site cannot be referenced.