Seedance 2.0 API

  • From $0.043/s with video input, or $0.070/s without, about 45% below fal and Higgsfield
  • The only Seedance model that renders 4K
  • Clips of 4 to 15 seconds, with up to 15 reference assets

Seedance 2.0 at a Glance

Seedance 2.0 gives the highest quality in the Seedance 2.0 series and is the only Seedance model that renders 4K. It turns a prompt, first and last frames or reference assets into clips of 4 to 15 seconds, and costs less per second than Seedance 2.5 at every resolution they share.

Model IDseedance-2.0
Clip length4–15 seconds
Resolutions480p · 720p · 1080p · 4K
Aspect ratios21:9 · 16:9 · 4:3 · 1:1 · 3:4 · 9:16
ModesText to Video, Omni Reference, First & Last Frames
Reference assetsUp to 9 images, 3 videos and 3 audio clips, 15 in total
SoundNative audio, on by default. Set generate_audio to false for a silent clip.
Videos per requestOne

Seedance 2.0 API Pricing

Official prices. Top up from $5. No time limit.

Seedance 2.0 API Pricing
ResolutionOnlySeedancefalHiggsfieldYou Save
480p $0.043 /s $0.084 /s$0.084 /s 49%
720p $0.093 /s $0.181 /s$0.181 /s 49%
1080p $0.228 /s $0.408 /s$0.408 /s 44%
4K $0.467 /s $0.933 /s$0.933 /s 50%
480p $0.070 /s $0.141 /s$0.141 /s 50%
720p $0.151 /s $0.302 /s$0.302 /s 50%
1080p $0.374 /s $0.680 /s$0.680 /s 45%
4K $0.778 /s $1.555 /s$1.555 /s 50%
  • Competitors are shown at their public list prices, before temporary or negotiated discounts, as of October 2026.

Price by Mode

4–15 second clips. Prices in USD per second.

Mode480p720p1080p4KBilled Seconds
Text to Video$0.070 /s$0.151 /s$0.374 /s$0.778 /sOutput
Omni Reference, images or audio$0.070 /s$0.151 /s$0.374 /s$0.778 /sOutput
Omni Reference, with video$0.043 /s$0.093 /s$0.228 /s$0.467 /sInput video + output
First & Last Frames$0.070 /s$0.151 /s$0.374 /s$0.778 /sOutput

What a Clip Costs

Billed seconds times the price per second.

ExampleBilled SecondsPrice per SecondTotal
Test clip: 4 seconds at 480p4$0.070 /s$0.280
10 seconds at 720p10$0.151 /s$1.510
15 seconds at 4K15$0.778 /s$11.670
5 seconds at 720p with a 5-second reference video10$0.093 /s$0.930

Seedance 2.0 Modes

Every mode uses the same endpoint.

Text to Video

Describe the subject, the action, the camera and the mood. Only prompt is required: a request that sets nothing else renders 5 seconds at 720p in 16:9.

POST /v1/videos/generations
{
  "model": "seedance-2.0",
  "prompt": "A slow aerial shot over a foggy pine forest at sunrise",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "16:9"
}

Omni Reference

Send images, videos and audio for the model to follow: a subject's look, a motion, a beat. Name them in the prompt as @Image 1, @Video 1 or @Audio 1.

One request takes up to 9 images, 3 videos and 3 audio clips, 15 in total, and audio needs at least one image or video beside it. Reference videos bill their seconds along with the output's, at the with-video price; images and audio are free.

POST /v1/videos/generations
{
  "model": "seedance-2.0",
  "prompt": "The woman in @Image 1 dances to the beat of @Audio 1, moving like the dancer in @Video 1",
  "duration": 10,
  "resolution": "720p",
  "reference_images": [{"url": "https://example.com/woman.png"}],
  "reference_videos": [{"url": "https://example.com/dance.mp4"}],
  "reference_audios": [{"url": "https://example.com/beat.mp3"}]
}

First & Last Frames

start_image makes the video open on your image. Add end_image and the model fills in the motion between the two.

Set aspect_ratio to adaptive to take the ratio of the first frame, or to a fixed ratio, which crops the first frame to fit. Frames can't be combined with reference assets in the same request.

