Makernice

Seedance 2.5 API — 30-second clips, 480p to 4K

Seedance 2.5 API on Makernice: ByteDance's Seedance 2.5 generates 4–30 second videos at 480p, 720p, 1080p or 4K. It works from text, a still image, first and last frames, or up to 16 reference images. Audio is always on (no toggle). As of October 22, 2026 (price list v5), it costs $0.1152 per second at 480p, $0.2592 at 720p, $0.4618 at 1080p and $1.955 at 4K, so a 10-second 720p clip is about $2.59. Every run is quoted before you pay, the quote is locked for 12 minutes, and failed generations are not charged. The same API key also calls 15 other video and image models.

Highlights

4–30 s · 480p / 720p / 1080p / 4K · Text to video · Image to video · First and last frame · Reference to video

Best for

Longer shots, high-resolution deliverables, and pipelines that anchor a clip with many reference images.

Input

Text, first frame, last frame, up to 16 reference images

Output

Video with audio

Input
Prompt
Duration (4–30 s)5s
Resolution
Aspect ratio
ResultPreview
Estimated price$1.30$0.2592/s × 5s

Checking your session…

Try one of these prompts

Seedance 2.5 API pricing

Prepaid in US dollars. The hold is converted to a charge when the run completes. If a run fails or times out, the hold is released in full.*

Prices as of October 22, 2026 (price list v5).

Note: if a finished output is blocked by output moderation for a policy violation, the run is still charged. You can contact support for a manual review.

Cost of your first test

$0.46

One 4-second clip at 480p.

What your top-up buys

Top up

$15

≈ 32 test runs

$50

≈ 108 test runs

$100

≈ 216 test runs

Top-ups are $15–$1,000. No free tier, no subscription.

Price per clip (price list v5, October 22, 2026; same for all four modes)

ResolutionPer second5 s10 s15 s30 s
480p$0.1152$0.58$1.15$1.73$3.46
720p (default)$0.2592$1.30$2.59$3.89$7.78
1080p$0.4618$2.31$4.62$6.93$13.86
4K$1.955$9.78$19.55$29.33$58.65

Clip totals are unit price × seconds, rounded to the cent. Your quote shows the exact amount before you run anything. Live rates: Pricing or GET https://api.makernice.com/v1/pricing (no key needed).

ModelModeResolutionOur priceOfficialYou save
Seedance 2.5
ByteDance
Text to video480p$0.1152/s
Seedance 2.5
ByteDance
Text to video720p$0.2592/s
Seedance 2.5
ByteDance
Text to video1080p$0.4618/s$0.569/s-18%
Seedance 2.5
ByteDance
Text to video4K$1.955/s
Seedance 2.5
ByteDance
Image to video480p$0.1152/s
Seedance 2.5
ByteDance
Image to video720p$0.2592/s
Seedance 2.5
ByteDance
Image to video1080p$0.4618/s$0.569/s-18%
Seedance 2.5
ByteDance
Image to video4K$1.955/s
Seedance 2.5
ByteDance
First and last frame480p$0.1152/s
Seedance 2.5
ByteDance
First and last frame720p$0.2592/s
Seedance 2.5
ByteDance
First and last frame1080p$0.4618/s$0.569/s-18%
Seedance 2.5
ByteDance
First and last frame4K$1.955/s
Seedance 2.5
ByteDance
Reference to video480p$0.1152/s
Seedance 2.5
ByteDance
Reference to video720p$0.2592/s
Seedance 2.5
ByteDance
Reference to video1080p$0.4618/s$0.569/s-18%
Seedance 2.5
ByteDance
Reference to video4K$1.955/s

Makernice also offers a separately priced 4K output option; ByteDance's official API tops out at 1080p.

What is the Seedance 2.5 API?

Seedance 2.5 is ByteDance's video generation model built for long takes. It has the highest ceiling in the Seedance family on Makernice: up to 30 seconds per clip and up to 4K. Audio is always on (no toggle). On the Makernice API it's the model id seedance-2.5. It uses the same asynchronous flow as every other model here: quote, create, poll. Moving from Seedance 2.0 or Kling 3.0 means changing one field.

Supported modes and limits

Parameters, limits and billing rules to check before you call it.

[MODEL]

Model id

seedance-2.5

[MODES]

Modes

t2v text-to-video · i2v image-to-video · flf first and last frame · r2v reference-to-video

[LENGTH]

Duration

4–30 seconds, whole seconds (default 5)

[RES]

Resolution

480p, 720p (default), 1080p, 4k

[FRAMING]

Aspect ratio (t2v)

adaptive, 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21

[REFS]

Reference images (r2v)

up to 16, in reference_images

[OPTIONS]

Optional fields

seed (0–2,147,483,647)

[AUDIO]

Audio

Always on (no toggle); sending generate_audio returns 400 invalid_request

[PROMPT]

Prompt length

1–4,000 characters

[INPUT]

Image input

JPEG / PNG / WebP, up to 10 MB each, or an https link. Uploaded images can be used for 6 days.

[OUTPUT]

Output

Video with audio. Files are kept about 30 days, so download them promptly.

