# Seedance 2.5 Source: https://wanapi.app/models/seedance-2-5 Seedance 2.5 turns text and reference media into video with sound. Plan a scene up to 30 seconds long, then use images, movement and audio references to give it a clearer direction. Prepare a Seedance 2.5 video in the Playground below. Sign in to check your balance, current pricing and generation availability before submitting. ## What is Seedance 2.5? Seedance 2.5 is ByteDance’s audio-video generation model for longer scenes and reference-guided work. It accepts written direction alongside visual and audio material, with up to 30 seconds in a single generation. The larger reference allowance gives Seedance 2.5 more room for distinct characters, locations and motion examples. Assign a purpose to each asset: which image defines appearance, which clip describes movement, and which recording guides the sound. Seedance 2.5 reference limits: up to 30 images, 10 video clips and 10 audio clips. These are model-level limits, not a promise that every combination will produce a usable edit. - Single generation: up to 30 seconds - Output options: 480p, 720p, 1080p; model version and input-mode restrictions apply. - References: 30 images, 10 video clips, 10 audio clips. ## A real Seedance 2.5 draft Seedance 2.5 · 480p draft · 4-second request · 24 fps · silent. Generated on October 14, 2026. The two stills come from this same clip. Prompt: A small blue bird perched on a branch gently turns its head. Static camera, natural daylight. The Seedance 2.5 sample keeps the bird and branch recognizable as the head turns. Feather detail is soft at this draft resolution; inspect the original video before judging a finished delivery. [Sample video](https://wanapi.app/media/seedance/seedance-2-5/sample.mp4) ## Seedance 2.5 pricing Compare Seedance 2.5 prices per second, estimated from current rates for 16:9 video at 24 fps. Reference videos add billable input time. Review the estimate in the Playground before submitting. Seedance 2.5 input and output video tokens use the applicable rate. A higher resolution or longer clip can increase usage. Audio has no separate price tier. Draft uses the same 480p token rate as normal generation. Estimates use 16:9 output at 24 fps. Other aspect ratios and actual output dimensions can change the cost. Without reference video, only output seconds count. With reference video, input and output seconds count; billable input time is at least two-thirds of the output duration, rounded up to a whole second. - 480p: approximately $0.0925 / billable second without reference video; $0.0553 with reference video. Official comparison: $0.1028 and $0.0615, respectively. Underlying rates: $9.63 / 1M video tokens without reference video; $5.76 with reference video. - 720p: approximately $0.2080 / billable second without reference video; $0.1244 with reference video. Official comparison: $0.2311 and $0.1382, respectively. Underlying rates: $9.63 / 1M video tokens without reference video; $5.76 with reference video. - 1080p: approximately $0.5118 / billable second without reference video; $0.3062 with reference video. Official comparison: $0.5686 and $0.3402, respectively. Underlying rates: $10.53 / 1M video tokens without reference video; $6.3 with reference video. ## Two ways to plan Seedance 2.5 work ### Direct a scene yourself Use Seedance 2.5 for a written shot brief or reference-led scene. Set the main action and framing first, then add sound direction only when it helps tell the story. ### Prepare an application workflow For a Seedance 2.5 integration, separate scene instructions from output settings. Use the integration guide for request examples, task queries and downloads. ## What Seedance 2.5 adds ### A longer narrative window Seedance 2.5 allows a scene to develop for up to 30 seconds. Give the opening, action and ending enough time instead of packing every event into the first few moments. ### More references, clearer roles Seedance 2.5 can draw on a larger set of images, videos and audio clips. Choose assets that agree about the subject, lighting and desired motion before adding more. ### Sound with the picture Seedance 2.5 generates audio and video together. Describe dialogue, environmental sound or music deliberately, then listen for timing and intelligibility rather than assuming the first result is finished. ### Targeted creative changes ByteDance documents editing and extension capabilities for Seedance 2.5. Keep the intended change specific and review surrounding frames; these features are not yet exposed through Wan API. ## Where Seedance 2.5 fits ### Short narrative scenes Give Seedance 2.5 a beginning, a visible action and a final beat. A small cast and a consistent location make it easier to judge whether the story remains clear. ### Product motion studies Test a reveal, a camera move or an object interaction with Seedance 2.5. Check labels, shapes and materials against the real product before treating the result as advertising footage. ### Reference-led previsualization Use Seedance 2.5 to explore how framing and movement might feel. Treat the output as a creative study, with an explicit review of composition, continuity and timing. ## Plan your first Seedance 2.5 clip ### Write one clear brief For Seedance 2.5, name the subject, the action, the camera and the ending. Keep spoken dialogue distinct from visual instructions so each part can be reviewed. ### Choose useful references Select only media that serves the brief. Explain what to preserve from each reference, and remove conflicting images or unrelated motion examples before you generate. ### Pick a review format Use a short Seedance 2.5 test to check direction before committing to a longer scene. A low-resolution draft can reveal composition problems without proving final-image quality. ### Review the whole result Watch for subject drift, unexpected cuts and audio problems. Keep the accepted brief and change one instruction at a time when preparing another version. ## Seedance 2.5 API access The Seedance 2.5 request accepts text, first-frame images or image and video references, plus optional reference audio. Use a key enabled for this model, submit once and check the returned task ID until the video is ready. The integration guide documents the same parameters as the Playground. Seedance 2.5 supports text, first and last frames, and image, video and audio references, with output at 480p, 720p, 1080p. Generate up to 30 seconds per request. [Model details and Playground](/models/seedance-2-5). ## Connect to Wan API Use `https://api.wanapi.app` as the API base URL. Create a key with the **Seedance** model family in [API key settings](/settings/apikeys) and send it as `Authorization: Bearer YOUR_API_KEY`. Keep keys on your server. Playground uses your website session and charges the same account balance; it does not require pasting a key into the browser. Access requires an enabled account with sufficient balance. `GET /v1/models` lists the models available to your key. Seedance models use `POST /v1/videos`; select the model in the JSON body. | Setting | Seedance 2.5 | | --- | --- | | Model ID | `bytedance/seedance-2.5` | | `resolution` | `480p`, `720p`, `1080p`; default: `720p`. | | `duration` | 4–30 output seconds, or `-1` for automatic; default: `-1`. | | `aspectRatio` | `adaptive`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `21:9`; default: `adaptive`. | | `generateAudio` | `true` by default. `false` does not reduce the token rate. | | Output | One video per request, at 24 fps. | The [request fields](#request-fields) describe all 13 top-level fields. Use the field names shown here, including `aspectRatio` and `generateAudio`. ## Submit a Seedance 2.5 task This is a four-second text-to-video request at 720p. Set `WAN_API_KEY` to your Seedance key on the server. Submit once and save the returned `id`. ```bash curl https://api.wanapi.app/v1/videos \ -H "Authorization: Bearer $WAN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "bytedance/seedance-2.5", "prompt": "A paper boat floats through a sunlit stream. Slow tracking shot.", "resolution": "720p", "aspectRatio": "16:9", "duration": 4, "generateAudio": true }' ``` ## Query a Seedance 2.5 task Save the returned `id` as `TASK_ID`, then query with the same key. Submission returns a task receipt; the video is available after completion. Begin polling every five seconds; see [task statuses and downloads](#poll-and-download-the-video). ```bash curl "https://api.wanapi.app/v1/videos/$TASK_ID" \ -H "Authorization: Bearer $WAN_API_KEY" ``` ## Seedance 2.5 pricing Rates are in USD per one million video tokens. Input and output video tokens determine the final cost. Resolution, duration and reference video inputs affect usage; use the matching rate for requests with or without reference video. Audio has no separate price tier. [View Seedance 2.5 pricing and estimates](/models/seedance-2-5#pricing). Review the estimate in the [Playground](/models/seedance-2-5#playground) before submitting. ## Request fields Send a JSON object. `model` is required, together with a non-empty prompt or at least one media input. Other fields are optional. Unknown fields are rejected. | Field | Type | Contract | | --- | --- | --- | | `model` | string | Required: `bytedance/seedance-2.5`. | | `prompt` | string | Text instructions; up to 20,000 characters on this service. A prompt or media input is required. | | `image` | URL or URL object | First-frame image URL, or an object with `type: "url"`, `url` and optional `mediaType`. Use `image` or `frameImages`, not both. | | `frameImages` | array | One `first_frame` and an optional `last_frame`. Each entry has `frameType` and `image`; see the frame example below. | | `inputReferences` | array | Up to 30 images and 10 videos. Each entry has `type: "url"`, `url` and `mediaType`. The `data`/`mediaType` URL form is also accepted. | | `aspectRatio` | string | `adaptive` (default), `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `21:9`. First-frame modes require adaptive. | | `resolution` | string | `480p`, `720p`, `1080p`. Default: `720p`. Also accepts `854x480`, `1280x720`, `1920x1080` as resolution tiers; use `aspectRatio` to select the shape. | | `duration` | integer | 4–30 output seconds, or `-1` for automatic. Default: `-1`. | | `fps` | integer | Fixed at `24`; omit or send `24`. | | `seed` | integer | Optional; `-1` to `2147483647`. No repeatability guarantee. Do not also specify `providerOptions.bytedance.seed`. | | `generateAudio` | boolean | Generate audio. Default: `true`; disabling it does not change the token rate. | | `n` | integer | Fixed at `1`; one video per request. | | `providerOptions` | object | Optional `bytedance` object: `referenceAudio` (up to 10 HTTP(S) URLs), `seed` (same bounds as top-level `seed`), `draft` (boolean; default `false`; `true` requires `480p`). Unknown options are rejected. | ### Input combinations and media limits - Use `image` for a first frame, or `frameImages` for a first frame and optional last frame. A last frame alone and duplicate frame types are rejected. - Frames cannot be combined with `inputReferences` or `providerOptions.bytedance.referenceAudio`. - Reference mode accepts up to 30 images, 10 videos and 10 audio clips, with at most 50 references in total. - Frame inputs require `aspectRatio: "adaptive"`. Reference audio can be used without an image or video. - Media inputs must be public HTTP(S) URLs. Upload bytes and credential-bearing URLs are not accepted. - Images: JPEG, PNG, WebP, BMP, TIFF or GIF, HEIC or HEIF; below 30 MB; each side 300–6000 pixels; aspect ratio 0.4–2.5. - Videos: MP4 or MOV; at most 200 MB per file; each clip 2–30 seconds and at most 30 seconds combined; 300–6000 pixels per side, aspect ratio 0.4–2.5, 24–60 fps. - Audio: MP3 or WAV; at most 15 MB per file; each clip 2–30 seconds and at most 30 seconds combined. - Remote media size, encoding and duration are checked during processing; URL validation alone cannot guarantee that a file is usable. - Draft-to-final rendering from an earlier task and arbitrary native task options are not exposed by this endpoint. ## Frame and reference examples Send these bodies to the same `POST /v1/videos` endpoint. Replace every `example.com` URL with your own directly accessible media URL before submitting. Keep input URLs available until the task finishes. ### First and last frames For a single first frame, use `image: "https://example.com/first-frame.jpg"` and omit `frameImages`. To set both endpoints of the clip, use: ```json { "model": "bytedance/seedance-2.5", "prompt": "The camera slowly moves from the opening scene to the closing scene.", "frameImages": [ { "frameType": "first_frame", "image": "https://example.com/first-frame.jpg" }, { "frameType": "last_frame", "image": "https://example.com/last-frame.jpg" } ], "aspectRatio": "adaptive", "resolution": "720p", "duration": 4 } ``` ### Image, video and audio references Put image and video inputs in `inputReferences`, with an explicit MIME type. Put audio URLs in `providerOptions.bytedance.referenceAudio`. Do not add frame inputs to this request. ```json { "model": "bytedance/seedance-2.5", "prompt": "Use the character from the image and the camera movement from the video.", "inputReferences": [ { "type": "url", "url": "https://example.com/character.jpg", "mediaType": "image/jpeg" }, { "type": "url", "url": "https://example.com/motion.mp4", "mediaType": "video/mp4" } ], "providerOptions": { "bytedance": { "referenceAudio": [ "https://example.com/sound.wav" ] } }, "resolution": "720p", "duration": 4 } ``` ### Draft preview Use `providerOptions.bytedance.draft: true` with `resolution: "480p"` to create a draft. Draft uses the normal 480p token rate. This endpoint does not accept an earlier draft task as the input for a final render; a new generation is a separate request. ```json { "model": "bytedance/seedance-2.5", "prompt": "A paper boat floats through a sunlit stream. Slow tracking shot.", "resolution": "480p", "aspectRatio": "16:9", "duration": 4, "generateAudio": true, "providerOptions": { "bytedance": { "draft": true } } } ``` ## Poll and download the video An accepted task returns an object like this. Example IDs and timestamps are illustrative: ```json { "id": "task_EXAMPLE", "object": "video", "model": "bytedance/seedance-2.5", "status": "queued", "progress": 0, "created_at": 1792022400 } ``` Poll `GET /v1/videos/{task_id}` with your API key. The query returns the same public task ID and model. Use `status` to decide when to stop polling; `progress` is not an estimate of remaining time. | Status | Meaning | Next step | | --- | --- | --- | | `queued` | The task has been accepted. | Continue polling. | | `in_progress` | Generation is running. | Continue polling. | | `completed` | The video is ready. | Read `videos[0].url` and download. | | `failed` | Generation failed. | Stop polling and inspect `error`. | A completed query includes `videos`, an array of objects containing `url` and `mediaType`. Timestamps use Unix seconds; `completed_at` appears when completion is recorded. ```json { "id": "task_EXAMPLE", "object": "video", "model": "bytedance/seedance-2.5", "status": "completed", "progress": 100, "created_at": 1792022400, "completed_at": 1792022460, "videos": [ { "url": "/v1/tasks/task_EXAMPLE/artifacts/video/content", "mediaType": "video/mp4" } ] } ``` When the returned URL is a relative path, resolve it against `https://api.wanapi.app` and authenticate with your API key. For the example above: ```bash curl "https://api.wanapi.app/v1/tasks/$TASK_ID/artifacts/video/content" \ -H "Authorization: Bearer $WAN_API_KEY" \ -o video.mp4 ``` If a signed HTTPS media URL is returned, use it directly without forwarding your API key to that host. Result URLs can expire. Save videos you want to keep to your own storage. Polling and downloading an existing result do not create another generation. A failed task includes an `error` object with `code` and `message`, for example: ```json { "id": "task_EXAMPLE", "object": "video", "model": "bytedance/seedance-2.5", "status": "failed", "error": { "code": "generation_failed", "message": "Video generation failed" } } ``` ## Billing and failure handling The final charge follows actual video token usage and the current model rate. The Playground estimate is a maximum estimate, not a fixed quote. Longer clips and larger output resolutions can increase token usage. Failed requests are not charged. - **Invalid parameters:** correct the fields or input combination before submitting again. Check media formats and limits as well as URL syntax. - **Authentication or model access:** use a valid Seedance key enabled for the requested model. - **Insufficient balance:** add funds before a new paid request. A key limit does not add account credit. - **Temporary polling failure:** retry the GET with backoff and a maximum waiting period. A failed query does not mean the generation failed. - **Submission timeout or missing task ID:** the outcome may be unknown. Do not automatically repeat the POST; it could create a second paid task. - **Download failure:** retry the existing result before starting a new generation. Keep the task ID and contact [support](/contact) if an uncertain submission needs investigation. [Download the Seedance 2.5 OpenAPI schema](https://wanapi.app/models/seedance-2-5/openapi.json). ## Before choosing Seedance 2.5 - Seedance 2.5 output options listed here stop at 1080p. A 4K delivery label or an enlarged file does not by itself prove native 4K generation. - A Seedance 2.5 reference is guidance, not a guarantee that every face, object, word or sound will stay unchanged. Review the details that matter for your intended use. - The Seedance 2.5 draft shown here is a 480p sample. It is not a 720p or 1080p quality comparison, and it does not establish a typical generation time. ## Seedance 2.5 questions ### How long can a video be? A single Seedance 2.5 generation can be up to 30 seconds. ByteDance also describes extension, a separate capability not available on Wan API yet. Decide whether another shot or a continuation would serve the story. ### Does it support reference video? Yes. The Seedance 2.5 limits are 10 video clips, 30 images and 10 audio clips. Give each asset a clear role: a movement reference and an appearance reference should not give conflicting instructions. ### Can it generate sound? Yes, Seedance 2.5 audio and video are generated together. The silent bird sample on this page deliberately used audio disabled, so it does not demonstrate voice or music quality. For a spoken scene, review every line and its timing against the image before approving the result. ### Is the output native 4K? This page lists Seedance 2.5 output options through 1080p. We do not claim native 4K, and the 480p sample cannot establish the model’s internal rendering process. Check the exact generation setting and the delivered file separately from any later resizing or enhancement. ### Is it better than Seedance 2.0? Seedance 2.5 provides a longer single clip and a larger reference allowance. Those differences matter when a scene needs more time or more supporting material. They do not prove that every short shot will be sharper, faster or more consistent; compare a matching brief and inspect the result. ### Can I use it on Wan API now? The Seedance 2.5 Playground provides the current generation status, price and balance checks. Sign in, prepare a request and use Generate video when available. If generation is temporarily unavailable, you can still review the parameters and copy the request. Playing the sample does not spend credits. [Seedance 2.5 vs Seedance 2.0: which fits your scene?](https://wanapi.app/blog/seedance-2-5-vs-2-0) [Official model page](https://seed.bytedance.com/en/seedance2_5) [Release announcement](https://seed.bytedance.com/en/blog/one-take-creation-flexible-referencing-introducing-seedance-2-5)