POST /v1/videos/generations
{
  "model": "seedance-2.0",
  "prompt": "Day turns into night over the same skyline as the lights come on",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "adaptive",
  "start_image": {"url": "https://example.com/day.png"},
  "end_image": {"url": "https://example.com/night.png"}
}

Quick Start

Create an API key in the console and export it as ONLYSEEDANCE_API_KEY. These three calls submit a task, check it and save the video.

cURL · submit a task
curl https://api.onlyseedance.com/v1/videos/generations \
  -H "Authorization: Bearer $ONLYSEEDANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0",
    "prompt": "A slow aerial shot over a foggy pine forest at sunrise"
  }'
cURL · check the task
curl https://api.onlyseedance.com/v1/videos/$REQUEST_ID \
  -H "Authorization: Bearer $ONLYSEEDANCE_API_KEY"
cURL · download the video
curl -L https://api.onlyseedance.com/v1/videos/$REQUEST_ID/content \
  -H "Authorization: Bearer $ONLYSEEDANCE_API_KEY" \
  -o output.mp4
Python
import os
import time
import requests

BASE = "https://api.onlyseedance.com"
headers = {"Authorization": f"Bearer {os.environ['ONLYSEEDANCE_API_KEY']}"}

job = requests.post(
    f"{BASE}/v1/videos/generations",
    headers=headers,
    json={"model": "seedance-2.0", "prompt": "A slow aerial shot over a foggy pine forest at sunrise"},
    timeout=60,
)
job.raise_for_status()
request_id = job.json()["request_id"]

while True:
    task = requests.get(f"{BASE}/v1/videos/{request_id}", headers=headers, timeout=60).json()
    if task["status"] != "pending":
        break
    time.sleep(10)

if task["status"] == "done":
    video = requests.get(f"{BASE}/v1/videos/{request_id}/content", headers=headers, timeout=600)
    video.raise_for_status()
    with open("output.mp4", "wb") as f:
        f.write(video.content)
else:
    print(task.get("error"))

Fields, task status, billing and errors are in the API documentation.

Compare Seedance Models

ModelWith Video InputWithout Video InputClip LengthTop ResolutionBest For
Seedance 2.5From $0.062 /sFrom $0.099 /s4–30 seconds1080pLong takes, real-person references, and editing or extending footage
Seedance 2.0From $0.043 /sFrom $0.070 /s4–15 seconds4KThe highest quality in the 2.0 series, and 4K
Seedance 2.0 FastFrom $0.033 /sFrom $0.056 /s4–15 seconds720pA balance of speed and cost
Seedance 2.0 MiniFrom $0.021 /sFrom $0.035 /s4–15 seconds720pThe lowest price, for drafts and batches

Seedance 2.0 FAQ

How much does the Seedance 2.0 API cost?

Seedance 2.0 costs $0.070 per second at 480p, $0.151 at 720p, $0.374 at 1080p and $0.778 at 4K, about 45% below fal and Higgsfield. With video input it costs $0.043, $0.093, $0.228 and $0.467, counted on input plus output seconds.

Does Seedance 2.0 support 4K?

Yes. Every mode can render 480p, 720p, 1080p or 4K: set resolution to 4k. 4K costs $0.778 per second, or $0.467 with video input.

Is this the official Seedance 2.0 model?

Yes. Every video is generated by ByteDance's official Seedance 2.0 model through the official Seedance API. We never swap in another model or alter the output. OnlySeedance is an independent provider, not affiliated with or endorsed by ByteDance.

How long can a Seedance 2.0 video be?

From 4 to 15 seconds, in whole seconds. Each request renders one video.

What is the difference between Seedance 2.0, 2.0 Fast and 2.0 Mini?

All three take the same inputs. Seedance 2.0 gives the highest quality and renders up to 4K. Seedance 2.0 Fast balances speed and cost, and Seedance 2.0 Mini has the lowest price. Both stop at 720p.

Should I use Seedance 2.0 or Seedance 2.5?

Use Seedance 2.0 for 4K, or when a lower price per second matters more. Use Seedance 2.5 for clips longer than 15 seconds, more than 15 reference assets, Video Edit, Video Extension or Draft Mode.

Do I pay for failed jobs?

No. Failed jobs and jobs refused by content review are never charged.

Contact Us