[PRICE]

Price

From $0.1152/s · Quotes are locked for 12 minutes. Per-resolution prices are in the table above.

[GUARANTEE]

Failed runs

Failed, timed-out or canceled-while-queued runs release the hold in full.

From GET /v1/models, October 21, 2026.

4 ways to generate, one endpoint

Set mode, send the inputs it needs — that's it.

Text to video

mode: "t2v" · prompt

Just a prompt — the model builds the shot from scratch.

Image to video

mode: "i2v" · image_url

Send an image in image_url and it becomes the opening frame.

First and last frame

mode: "flf" · image_url + last_image_url

Set the first and last frame; the model animates everything in between.

Reference to video

mode: "r2v" · reference_images (≤ 16)

Add up to 16 reference images to lock in characters, products and style.

What you can build with this model

Workflows this model is a good fit for.

01

Extended single-take scenes

Generate 20 to 30 second establishing shots or slow camera moves in one request instead of stitching several short clips.

Try it in the playground
02

4K masters for post-production

Render at 4K when the footage is headed for a larger canvas or heavy cropping, and drop to 720p while you iterate.

Try it in the playground
03

Reference-driven consistency

Pass up to 16 reference images, such as characters, props and style frames, to keep a series visually consistent.

Try it in the playground

Why run Seedance 2.5 on Makernice

Quote before you pay

Every run gets an exact quote first, locked for 12 minutes. You're charged that amount — never more.

Failed runs are free

The hold is converted to a charge when the run completes. If a run fails or times out, the hold is released in full. Queued cancellations also cost nothing.

Switch models with one field

Same request, key, balance and console for all 16 models. Not happy with the result? Change model and run it again.

Prepaid, no subscription

Top up a US-dollar balance and pay per run. No monthly fee, no subscription.

Your balance never expires

Topped-up balance stays in your account indefinitely. No inactivity fees, no decay.

Automatic failover

If an upstream channel goes down, your request is routed to a backup channel automatically — no code changes on your side.

Which should you pick: Seedance 2.5, Seedance 2.0, Seedance 2.0 Fast?

Compare modes, length, resolution and references, then run the same prompt on each.

Seedance 2.5Seedance 2.0Seedance 2.0 Fast
ModesText to video · Image to video · First and last frame · Reference to videoText to video · Image to video · First and last frame · Reference to videoText to video · Image to video · First and last frame · Reference to video
Duration4–30 s4–15 s4–15 s
Resolution480p / 720p / 1080p / 4K720p / 1080pSingle tier
Reference imagesUp to 16Up to 9Up to 9
AudioAlways on (no toggle)Always on (no toggle)Always on (no toggle)
Starting price$0.1152/s$0.1704/s$0.1027/s

Short version: Seedance 2.5 for clips over 15 seconds, 4K or more than 9 references. Seedance 2.0 for 720p/1080p clips up to 15 seconds. Seedance 2.0 Fast (fixed 720p, $0.1027/s) for drafts. Full comparison →

Integrate Seedance 2.5 in three steps

Quote, hold, charge or release — each step shows how billing works.

[01]

Create an API key

Sign in, top up and create a key in the console. Set a spend limit per key so nothing runs away.

// Console → API keys

[02]

Quote and create

POST the input to /v1/generations/quote with the model field set to seedance-2.5. The price is locked for 12 minutes; creating the generation with the quote id holds that amount from your balance.

// POST /v1/generations/quote// POST /v1/generations

[03]

Poll the result

GET /v1/generations/{id} until the status is succeeded, then download the output. You're charged the quoted amount on success; failed, timed-out or canceled-while-queued runs release the hold in full.

// GET /v1/generations/{id}

Retrying with the same Idempotency-Key returns the same generation instead of charging twice. More: How AI video API pricing works.

Quickstart: quote → create → poll

curl

# 1) Quote: returns an id and the exact amount (in millionths of a USD)
curl https://api.makernice.com/v1/generations/quote \
  -H "Authorization: Bearer $MAKERNICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"seedance-2.5","mode":"t2v","prompt":"A lone cyclist crosses a rain-soaked neon street at night, reflections shimmering on the asphalt, camera tracking alongside.","duration":10,"resolution":"720p","aspect_ratio":"16:9"}'

# 2) Create: same input + quote_id, with an Idempotency-Key
curl https://api.makernice.com/v1/generations \
  -H "Authorization: Bearer $MAKERNICE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: seedance25-demo-001" \
  -d '{"quote_id":"qt_…","input":{"model":"seedance-2.5","mode":"t2v","prompt":"A lone cyclist crosses a rain-soaked neon street at night, reflections shimmering on the asphalt, camera tracking alongside.","duration":10,"resolution":"720p","aspect_ratio":"16:9"}}'

# 3) Poll until status is "succeeded", then download
curl https://api.makernice.com/v1/generations/gen_… -H "Authorization: Bearer $MAKERNICE_API_KEY"
curl -L -o seedance-2-5.mp4 https://api.makernice.com/v1/generations/gen_…/outputs/0 \
  -H "Authorization: Bearer $MAKERNICE_API_KEY"

