Yovid

Seedance 2.5 API: How to Call It, Parameters, Limits and Credit Costs

Frame from a Seedance 2.5 reference-to-video showcase clip: a paper puppy and a real yellow puppy playing in a child’s bedroom.
Nora
Nora
|
Published on Oct 22, 2026

Direct answer: you can call Seedance 2.5 through the Yovid API with one key. Send POST https://yovid.ai/v1/videos/generations with "model": "seedance-2.5" and a prompt, then poll GET /v1/tasks/{task_id} until the status is completed and read output.video_url. Clips run 4 to 30 seconds, and one request can carry up to 30 images, 10 videos and 10 audio files as references. Billing uses the same Yovid credits as the website, and credits are only deducted when a task succeeds.

Contents

  1. Where Seedance 2.5 API access comes from
  2. Quickstart in four steps
  3. Request parameters
  4. How the API picks the generation mode
  5. Reference and media limits
  6. What a request costs
  7. Errors, retries and rate limits
  8. A complete Python example
  9. FAQ

Where Seedance 2.5 API access comes from

Seedance 2.5 is ByteDance Seed's model. ByteDance's own developer route runs through its cloud platforms: its July 31, 2026 launch post said API access was coming via BytePlus ModelArk, press reports say Volcano Engine opened API access in China on August 7, and ByteDance's Seedance 2.5 page links to the BytePlus playground.

Yovid is an independent platform, not affiliated with ByteDance, and offers Seedance 2.5 through its own API:

  • One key, one bill. The same key and the same credits cover Seedance 2.5, 2.0, 2.0 Fast, 2.0 Mini, 1.5 Pro and 1.0 Pro Fast.
  • Stable public IDs. You send seedance-2.5; Yovid keeps provider model names internal so they can change without breaking your code.
  • The same account as the website. Clips you generate through the API use the plan and credits you already have.

The full reference lives in the Yovid API docs; this guide focuses on what is specific to Seedance 2.5.

Quickstart in four steps

1. Create an API key

Open Settings → API keys, name the key and create it. The full secret is shown once, so store it in a secret manager and load it on your server as YOVID_API_KEY. Never put it in browser or mobile code.

2. Create a task

curl https://yovid.ai/v1/videos/generations \
  -H "Authorization: Bearer $YOVID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5",
    "prompt": "A lighthouse keeper climbs a spiral staircase with a lantern, reaches the lamp room as a storm rolls in, and lights the great lamp. Wind howling, boots on iron steps.",
    "duration": 10,
    "quality": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }'
Response
{
  "task_id": "vid_01JZK7R7KCYQ3T9F33A7K0J6XB",
  "status": "pending",
  "created_at": "2026-10-22T08:30:00.000Z"
}

3. Poll the task

curl https://yovid.ai/v1/tasks/vid_01JZK7R7KCYQ3T9F33A7K0J6XB \
  -H "Authorization: Bearer $YOVID_API_KEY"

Poll every 5 to 10 seconds while the status is pending or processing, and back off as you go. When it changes to completed, the video URL is in output.video_url; if it changes to failed, stop polling and read error.

4. Check your credits

curl https://yovid.ai/v1/credits \
  -H "Authorization: Bearer $YOVID_API_KEY"

available is what a new task can use; reserved is held for tasks still running.

Request parameters

FieldTypeSeedance 2.5 notes
modelstringseedance-2.5
promptstringRequired. Timed beats, quoted dialogue and @image1-style references all work
durationinteger4 to 30 seconds
qualitystringThe docs list 480p and 720p for Seedance 2.5
aspect_ratiostring16:9, 9:16, 1:1, 4:3, 3:4, 21:9 or adaptive
generate_audiobooleanSound, dialogue and effects in the same pass
image_urlsarrayUp to 30 public HTTPS image URLs
video_urlsarrayUp to 10 public HTTPS video URLs
audio_urlsarrayUp to 10 public HTTPS MP3 or WAV URLs
reference_modebooleanTreat one or two images as references instead of first and last frames
output_formatstringmp4 (default) or mov
content_filterbooleanOptional filter, on by default; false applies a 1.1× rate
web_searchbooleanText-to-video requests only

