Seedance 2 API
Generate video from a prompt or a still image with ByteDance Seedance 2 — native audio, multi-shot coherence, reference consistency. Four variants on one OpenAI-style endpoint, billed per second in USD from $0.0245/second. No Volcano Engine account.
Pay as you go from a $10 top-up · balance never expires · failed generations are not billed
720p · per second of video
- Seedance 2.0 Miniseedance-2-mini
- $0.0526/s
- Seedance 2 Fastseedance-2-fast
- $0.198/s
- Seedance 2seedance-2
- $0.246/s
- Seedance 2.5seedance-2-5
- $0.3784/s
A 5-second 720p clip costs $0.26 on Mini and $1.23 on full-quality Seedance 2.
Seedance 2 API at a glance
- Four Seedance 2 models are live on Kunavo's OpenAI-style POST /v1/videos endpoint: seedance-2-mini, seedance-2-fast, seedance-2 and seedance-2-5.
- Seedance 2 API pricing is per second of video and steps with resolution: Seedance 2.0 Mini is $0.0245/s at 480p and $0.0526/s at 720p; full-quality Seedance 2 is $0.114/s at 480p, $0.246/s at 720p and $0.612/s at 1080p.
- A 5-second 720p Seedance 2 clip costs $0.26 on Mini and $1.23 on full-quality Seedance 2, billed in USD against a prepaid balance; failed generations are not billed.
- Seedance 2 generates a synchronized native audio track at no extra charge, so the per-second rate is the whole cost of the clip.
- Image-to-video works on every Seedance 2 model via image_url; first-and-last-frame and up-to-nine reference images work on seedance-2-5 and seedance-2-mini.
- One sk-kn- key and one Stripe balance also cover Veo 3.1, Wan 2.7, image, music and text models — no ByteDance or Volcano Engine account is needed.
Seedance 2 API pricing
Every Seedance model is billed per second of generated video, at a rate that steps with resolution. You pay for the duration you request; audio is included. These are the rates the API bills — the table is read from the live catalog.
| Model | Model ID | Resolution | Per second | 5s clip | 10s clip |
|---|---|---|---|---|---|
| Seedance 2.0 Mini | seedance-2-mini | 480p | $0.0245 | $0.12 | $0.24 |
| 720p | $0.0526 | $0.26 | $0.53 | ||
| Seedance 2 Fast | seedance-2-fast | 480p | $0.093 | $0.46 | $0.93 |
| 720p | $0.198 | $0.99 | $1.98 | ||
| Seedance 2 | seedance-2 | 480p | $0.114 | $0.57 | $1.14 |
| 720p | $0.246 | $1.23 | $2.46 | ||
| 1080p | $0.612 | $3.06 | $6.12 | ||
| Seedance 2.5 | seedance-2-5 | 480p | $0.1764 | $0.88 | $1.76 |
| 720p | $0.3784 | $1.89 | $3.78 | ||
| 1080p | $0.7392 | $3.70 | $7.39 |
Billing is per clip in USD against a prepaid balance — no credit bundles, no monthly minimum, no seat fee. A generation that fails is never billed. Same rates on the pricing page and on each model's catalog entry.
Call the Seedance 2 API
Submit to POST /v1/videos and you get a task id back immediately. Poll GET /v1/videos/{id} — or pass a webhook_url and be pushed the finished clip.
Generation runs for minutes, so the async endpoint is the one to build on. There is a synchronous /v1/video/generations that holds the connection until the clip is ready, which is convenient for a one-shot script.
curl https://api.kunavo.com/v1/videos \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2",
"prompt": "a paper crane unfolds into a flock of birds over a city at dawn, slow camera pull-back",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
# → 202 Accepted
# {"id":"vid_...","object":"video","status":"queued","progress":0,...}
curl https://api.kunavo.com/v1/videos/vid_... \
-H "Authorization: Bearer $KUNAVO_API_KEY"
# → {"status":"completed","output":{"url":"https://...mp4","duration_seconds":5,...}}Image-to-video, frames and references
Reference control is what Seedance gets chosen for. Three fields cover it, and the request shape is the same on every model — what differs is which ones a given model accepts.
image_url— the still becomes the clip's first frame. Every Seedance 2 model.image_urlswith two entries — first and last frame; Seedance interpolates the shot between them. Onseedance-2-5andseedance-2-mini.image_mode: "reference"— up to nine stills that fix a character, product or style without any of them appearing as a frame. Same two models.
Images can be public HTTPS URLs or inline data: URIs — a base64 image is hosted for you and passed through.
# Image-to-video: one image becomes the first frame.
requests.post(f"{API}/videos", headers=HEADERS, json={
"model": "seedance-2",
"prompt": "the product rotates slowly, studio light sweeps across",
"image_url": "https://example.com/product-hero.png",
"duration": 5,
"resolution": "1080p",
})
# First AND last frame: pass two — Seedance interpolates between them.
requests.post(f"{API}/videos", headers=HEADERS, json={
"model": "seedance-2-5",
"prompt": "the sketch fills with colour, camera pushes in",
"image_urls": ["https://example.com/start.png",
"https://example.com/end.png"],
"duration": 8,
})
# Reference images: up to 9 stills that fix character and style,
# without any of them being a frame of the output.
requests.post(f"{API}/videos", headers=HEADERS, json={
"model": "seedance-2-5",
"prompt": "she walks through the night market, neon reflections",
"image_urls": ["https://example.com/face-1.png",
"https://example.com/face-2.png"],
"image_mode": "reference",
"duration": 10,
})Which Seedance 2 model to use
All four take the same request. The differences are resolution ceiling, clip length, frame control and price per second.
| Model ID | 720p / s | Max resolution | Image-to-video | First+last frame | Reference images | Reach for it when |
|---|---|---|---|---|---|---|
seedance-2-mini | $0.0526 | 720p | Yes | Yes | Yes | Drafting and volume, up to 15 seconds — the cheapest way to see a shot before committing to it. |
seedance-2-fast | $0.198 | 720p | Yes | No | No | Full quality at 720p with lower latency, for social formats and high-volume pipelines. |
seedance-2 | $0.246 | 1080p | Yes | No | No | Hero assets that need 1080p, and the strongest multi-shot coherence in the family. |
seedance-2-5 | $0.3784 | 1080p | Yes | Yes | Yes | Clips up to 30 seconds, precise first-and-last-frame control, multi-image references. |
A useful default: storyboard on seedance-2-mini until the prompt is right, then re-run the keeper on seedance-2 at 1080p. Ten Mini drafts plus one 1080p final costs about $5.69 for a 5-second shot.
Seedance 2 vs Veo 3.1 vs Wan 2.7
Three video families run on this same endpoint, so testing one against another is a one-word change to the model field — same key, same balance, same request shape.
| Family | Billed | From | Chosen for |
|---|---|---|---|
| Seedance 2 (ByteDance) | Per second | $0.0245/s | Multi-shot narrative, character and product consistency across reference images, native audio. |
| Veo 3.1 (Google) | Per video | $0.18+ | Highest overall cinematic quality, with synchronized native audio. See the Veo 3 API guide. |
| Wan 2.7 (Alibaba) | Per second | $0.096/s | Cinematic look on a flat per-second rate. See the Wan API guide. |
Note that the billing bases differ: Veo is priced per finished video, Seedance and Wan per second of output, so a like-for-like figure depends on the clip length you actually need. A 5-second 720p shot is $0.26 on Seedance 2.0 Mini, $1.23 on full-quality Seedance 2 and $0.48 on Wan 2.7.
Seedance 2 API FAQ
What is the Seedance 2 API?
Seedance 2 is ByteDance's current text-to-video model family — native audio, multi-shot storytelling and reference consistency. The Seedance 2 API turns a text prompt or a still image into a video clip. On Kunavo all four variants are live on an OpenAI-style endpoint, POST /v1/videos, and are billed per second of generated video in USD.
How much does the Seedance 2 API cost?
On Kunavo, Seedance 2.0 Mini costs $0.0245 per second at 480p and $0.0526 per second at 720p — a 5-second 720p clip is $0.26. Full-quality Seedance 2 is $0.246 per second at 720p, so the same clip is $1.23. You are billed for the seconds you request, on a prepaid balance, and failed generations are not billed.
Which Seedance 2 model should I use?
Use seedance-2-mini for drafts, storyboards and high-volume iteration — it is the cheapest way to see a shot, and it already supports first-and-last-frame and reference images. Use seedance-2-fast when you need full-quality 720p at lower latency. Use seedance-2 when you need 1080p. Use seedance-2-5 for clips longer than 15 seconds or when you need 1080p together with reference control. The request shape is identical, so switching is a one-word change.
Do I need a ByteDance or Volcano Engine account?
No. One Kunavo key (sk-kn-…) and one prepaid USD balance cover every Seedance 2 variant, plus Veo 3.1, Wan 2.7, image models, music and the Claude / GPT / Gemini text lineup on the same API. There is no Volcano Engine console, no credit bundle and no separate contract.
Does the Seedance 2 API support image-to-video?
Yes, three ways. Pass image_url and the still becomes the clip's first frame — every Seedance 2 model accepts this. Pass two entries in image_urls for first-and-last-frame interpolation, or image_mode "reference" with up to nine stills to fix a character or style without any of them appearing as a frame; those two are supported on seedance-2-5 and seedance-2-mini.
How long does a Seedance 2 generation take?
Minutes, not seconds — typically two to five depending on model, resolution and length. Submit to POST /v1/videos, which returns a task id immediately, then poll GET /v1/videos/{id} or supply a webhook_url to be pushed the result. Send an Idempotency-Key so a retry never bills a second generation.
Does Seedance 2 generate audio?
Yes — Seedance 2 generates a synchronized native audio track as part of the clip, at no extra charge. The per-second rates on this page are the whole cost of the video.
Start generating with Seedance 2
Create a key, top up $10, and your first 5-second 720p draft costs $0.26. The same key reaches Veo 3.1, Wan 2.7, image models, music and the Claude, GPT and Gemini text lineup.
Comparing video models? See the text-to-video API guide for the full landscape, or the Veo 3 API and Wan API guides for the two other families live on the same endpoint.