Seedance 2.0 is ByteDance's video model from February 2026, and the one in its family that reaches 4K. It can write the soundtrack together with the picture: a spoken line, footsteps, a music bed. You decide the mode just by what you attach, from a bare prompt up to a set of reference clips and audio tracks.
What you can make
- Short ads and social clips with dialogue and sound done in one pass.
- A product photo or a character illustration brought to life.
- A move from a fixed first frame to a fixed last frame.
- A new clip that follows the motion or rhythm of a reference video.
Settings that matter
- Length: 4 to 15 seconds, or
duration: -1to let the model decide (the estimate then assumes 15 s). - Resolution: 480p, 720p, 1080p or 4K.
- Images: one or two are animated, three or more (up to 9) work as references. Decide which behavior you want before uploading.
- References: up to 3 clips and 3 audio tracks. Each audio track runs 2 to 15 seconds and needs an image or clip in the same request.
- Prompt: up to 20,000 characters is accepted, but under 500 works best.
- Sound: describe it separately: who speaks and what (in quotes), which effects, what music mood.
Starter prompt
Medium close-up, slow dolly-in: an old fisherman mends a net on a pier at dawn, gulls overhead. He looks up and says "Storm's coming." Waves, creaking wood, low cello noteKeep the order of shot, action, line and sound, and replace each part with your own scene.
Questions
What does a Seedance 2.0 clip cost?
from $0.157 per second. Reference clips add to the output price, the estimate comes before the job starts, and a failed clip is not billed.
Seedance 2.0 or 2.5?
Seedance 2.5 goes up to 30 seconds, takes up to 30 reference images and can edit or extend footage, but stops at 1080p. Version 2.0 is the one with 4K. The 2.0 vs 2.5 guide goes deeper.
How does it stack up against Veo 3.1 or Kling 3.0?
See Seedance 2.0 vs Veo 3.1 and Kling 3.0 vs Seedance 2.0.
Seedance 2.0 in your code
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "adaptive",
"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": "seedance-2.0",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "adaptive",
"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": "seedance-2.0",
"input": {
"prompt": "Tracking shot of a cyclist riding through an empty city street at dawn, long shadows, light fog, film look",
"aspect_ratio": "adaptive",
"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 | ≤ 20000 chars | |
aspect_ratio | string | 16:9 9:16 1:1 4:3 3:4 21:9 adaptive | adaptive |
resolution | string | 480p 720p 1080p 4k | 720p |
duration | integer | 4-15 | 5 |
generate_audio | boolean | true | |
image_url | string | ||
end_image_url | string | ||
image_urls | array | max 9 | |
video_urls | array | max 3 | |
audio_urls | array | max 3 |
Fetch this list as JSON with GET /v1/models/seedance-2.0.























