Seedance per-request integration

Prices, canonical parameters and AI integration instructions for two video models.

View text ↗

Choose a model

These per-request Seedance models are enabled. Before calling a model, confirm that GET /v1/models with your key includes its ID. A public listing does not grant access to every key. Use a video-service key for the 混合 group and API root https://video.1route.dev.

Display nameAPI model IDDurationStandard price
Seedance 2.0 Mini · 12 secondsseedance-2.0-mini-12sExactly 12 seconds¥1.02/request
Seedance 2.5 · Multiple imagesseedance-2.5-30img4–30 whole seconds¥2.16/request

Amounts are CNY balance units, with no USD exchange-rate conversion. These are public price snapshots for the 混合 group; confirm account-specific rates on live pricing. Each task counts once, without multiplying by duration, reference count or tokens. Polling and queue time do not create another generation task.

These are distinct from token-priced Seedance models. Never reuse their names, parameters or billing formulas. Give your AI the model and price contract and OpenAPI.

The 2.5 model accepts 4–30 whole seconds, uses fixed 720p, and supports up to 30 images, 10 MP3 references, six aspect ratios and face references. face=true enables colored-pencil preprocessing of reference images; it is off by default. Video references are unsupported.

Instructions for your AI

Integrate the 1Route per-request Seedance models using this guide and its OpenAPI.
Read VIDEO_API_KEY from private configuration. Never log it or expose it in frontend code.
Check GET /v1/models, account pricing and my CNY budget before generating.
Use the public model IDs. Mini is text-only and exactly 12 seconds; the multi-image model accepts 4–30 whole seconds.
The multi-image model uses fixed 720p, up to 30 images and 10 MP3 references. Use only the six documented ratio values and JSON booleans for face, default false.
Do not use WAN3 fields, token pricing or per-second pricing for these models.
Submit once after budget approval and save id and X-Oneapi-Request-Id immediately.
Poll the same task every 15 seconds. Download immediately after completed provides a service URL.
Never repeat POST automatically after an ambiguous timeout or 5xx. Retry GET with backoff.
Contact support if delivery is missing; do not regenerate.

Request fields

POST /v1/videos, JSON, with Authorization: Bearer YOUR_API_KEY.

FieldMini 12-second model2.5 multi-image model
modelseedance-2.0-mini-12sseedance-2.5-30img
promptRequired, 1–2000 charactersRequired, 1–2000 characters; identify references as Image 1, Image 2
secondsRequired integer 12Required integer 4 through 30
resolutionOmit or use 720p; default output is usedFixed 720p; optional, other nonempty resolution strings are normalized to 720p
imagesUnsupported; omitOptional array of at most 30 public image URL strings
audiosUnsupported; omitOptional array of at most 10 MP3 audio URL strings
ratioUnsupported; omitOptional: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9; omit to retain the model default
faceUnsupported; omitOptional JSON boolean; true enables colored-pencil preprocessing of reference images; default false

Do not send aspect_ratio, duration, size, videos, reference_images or extra billing fields. Multipart uploads, base64, preview-page links and authenticated media URLs are unsupported. Audio, ratio and face fields apply only to the 2.5 model, not Mini.

The Mini sample is portrait 720×1280; aspect-ratio selection is not offered. The 2.5 model always uses the 720p tier, so requesting 480p does not produce a 480p video. Pixel dimensions vary with aspect ratio; do not hard-code 1280×720 for every ratio.

Audio must be genuinely MP3-encoded, not a renamed WAV file. This service requires audio URL paths to end in .mp3; signed query parameters are allowed. A nonmatching extension is rejected at entry, while successful decoding still depends on the actual file contents.

face controls colored-pencil preprocessing of reference images, not guaranteed acceptance of every face reference. Use unquoted JSON booleans true and false. The 30-image and 10-audio limits do not guarantee every reference appears fully in the output. Use only legally authorized media. Audio, six-ratio and face capabilities are documented interface support; no additional paid generation was performed for these features in this update.

Minimal requests

After budget approval, choose one example, not both.

{
  "model": "seedance-2.0-mini-12s",
  "prompt": "A colorful kite sways over a meadow beneath a blue sky. A slow camera push-in, natural daylight, no text.",
  "seconds": 12
}
{
  "model": "seedance-2.5-30img",
  "prompt": "A colorful kite sways above a meadow. A slow camera push-in, natural daylight, no text.",
  "seconds": 4,
  "resolution": "720p"
}

For image references on the 2.5 model, add "images": ["https://YOUR_MEDIA_HOST/reference.jpg"]. Replace the placeholder with an authorized real image URL first. Do not submit placeholders or upload private media without approval.

2.5 image and audio example

Replace both media placeholders first. This request still counts once; duration, media count and the face switch do not add a unit-price surcharge.

{
  "model": "seedance-2.5-30img",
  "prompt": "Use Image 1 as the scene reference and the rhythm of Audio 1 to guide a continuous shot.",
  "seconds": 12,
  "resolution": "720p",
  "ratio": "16:9",
  "images": ["https://YOUR_MEDIA_HOST/reference.jpg"],
  "audios": ["https://YOUR_MEDIA_HOST/reference.mp3"],
  "face": false
}

Poll and download

  1. Save the complete creation-response id. A model name is not a task ID.
  2. Query GET /v1/videos/{id} every 15 seconds with the same key. Wait while queued or in progress.
  3. On completed, use metadata.url or the supplied url. If absent, keep querying the same task or contact support. 99% is not download readiness.
  4. Download from the returned service-signed URL verbatim, without an API key. Do not change its host or query. Links last up to about 5 minutes; ready cached files remain about 10 minutes. Save promptly.

A creation timeout or disconnect does not prove no task was created. Never retry POST automatically. Check task and usage records on terminal failure. Successful generation with failed delivery retains its charge until support delivers the file or handles a refund. Resume saved task IDs after a restart; cancellation and idempotent creation are not promised.

On this page