Kling 3.0 Turbo is the fast tier of Kuaishou's Kling 3.0, released in June 2026. It covers text-to-video and first-frame image-to-video at 720p or 1080p, 3 to 15 seconds long, in 16:9, 9:16 or 1:1; in image-to-video the output follows the frame's ratio. It leaves out native audio, the multi-shot field and 4K, though you can still describe several shots inside the prompt. Prompts go up to 3,072 characters, with 2,500 recommended.
Best for
- Quick silent clips for edits with your own sound
- Animating product photos in volume
- Draft versions of shots before a full Kling 3.0 render
- Vertical 9:16 social clips
Prompting tips
- Describe cuts inside the prompt: "Shot 1: wide... Cut to shot 2: close-up...".
- First-frame images should be JPG or PNG, at least 300 px, up to 50 MB, with a ratio between 1:2.5 and 2.5:1.
- The default is a 5-second clip at 720p; set 1080p and a longer duration as needed.
- Stay near 2,500 characters even though 3,072 are accepted.
FAQ
How much does Kling 3.0 Turbo cost?
The price is from $0.277 per second. Jantaris shows the estimated cost first and does not charge failed generations.
Does Kling 3.0 Turbo generate audio?
No. For native audio, dialogue and lip sync, use Kling 3.0.
Can Kling 3.0 Turbo do 4K?
No, it stops at 1080p.
How to call Kling 3.0 Turbo via API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3.0-turbo",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 5
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "kling-3.0-turbo",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"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://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_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": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"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));
Parameters
| 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 |
The same schema is available from GET /v1/models/kling-3.0-turbo.