Python (requests)

import os, time, uuid, requests

API = "https://api.makernice.com/v1"
H = {"Authorization": f"Bearer {os.environ['MAKERNICE_API_KEY']}"}

job = {
    "model": "seedance-2.5",
    "mode": "t2v",
    "prompt": "A lone cyclist crosses a rain-soaked neon street at night, "
              "reflections shimmering on the asphalt, camera tracking alongside.",
    "duration": 10,
    "resolution": "720p",
    "aspect_ratio": "16:9",
}

quote = requests.post(f"{API}/generations/quote", json=job, headers=H).json()
print(f"Quoted ${int(quote['amount']) / 1e6:.2f}, valid until {quote['expires_at']}")

gen = requests.post(
    f"{API}/generations",
    json={"quote_id": quote["id"], "input": job},
    headers={**H, "Idempotency-Key": str(uuid.uuid4())},
).json()

while gen["status"] not in ("succeeded", "failed", "canceled"):
    time.sleep(5)
    gen = requests.get(f"{API}/generations/{gen['id']}", headers=H).json()

if gen["status"] == "succeeded":
    video = requests.get(f"https://api.makernice.com{gen['outputs'][0]['url']}", headers=H)
    open("seedance-2-5.mp4", "wb").write(video.content)
else:
    print("Not charged:", gen["status"])  # the hold is released in full

Switch models in one line

- "model": "seedance-2.5",
+ "model": "kling-3.0-pro",

Each model has its own limits. Seedance 2.0, for example, accepts 4–15 seconds at 720p or 1080p, and a request outside a model's range returns 400 invalid_request before anything is held. Check GET /v1/models.

Docs/API/SEEDANCE-2-5

API reference

Copy-paste requests for this model. The full parameter reference is in the docs.

curl https://api.makernice.com/v1/generations/quote \
  -H "Authorization: Bearer $MAKERNICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5",
    "mode": "t2v",
    "prompt": "A slow aerial push-in over a misty bamboo forest at sunrise, soft golden light filtering through the leaves, cinematic and calm.",
    "duration": 5,
    "resolution": "720p"
  }'

Invalid request

400 invalid_request names each failing field. Fields the mode doesn't use are rejected too. Nothing is held.

Key or balance

401 means a missing or invalid key; 402 means the balance or the key's spend limit isn't enough.

Quote problems

A changed price-affecting field returns 422 quote_mismatch; an expired quote 410; a used one 409. Get a new quote.

Failed generation

A failed generation is never charged — the hold is released in full. Keep the generation id and retry when you're ready.

Frequently asked questions

Common questions about this model.

What is the Seedance 2.5 API?
Seedance 2.5 is ByteDance's long-take video model. On Makernice you call it with the model id seedance-2.5, using one API key and one prepaid balance shared with 15 other models. It makes 4–30 second clips at 480p to 4K from text, an image, first and last frames, or up to 16 reference images. Audio is always on (no toggle).
How much does the Seedance 2.5 API cost per second?
As of October 22, 2026 (price list v5): $0.1152 per second at 480p, $0.2592 at 720p, $0.4618 at 1080p and $1.955 at 4K. The price is the same in all four modes. A 10-second 720p clip is about $2.59. Call POST /v1/generations/quote for the exact amount before you run it. Note: if a finished output is blocked by output moderation for a policy violation, the run is still charged. You can contact support for a manual review.
Is Seedance 2.5 free?
Not on Makernice. There are no free credits. You top up from $15, with no subscription, and the balance never expires. Failures and timeouts release the hold in full, and a 5-second 480p test is about $0.58. Note: if a finished output is blocked by output moderation for a policy violation, the run is still charged. You can contact support for a manual review.
How long can a Seedance 2.5 video be?
4 to 30 seconds per request, in whole seconds, with 5 seconds as the default. You're billed for the duration you request.
Does Seedance 2.5 support 4K?
Yes. On the Makernice API you can choose 480p, 720p (default), 1080p or 4K per request.
How many reference images can I send?
Up to 16, in reference_images, using reference-to-video mode (r2v).
Am I charged if a generation fails?
No. The hold is converted to a charge when the run completes. If a run fails or times out, the hold is released in full. Queued cancellations also release the hold. Note: if a finished output is blocked by output moderation for a policy violation, the run is still charged. You can contact support for a manual review.
Does Seedance 2.5 generate audio?
Yes. Audio is always on (no toggle). Sending generate_audio returns 400 invalid_request. If you need a silent clip, use Wan 3.0 with generate_audio set to false.
Can I switch between Seedance 2.5 and Seedance 2.0 with the same code?
Yes. Change the model field. Seedance 2.0 accepts 4–15 seconds at 720p or 1080p with up to 9 references, so adjust duration and resolution if needed.

Prompts for Seedance 2.5

Browse all prompts

More Posts

Related

Related models

Compare all models

Similar models worth comparing.

● Start building

See what it does with your prompt

Test it in the playground, or grab an API key and ship it today.

  • Quote before you pay
  • Failed runs are free
  • Prepaid, no subscription
  • Balance never expires