The API checks every value against the model and your plan before it creates a task, and returns a 403 or 422 with the offending field in param if something is not allowed. Start from a frame and the output follows that image's shape.

How the API picks the generation mode

You never send a provider mode. Yovid chooses it from the media you attach:

You sendMode
No mediaText to video
One imageImage to video, the image is the first frame
Two imagesFirst and last frame
Three or more imagesReference to video
Any videoReference to video
Any audioReference to video
One or two images plus "reference_mode": trueReference to video

In reference mode, address files in the prompt by their order in each array: @image1, @image2, @video1, @audio1. A reference request looks like this:

Reference to video
{
  "model": "seedance-2.5",
  "prompt": "@image1 is the main character. @image2 is the ceramic mug she holds; keep its shape and logo. @image3 is the kitchen. She walks into the kitchen, pours coffee into the mug and turns to the window. Use @audio1 as her voice: she says, \"Finally, Saturday.\"",
  "image_urls": [
    "https://example.com/character.jpg",
    "https://example.com/mug.jpg",
    "https://example.com/kitchen.jpg"
  ],
  "audio_urls": ["https://example.com/voice-sample.mp3"],
  "duration": 12,
  "quality": "720p"
}

Audio references are an API feature: the website composer takes images and videos, while the API adds up to 10 audio files for a voice, a track or a rhythm.

Reference and media limits

From the models and inputs page of the API docs:

MediaFormatsLimits
ImagesJPEG, PNG, WebPUp to 30; 300 to 6000 px per side; aspect ratio 0.4 to 2.5; up to 30 MB each
VideosMP4, MOVUp to 10; 2 to 30 s each and 30 s in total; 24 to 60 FPS; up to 200 MB each
AudioMP3, WAVUp to 10; 2 to 30 s each and 30 s in total; up to 15 MB each

All media must be public HTTPS URLs. Yovid rejects localhost, private network addresses, URLs with embedded credentials and hostnames it cannot resolve. Use URLs rather than Base64; the provider caps each request body at 64 MB.

What a request costs

The API bills in the same credits as the website, from the same rates. At credit-pack base rates, Seedance 2.5 costs about 3 credits per second at 480p and about 6.1 at 720p, so a 10-second 720p clip is about 61 credits and a 30-second one about 183. Subscribers pay less per second.

  • Reference videos are billed on the reference clip's length plus the output length, at a lower rate: about 2.1 credits per second at 480p and 4.6 at 720p.
  • Turning off content_filter multiplies the cost by 1.1.
  • Reservation, then deduction. Credits are reserved when the task is created and deducted only if it completes; a failed task gives them back.
  • Plan access. Seedance 2.5 needs a paid plan or a one-time credit pack. A free account gets 403 plan_upgrade_required.

The completed task reports what it used in credits_used. See the pricing page for plans and packs, and whether Seedance 2.5 is free for the cheapest way in.

Errors, retries and rate limits

StatusMeaningRetry?
401Key missing, invalid or revokedNo, replace the key
402Not enough available creditsNo, add credits
403Model or quality needs a higher planNo, change the input or plan
422Invalid parameter, unavailable model or blocked promptNo, fix the request
429Rate limit or concurrent task limit reachedYes, with backoff
500, 502, 503Server, provider or moderation problemYes, after a delay

Each key allows up to 120 requests per minute, and polling counts toward it. The create endpoint does not support idempotency keys yet, so do not retry a POST automatically when you do not know whether the first one succeeded: it can create a second task and reserve credits twice. Record every task_id you receive.

A complete Python example

import os
import time

import requests

API = "https://yovid.ai"
HEADERS = {"Authorization": f"Bearer {os.environ['YOVID_API_KEY']}"}

