# Seedance 2.5 Pro API on TokenRa Model ID: `artsdance-2-5-pro-260801` Get an API key: https://tokenra.io/register?utm_source=llms-agent&utm_medium=model-llms Updated: 2026-10-30 > Seedance 2.5 Pro is ByteDance's Seedance 2.5 video model, served on TokenRa under the ID `artsdance-2-5-pro-260801`. It takes text and reference images and returns a video with audio. The request format differs from Seedance 2.0. - Provider: ByteDance - Type: Video model - Input: Text, reference images - Output: 720p or 1080p video - Mode: Async task ## Pricing Rates in the TokenRa console when this file was last updated, in US dollars for the default group. The live price list is authoritative: https://tokenra.io/pricing (JSON: https://tokenra.io/api/pricing). - `artsdance-2-5-pro-260801`: $8.88 per 1M tokens, input and output at the same rate (a video task is charged by the tokens it uses) ## Capabilities & endpoints Video generation is asynchronous: create a task, then poll it. A 4-5 second 720p clip took about 5 minutes in testing. - `POST https://tokenra.io/v1/video/generations`: Create a task. Returns `task_id` immediately. - `GET https://tokenra.io/v1/video/generations/{task_id}`: Query the task. The video link is in `data.result_url` when `data.status` is `SUCCESS`. ## Example Set `TOKENRA_API_KEY` to your API key first. The docs page has the same example in Python, JavaScript and Java. ```bash # 1. Create the task. The response contains task_id. curl https://tokenra.io/v1/video/generations \ -H "Authorization: Bearer $TOKENRA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "artsdance-2-5-pro-260801", "prompt": "A paper boat drifting down a rainy neon street at night, cinematic close-up", "resolution": "720p", "ratio": "16:9", "duration": 5 }' # 2. Poll every 10-15 s until data.status is SUCCESS or FAILURE. curl https://tokenra.io/v1/video/generations/TASK_ID \ -H "Authorization: Bearer $TOKENRA_API_KEY" ``` ## Generation modes ### A. Text to video Output settings sit at the top level of the request. Tested on 2026-10-23: the video came back 720x1280, 4.08 seconds long and without an audio track. **POST /v1/video/generations** ```json { "model": "artsdance-2-5-pro-260801", "prompt": "A paper boat drifting down a rainy neon street at night, cinematic close-up", "resolution": "720p", "ratio": "9:16", "duration": 4, "generate_audio": false } ``` ### B. Reference images Image URLs in `images` are sent to the model as reference images. Tested on 2026-10-23: a 1280x720, 5-second video with audio, the defaults when `ratio`, `duration` and `generate_audio` are left out. **POST /v1/video/generations** ```json { "model": "artsdance-2-5-pro-260801", "prompt": "The logo card slowly zooms in while a soft light sweeps across it", "images": ["https://example.com/logo-card.png"], "resolution": "720p" } ``` ### C. content array To control each item, send `content` instead of `prompt` and `images`: 1 to 16 items of type `text` or `image_url`, with at least one `text` item. `role` is passed to the model as given. Mode B is converted into this same request. **POST /v1/video/generations** ```json { "model": "artsdance-2-5-pro-260801", "resolution": "720p", "content": [ {"type": "text", "text": "The character from image 1 walks into the room from image 2"}, { "type": "image_url", "image_url": {"url": "https://example.com/character.png"}, "role": "reference_image" }, { "type": "image_url", "image_url": {"url": "https://example.com/room.png"}, "role": "reference_image" } ] } ``` ## Request parameters **Output settings go at the top level** Seedance 2.5 reads `resolution`, `ratio`, `duration` and `generate_audio` from the top level of the request. This is the opposite of [Seedance 2.0](https://tokenra.io/docs/seedance-2-0-pro.html), which reads them from `metadata`. | Parameter | Type | Required | Description | | --- | --- | --- | --- | | `model` | string | Yes | `artsdance-2-5-pro-260801` | | `prompt` | string | Yes | Describe the scene, the motion and the camera. Optional when `content` contains a `text` item. | | `resolution` | string | Yes | `720p` or `1080p`. Required; `480p` and a missing value are rejected. Also decides the price. | | `ratio` | string | No | Aspect ratio such as `16:9` or `9:16`; `9:16` was tested. | | `duration` | integer | No | Length in seconds. Default 5; `4` was tested. | | `generate_audio` | boolean | No | Generate a soundtrack. On by default; `false` produced a silent video. | | `images` | string[] | No | Reference image URLs, see mode B. | | `content` | array | No | Text and image items, see mode C. Replaces `prompt` and `images`. | **Not supported on TokenRa** - `metadata` is ignored. A request that put `resolution` only in `metadata` was rejected with `invalid_resolution`. - Video and audio references are not available: `video_url` and `audio_url` items fail with `unsupported content type`. - Only the fields in the table are sent to the model. Others, such as `seed`, `watermark`, `return_last_frame` or `callback_url`, are dropped without an error. ## Response format ### Create response **200 OK** ```json { "id": "task_FUhA4FK80TV1p70mpHlyZXCxeHR0dPPa", "task_id": "task_FUhA4FK80TV1p70mpHlyZXCxeHR0dPPa", "object": "video", "model": "artsdance-2-5-pro-260801", "status": "queued", "progress": 0, "created_at": 1792766873 } ``` ### Query response **200 OK** ```json { "code": "success", "message": "", "data": { "task_id": "task_FUhA4FK80TV1p70mpHlyZXCxeHR0dPPa", "action": "generate", "status": "SUCCESS", "fail_reason": "", "result_url": "https://example.com/output.mp4", "submit_time": 1792766873, "start_time": 1792766890, "finish_time": 1792767085, "progress": "100%", "data": { "id": "cgt-20261023154938-amaq7", "object": "video.generation", "status": "completed", "data": [{"url": "https://example.com/output.mp4"}], "usage": {"total_tokens": 104140, "completion_tokens": 104140} } } } ``` `data.data` holds the raw upstream task. Unlike Seedance 2.0 it does not repeat the resolution, ratio or duration; `usage.total_tokens` is the billed video token count. | data.status | Meaning | | --- | --- | | `NOT_START` / `SUBMITTED` / `QUEUED` | Accepted, waiting to start. | | `IN_PROGRESS` | Generating. | | `SUCCESS` | Done. Download `result_url`. | | `FAILURE` | Failed. The reason is in `fail_reason`; the pre-charged amount is refunded. | ## Errors & limits ### Errors from this model | HTTP | code | Message | Cause | | --- | --- | --- | --- | | `400` | `invalid_resolution` | `resolution must be 720p or 1080p` | `resolution` missing, `480p`, or only inside `metadata`. | | `400` | `invalid_request` | `prompt is required` | No `prompt` and no `text` item in `content`. | | `500` | `build_request_failed` | `unsupported content type: video_url` | A `content` item other than `text` or `image_url`. | ### Common errors | HTTP | error.code | Meaning | What to do | | --- | --- | --- | --- | | `401` | - | Missing, wrong or deleted API key. The message is `Invalid token`. | Check the `Authorization: Bearer` header and the key in the console. | | `400` | - | The body is not valid JSON. | Fix the JSON and send `Content-Type: application/json`. | | `500` | `invalid_request` | A required field is missing, for example `messages`. | Add the field named in the message. Retrying will not help. | | `403` | `insufficient_user_quota` | Your balance or plan quota is used up. | Top up in the console, then retry. | | `503` | `model_not_found` | Unknown model ID, or no channel serves it for your group. | Check the ID in the model list or with `GET /v1/models`. | | `429` | - | Too many requests. | Back off exponentially and retry. | | `5xx` | - | The upstream provider failed or timed out. | Retry a few times; keep the request id if it persists. | ### Limits and notes - Poll every 10-15 seconds. Test tasks (4-5 s, 720p) finished in about 5 minutes. - `result_url` is a temporary link. Download and store the video yourself. - The price depends on `resolution` (720p or 1080p). See the live rate in the Model Square. ## More - [Seedance 2.5 Pro API docs page](https://tokenra.io/docs/artsdance-2-5-pro-260801.html): parameter tables and code samples in cURL, Python, JavaScript and Java - [Seedance 2.5 Pro overview and pricing page](https://tokenra.io/models/seedance-2-5-api.html) - [API basics](https://tokenra.io/docs/common.html): base URL, authentication, errors, retries - [Quickstart](https://tokenra.io/docs/quickstart.html): create a key and send a first request - [All models](https://tokenra.io/docs/models.html): every model ID - [Chinese version of this guide](https://tokenra.io/zh/docs/artsdance-2-5-pro-260801/llms.txt) - [Site index for agents](https://tokenra.io/llms.txt) --- Canonical version of this document: https://tokenra.io/docs/artsdance-2-5-pro-260801/llms.txt