ByteDance·Text-to-video·4 models live

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.

ModelModel IDResolutionPer second5s clip10s clip
Seedance 2.0 Miniseedance-2-mini480p$0.0245$0.12$0.24
720p$0.0526$0.26$0.53
Seedance 2 Fastseedance-2-fast480p$0.093$0.46$0.93
720p$0.198$0.99$1.98
Seedance 2seedance-2480p$0.114$0.57$1.14
720p$0.246$1.23$2.46
1080p$0.612$3.06$6.12
Seedance 2.5seedance-2-5480p$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.

Full video API reference
curl
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_urls with two entries — first and last frame; Seedance interpolates the shot between them. On seedance-2-5 and seedance-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.

seedance_frames.py
# 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 ID720p / sMax resolutionImage-to-videoFirst+last frameReference imagesReach for it when
seedance-2-mini$0.0526720pYesYesYesDrafting and volume, up to 15 seconds — the cheapest way to see a shot before committing to it.
seedance-2-fast$0.198720pYesNoNoFull quality at 720p with lower latency, for social formats and high-volume pipelines.
seedance-2$0.2461080pYesNoNoHero assets that need 1080p, and the strongest multi-shot coherence in the family.
seedance-2-5$0.37841080pYesYesYesClips 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.

FamilyBilledFromChosen for
Seedance 2 (ByteDance)Per second$0.0245/sMulti-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/sCinematic 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.