Kling 3.0 Turbo is the fast tier of Kling 3.0 for clips you will put your own sound on. Kuaishou released it in June 2026. It makes video from a prompt or from a starting image, and drops native audio, the multi-shot field and 4K to stay quick. You can still write several shots inside one prompt.
It works well for animating lots of product photos or drafting shots fast. Pick it for speed rather than savings: per second it costs roughly twice as much as Kling 3.0 with sound.
What you can make
- Silent clips for edits with your own soundtrack
- Product photos animated in volume
- Quick shot drafts when turnaround matters more than the rate of Kling 3.0
- Vertical 9:16 social videos
Settings that matter
duration: 3 to 15 seconds, 5 by default.resolution:720p(default) or1080p. There is no 4K.aspect_ratio: 16:9, 9:16 or 1:1. With a first-frame image the output follows that image.image_url: JPG or PNG, at least 300 px, up to 50 MB, ratio between 1:2.5 and 2.5:1.- Prompts accept up to 3,072 characters, but aim for about 2,500.
- For cuts, write them in order: "Shot 1: wide... Cut to shot 2: close-up...".
Starter prompt
Shot 1: wide view of a sneaker on a concrete plinth,
slow orbit. Cut to shot 2: close-up of the sole as
water splashes across it, high-speed look, hard lightReplace the product and the action in shot 2, and add music in your editor afterwards.
Questions
What does a Turbo clip cost?
from $0.277 per second. The estimate shows before you send, and failed generations cost $0.
I need dialogue. Which model?
Turbo has no audio. Kling 3.0 adds native sound with dialogue and lip sync.
How do Turbo and full Kling 3.0 compare?
The Kling 3.0 vs Kling 3.0 Turbo page lays out the differences.
Kling 3.0 Turbo in your code
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3.0-turbo",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
}
}'import os, time, requests
API = "https://kadraris.com/v1"
H = {"Authorization": f"Bearer {os.environ['KADRARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "kling-3.0-turbo",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://kadraris.com/v1";
const headers = { Authorization: `Bearer ${process.env.KADRARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "kling-3.0-turbo",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Input fields
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt | string | ≤ 3072 chars | |
aspect_ratio | string | 16:9 9:16 1:1 | 16:9 |
resolution | string | 720p 1080p | 720p |
duration | integer | 3-15 | 5 |
image_url | string |
Fetch this list as JSON with GET /v1/models/kling-3.0-turbo.
