create = requests.post(
    f"{API}/v1/videos/generations",
    headers=HEADERS,
    json={
        "model": "seedance-2.5",
        "prompt": (
            "0-10s: a courier in a yellow rain jacket runs out of a subway exit into a night street. "
            "10-20s: she weaves between umbrellas as a taxi brakes. "
            "20-30s: she stops at a door and knocks twice. Rain and traffic, no music."
        ),
        "duration": 30,
        "quality": "720p",
        "aspect_ratio": "16:9",
    },
    timeout=30,
)
create.raise_for_status()
task_id = create.json()["task_id"]

delay = 5
while True:
    task = requests.get(f"{API}/v1/tasks/{task_id}", headers=HEADERS, timeout=30)
    task.raise_for_status()
    data = task.json()
    if data["status"] == "completed":
        print(data["output"]["video_url"], data["credits_used"])
        break
    if data["status"] == "failed":
        raise RuntimeError(data["error"])
    time.sleep(delay)
    delay = min(delay * 1.5, 30)

The prompt uses timed beats, which is the most reliable way to fill a 30-second clip. The Seedance 2.5 prompt guide has 13 prompts you can send as they are, and the comparisons with Kling 3.0, Veo 3.1 and Seedance 2.0 help you choose which model ID to call.

FAQ

Is there an official Seedance 2.5 API?

ByteDance offers Seedance 2.5 to developers through its cloud platforms, Volcano Engine and BytePlus. Yovid's API is an independent alternative: one key and one credit balance for Seedance 2.5 and the other Seedance models.

What is the model ID for Seedance 2.5 on Yovid?

seedance-2.5. Other public IDs are seedance-2.0, seedance-2.0-fast, seedance-2.0-mini, seedance-1.5-pro and seedance-1.0-pro-fast.

How long can a Seedance 2.5 API video be?

4 to 30 seconds per task, set with duration.

Which resolutions does the Seedance 2.5 API support?

The API docs list 480p and 720p for seedance-2.5. Your plan also sets a ceiling, and the API returns a 403 before creating a task if the quality is above it.

Can I send audio as a reference?

Yes, up to 10 MP3 or WAV files in audio_urls, addressed in the prompt as @audio1, @audio2 and so on. Audio references are available through the API only.

Does a failed task cost credits?

No. Credits are reserved when the task is created and deducted only when it completes successfully.

How many requests can I make?

Up to 120 requests per minute per key, polling included, plus a limit on concurrent tasks that depends on your plan. A 429 response means wait and retry with backoff.

Ready to build? Create a key in Settings → API keys and follow the API quickstart.

#Seedance 2.5#API#developers
Related Posts
Frame from a Seedance 2.5 showcase clip: a felt rabbit and a felt squirrel on a handmade miniature meadow in morning sun.

Is Seedance 2.5 Free? How to Try It and What It Costs on Yovid

A straight answer on Seedance 2.5 free access: what free sign-up credits cover on Yovid, the cheapest way to test Seedance 2.5, credit costs per clip, watermarks, commercial use and free offers elsewhere.

Frame from a Seedance 2.5 showcase clip: an old barber trimming a customer in a neighborhood barbershop at dusk.

Seedance 2.5 Prompt Guide: Structure, Timed Beats and 13 Prompts to Copy

How to prompt Seedance 2.5: a seven-part structure, timed beats for 30-second takes, dialogue in quotes, sound cues, @image and @video references, edit and extend wording, and 13 prompts to copy.

Frame from a Seedance 2.5 showcase clip: two young adults sitting on a seaside bench at dusk after a swim.

Seedance 2.5 vs Kling 3.0: Length, Dialogue, References and Cost Compared

Seedance 2.5 and Kling 3.0 side by side on Yovid: 30 vs 15 seconds, references, edit and extend, dialogue languages, 4K, aspect ratios and what a clip costs in credits, with a pick for each kind of shot.

Frame from a Seedance 2.5 showcase clip: a woman in a blue dress on mossy stone stairs in a glowing fairy-tale forest.

Seedance 2.5 vs Seedance 2.0: What Is New and When 2.0 Still Wins

What changed from Seedance 2.0 to Seedance 2.5: 30-second clips, 30 image and 10 video references, edit and extend modes, 480p drafts, plus where Seedance 2.0 is still cheaper or the only one with 4K.