Seedance 2.5 API. Clips from $0.18.

Send a prompt, get a video: Seedance 2.5 and Seedance 2.0 Fast make 4-second 480p landscape clips, Seedance 2.0 Mini makes 5-second 720p vertical ones. Paid per second, 12 to 16% under BytePlus's list price.

One clip on each model

The $2 trial credit makes about 11 Seedance 2.0 Fast clips.

APIsRouterBytePlus list
Seedance 2.5: 4 s · 480p · landscape 16:9$0.36$0.411
Seedance 2.0 Fast: 4 s · 480p · landscape 16:9$0.18$0.215
Seedance 2.0 Mini: 5 s · 720p · vertical 9:16$0.325$0.378

Seedance API prices per second

Every model is charged by the second of video it makes. BytePlus's list is converted to the same clip size.

BytePlus ModelArk list prices for text to video, September 2026.
ModelAPIsRouterBytePlus listClip
Seedance 2.5 (seedance-2.5)$0.09 / s$0.1028 / s4 s · 480p · landscape 16:9
Seedance 2.0 Fast (seedance-2.0-fast)$0.045 / s$0.0538 / s4 s · 480p · landscape 16:9
Seedance 2.0 Mini (seedance-2.0-mini)$0.065 / s$0.0756 / s5 s · 720p · vertical 9:16

What the API makes today

Each model makes one clip size from a text prompt. The size comes with the model, so there is nothing to set.

  • Text to video: One text prompt per video. Image and video references are not supported.
  • Landscape clips: Seedance 2.5 and Seedance 2.0 Fast: 4 seconds, 480p, 16:9. For drafts, storyboards and B-roll.
  • Vertical clips: Seedance 2.0 Mini: 5 seconds, 720p, 9:16. Sized for Shorts, Reels and TikTok.
  • Charged when it works: A video that fails is not charged: the credit it reserved goes back to your balance.

Make a video in three calls

  • Get a key: Start free on the $2 trial credit, or top up from $10 below. A top-up key arrives by email.
  • Create a task: POST /v1/videos/generations with a model and a prompt. It answers 202 with a task_id.
  • Poll and download: GET /v1/videos/tasks/{task_id} every 10 seconds or so. When the status is completed, the video is at result.url.
import time, requests

API = "https://api.apisrouter.com/v1"
headers = {"Authorization": "Bearer sk-your-apisrouter-key"}

task = requests.post(f"{API}/videos/generations", headers=headers, json={
    "model": "seedance-2.5",
    "prompt": "A red fox runs through fresh snow at dawn, low tracking shot",
}).json()

while task["status"] == "processing":
    time.sleep(10)
    task = requests.get(f"{API}/videos/tasks/{task['task_id']}", headers=headers).json()

print(task["result"]["url"] if task["status"] == "completed" else task["error"])

Two ways to pay

Both fill one balance, spent per second of video and per token on text models.

FAQ

How much does the Seedance API cost?

Through APIsRouter, $0.045 a second on Seedance 2.0 Fast, $0.065 a second on Seedance 2.0 Mini and $0.09 a second on Seedance 2.5. A clip costs $0.18 to $0.36, 12 to 16% under BytePlus's list for the same clip.

Is there a free Seedance API?

APIsRouter has no free Seedance tier, but the $2 trial credit covers about 11 Seedance 2.0 Fast clips. Sign in and claim it from your dashboard, no card needed.

Which Seedance model should I use?

Draft on Seedance 2.0 Fast, the lowest price per clip. Move to Seedance 2.5, the newest Seedance model, for the final landscape shot, and use Seedance 2.0 Mini for 720p vertical clips.

Can I set the length, resolution or aspect ratio?

No. Through APIsRouter each model makes the one clip size in the table above. BytePlus's own API offers longer clips and higher resolutions.

Can I start from an image?

Not through APIsRouter yet: requests take a text prompt only.

Is BytePlus cheaper?

At list price, no: the same clip costs 14 to 19% more there.

How do I get the video file?

Creating a video returns a task_id. Check the task every 10 seconds or so; when its status is completed, download the video from result.url.

Is a failed video charged?

No. The credit a video reserves goes back to your balance if the video fails.