Variants
3 tiers · 8 models
Standard, Turbo and Omni on the same /v1/videos/generations endpoint
Kling · Kling 3.0 Series
Eight models, three variants, one endpoint — from text-to-video to 4K video editing.
Kling 3.0 turns prompts, frames, reference images and source videos into 3-15 second clips. Script up to six shots in a single request, lock characters with @element references, add native audio, and step up to Omni for reference-to-video, motion reference and video editing at up to 4K.
Variants
3 tiers · 8 models
Standard, Turbo and Omni on the same /v1/videos/generations endpoint
Duration
3-15 seconds
Default 5s; multi-shot requests can derive duration from the shot list
Multi-Shot
Up to 6 shots
Per-shot prompts and durations in one request (Standard up to 5)
Resolution
Up to 4K
720p / 1080p on every variant, 4K on Omni
All three variants share the same request shape on APIPod. Switching between them is a one-line change to the model field.
Multi-shot storytelling with reusable elements
kling-3.0-t2v · kling-3.0-i2v
Fast generation with native audio built in
kling-3.0-turbo-t2v · kling-3.0-turbo-i2v
Reference, motion and editing control up to 4K
kling-3.0-omni-t2v · -i2v · -r2v · -edit
Same series, same unified API — different trade-offs between control, speed and output options.
| Specification | Kling 3.0 | 3.0 Turbo | 3.0 Omni |
|---|---|---|---|
| Task modes | T2V, I2V | T2V, I2V | T2V, I2V, R2V, Edit |
| Resolution | 720p (default) / 1080p | 720p (default) / 1080p | 720p (default) / 1080p / 4K |
| Duration | 3-15 seconds | 3-15 seconds | 3-15 seconds (3-10 with motion reference; edit follows source) |
| Image-to-video frames | First + optional last frame | First frame only | First + optional last frame |
| Multi-shot | Up to 5 shots, 1-12s each | Up to 6 shots | Up to 6 shots, or automatic storyboarding |
| References | Up to 3 @elements (2-4 images each) | — | 1-7 reference images, or 1 motion video + up to 4 images |
| Native audio | Optional | Always on | Optional (not with video input) |
| Watermarked copy | — | Optional | Optional |
All variants are served through POST /v1/videos/generations with task polling. Exclusions belong in the prompt — negative_prompt is not supported.
Capabilities
From scripted multi-shot sequences to editing existing footage — every capability maps to a documented request field.
Pass multi_prompt as a list of {prompt, duration} shots to direct a sequence in one request. Kling 3.0 takes up to 5 shots; Turbo and Omni take up to 6 that add up to the clip duration.
Standard · Turbo · Omni
Define up to 3 kling_elements — a name, a description and 2-4 images each — then mention them as @name in the prompt to keep characters and props consistent.
kling-3.0-t2v · kling-3.0-i2v
Send 1-7 reference images to kling-3.0-omni-r2v. Images are numbered automatically, so the prompt can point at @image_1, @image_2 and so on.
kling-3.0-omni-r2v
Attach one feature video in video_urls (plus up to 4 images) to transfer its movement. With a motion reference, duration is 3-10 seconds and only the output length is billed.
kling-3.0-omni-r2v
Edit a 3-15.5 second MP4 / MOV source video with a prompt and up to 4 reference images. Set keep_original_sound to retain the source audio; aspect ratio follows the source.
kling-3.0-omni-edit
Every variant renders 720p or 1080p. Omni adds a 4K resolution option for final deliverables.
Omni
Turn on generate_audio to render synchronized sound with the video. Turbo always includes audio; on Omni, audio is not available when a video input is used.
Standard · Turbo · Omni
Every model is an async task on POST /v1/videos/generations — submit, poll, retrieve the video URL.
kling-3.0-t2v
Prompt-driven generation with multi-shot, @element references and optional native audio. 16:9, 9:16 or 1:1.
Input: prompt (or multi_prompt)
kling-3.0-i2v
Animate a first frame, or interpolate between a first and last frame. Aspect ratio follows the first frame.
Input: 1-2 frame images + prompt
kling-3.0-turbo-t2v
Fast text-to-video that always renders native audio, with optional shot lists of up to 6 shots.
Input: prompt (or multi_prompt)
kling-3.0-turbo-i2v
Animate a single first frame with native audio; the prompt is optional.
Input: 1 first-frame image + optional prompt
kling-3.0-omni-t2v
Text-to-video up to 4K with automatic or scripted multi-shot and optional native audio.
Input: prompt (or multi_prompt)
kling-3.0-omni-i2v
First frame or first + last frame image-to-video at up to 4K; the prompt is optional.
Input: 1-2 frame images + optional prompt
kling-3.0-omni-r2v
Keep subjects consistent with 1-7 reference images, or drive movement with one motion reference video plus up to 4 images.
Input: prompt + 1-7 images, or 1 video + up to 4 images
kling-3.0-omni-edit
Edit an existing 3-15.5 second clip with a prompt and up to 4 reference images, optionally keeping the original sound.
Input: prompt + 1 source video + up to 4 images
Quickstart
One async endpoint for all eight models. Submit the task, poll the status, pick up the video URL — no SDK required.
Shot durations for kling-3.0 must add up to no more than duration; for Turbo and Omni they must add up to exactly duration. Prompts are limited to 2,500 characters.
import os, requests
payload = {
"model": "kling-3.0-t2v", # or -turbo-t2v / -omni-t2v ...
"resolution": "1080p", # 720p / 1080p (Omni: 4k)
"duration": 10, # 3-15
"aspect_ratio": "16:9", # 16:9 / 9:16 / 1:1
"generate_audio": True,
"multi_prompt": [
{"prompt": "Wide shot: a lighthouse on a cliff at dusk, waves crashing", "duration": 4},
{"prompt": "Close-up: the keeper lights the lamp, warm glow on his face", "duration": 6}
]
}
resp = requests.post(
"https://api.apipod.ai/v1/videos/generations",
json=payload,
headers={"Authorization": f"Bearer {os.environ['APIPOD_API_KEY']}"},
)
task_id = resp.json()["data"]["task_id"]
# poll GET /v1/videos/status/{task_id} until status == "completed"Kling 3.0 is a family of eight video models in three variants: Kling 3.0 (kling-3.0-t2v, kling-3.0-i2v), Kling 3.0 Turbo (kling-3.0-turbo-t2v, kling-3.0-turbo-i2v) and Kling 3.0 Omni (kling-3.0-omni-t2v, -i2v, -r2v and -edit). All of them run through APIPod's unified async endpoint POST /v1/videos/generations.
Choose Kling 3.0 when you want multi-shot storytelling with reusable @element references and optional audio. Choose Turbo when every clip should include native audio. Choose Omni when you need reference images, a motion reference video, video editing or 4K output.
Send multi_prompt as a list of {prompt, duration} shots. Kling 3.0 accepts up to 5 shots of 1-12 seconds each (up to 500 characters per shot) whose total does not exceed duration. Turbo and Omni accept up to 6 shots (up to 512 characters each) that add up to exactly duration. On Omni you can also set multi_shot without multi_prompt to let the model storyboard automatically. If duration is omitted, it is taken from the sum of the shot durations.
kling-3.0-t2v and kling-3.0-i2v accept up to 3 kling_elements, each with a name, a description and 2-4 images. Mention an element as @name in the prompt to keep that character or object consistent. Each @name reference counts as 37 characters toward the prompt length limit.
kling-3.0-omni-r2v takes 1-7 reference images, or one motion reference video plus up to 4 images (duration 3-10 seconds). kling-3.0-omni-edit takes exactly one 3-15.5 second MP4 / MOV source video plus up to 4 reference images, and can keep the original sound. Inputs are numbered automatically, so prompts can reference @image_1 or @video_1.
Yes. Set generate_audio to true on Kling 3.0 and Omni. On Kling 3.0 it defaults to off for single-shot and on for multi-shot requests; on Omni it defaults to off and is not available when a video input is used. Turbo always generates audio.
Billing is per second of output, with rates that depend on resolution and — for Kling 3.0 and Omni — on audio or video input. kling-3.0-omni-edit is billed on the duration of the source video, and a motion reference video is not added to the billed duration. See the pricing page or the model page for current rates.
POST https://api.apipod.ai/v1/videos/generations with the model set to one of the eight kling-3.0 model IDs. The endpoint returns a task_id; poll GET /v1/videos/status/{task_id} until the status is completed, or pass callback_url to receive the final result. Then read the video URL from the result.
Script multi-shot scenes, keep characters consistent and edit footage up to 4K — on the same unified API as the rest of your stack.