ByteDance's Seedance family — 2.5, 2.0, Fast, Mini and 1.5 Pro — behind one endpoint, with every host's per-second price compared live.
| Endpoint | POST https://videorouter.sh/api/v1/videos |
| Authentication | Authorization: Bearer llmr_sk_live_... |
| Lifecycle | Async job: queued → in_progress → completed | failed. Polling is free. |
| Model ids | bytedance/seedance-2.5, bytedance/seedance-2.0, bytedance/seedance-2.0-fast, bytedance/seedance-2.0-mini, seedance-2-mini-unrestricted, seedance-2-5-unrestricted |
| Billing | Per requested second, charged once at job creation; failed-upstream jobs are not billed. Flat 2% platform fee. |
| Provider choice | Unpinned requests route to the cheapest healthy host and fail over; append /<host> to prefer one. |
bytedance/seedance-2.59 hosts · 480p
bytedance/seedance-2.09 hosts · 480p
bytedance/seedance-2.0-fast9 hosts · 480p
bytedance/seedance-2.0-mini8 hosts · 480p
seedance-2-mini-unrestricted3 hosts · 480p
seedance-2-5-unrestricted2 hosts · 480p
seedance-2.0-fast-unrestricted2 hosts · 480p
seedance-2-unrestricted2 hosts · 480p
seedance-1-5-pro1 hosts · 480p
| Host | 480p | 720p | 720p-sr | 720p-esr | 1080p | 1080p-sr | 1080p-esr & 60fps | 1080p-esr | 1440p-esr | 1440p-sr | 2160p | 4k-esr |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OpenSand | $0.0525 | $0.1179 | — | — | $0.2919 | — | — | — | — | — | $0.6065 | — |
| SandBase | $0.0847 | $0.1907 | — | — | $0.4719 | — | — | — | — | — | — | — |
| MachGen | $0.085 | $0.19 | — | — | $0.50 | — | — | — | — | — | — | — |
| TOAPIS | $0.0868 | $0.1958 | — | — | $0.3464 | — | — | — | — | — | — | — |
| TOAPIS-Overseas | $0.1061 | $0.2393 | — | — | $0.5881 | — | — | — | — | — | — | — |
| Atlas Cloud | $0.1397 | $0.3005 | $0.2193 | $0.2515 | $0.5914 | $0.4056 | $0.4958 | $0.4507 | $0.7602 | $0.70 | — | $1.7006 |
| WaveSpeedAI | $0.18 | $0.36 | — | — | $0.90 | — | — | — | — | — | $1.80 | — |
| Fal | $0.2205 | $0.473 | — | — | $1.164 | — | — | — | — | — | — | — |
| Fal-US | $0.2646 | $0.5676 | — | — | — | — | — | — | — | — | — | — |
USD per second, before the 2% platform fee. Bold = cheapest at that tier.
curl https://videorouter.sh/api/v1/videos \
-H "Authorization: Bearer $VIDEOROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "bytedance/seedance-2.5", "prompt": "a paper airplane gliding over a city", "duration_secs": 5}'
# -> {"id": "video_...", "status": "queued"}
curl https://videorouter.sh/api/v1/videos/$ID -H "Authorization: Bearer $VIDEOROUTER_API_KEY"import time, requests
H = {"Authorization": "Bearer llmr_sk_live_..."}
job = requests.post("https://videorouter.sh/api/v1/videos", headers=H, json={
"model": "bytedance/seedance-2.5", "prompt": "a paper airplane gliding over a city", "duration_secs": 5}).json()
while job["status"] not in ("completed", "failed"):
time.sleep(5)
job = requests.get(f"https://videorouter.sh/api/v1/videos/{job['id']}", headers=H).json()
print(job["data"][0]["url"] if job["status"] == "completed" else job["error"])const H = { Authorization: "Bearer llmr_sk_live_...", "Content-Type": "application/json" };
let job = await (await fetch("https://videorouter.sh/api/v1/videos", { method: "POST", headers: H,
body: JSON.stringify({ model: "bytedance/seedance-2.5", prompt: "a paper airplane gliding over a city", duration_secs: 5 }) })).json();
while (!["completed", "failed"].includes(job.status)) {
await new Promise(r => setTimeout(r, 5000));
job = await (await fetch(`https://videorouter.sh/api/v1/videos/${job.id}`, { headers: H })).json();
}
console.log(job.data?.[0]?.url ?? job.error);Model id used: bytedance/seedance-2.5. More in examples.
/wavespeed, or let the router choose the cheapest healthy one.2.5 is the newest full model; 2.0 Fast and Mini trade fidelity for lower per-second cost; 1.5 Pro is an older, cheap option. Check the live table for today's spread.
Each host sets its own markup over the creator's list price, and some resell at a discount. The price table makes the gap visible.
Yes — pass start_image_url. Reference-to-video is supported on variants that accept input_references.
The catalog contains some variants hosted with different content-filter settings; availability varies by host, so check the model page.
VideoRouter puts it next to dozens of other video and image models behind one API key, so you can compare providers, prices and fail over automatically. Compare providers on VideoRouter →