# Seedance 2.0 Source: https://wanapi.app/models/seedance-2-0 Seedance 2.0 combines text, images, video and audio references to create short scenes with sound. Build a shot around one idea, keep its visual direction clear, and review the result from start to finish. Prepare a Seedance 2.0 video in the Playground below. Sign in to check your balance, current pricing and generation availability before submitting. ## What is Seedance 2.0? Seedance 2.0 is ByteDance’s multimodal video model for generating pictures and sound together. It supports text, image, video and audio inputs, with single-generation clips up to 15 seconds. The reference system makes Seedance 2.0 useful when a written prompt alone leaves too much room for interpretation. An image can establish a subject, a clip can show a movement, and sound can help describe the intended performance. Seedance 2.0 accepts up to 9 reference images, 3 video clips and 3 audio clips. Check the input-mode requirements when combining different types of material. - Single generation: up to 15 seconds - Output options: 480p, 720p, 1080p, 4K; model version and input-mode restrictions apply. - References: 9 images, 3 video clips, 3 audio clips. ## A Seedance 2.0 reference sample Seedance 2.0 · 720p · approximately 5 seconds · includes audio. An existing model sample; both stills come from this clip. Prompt: A red paper boat drifts across a calm pond at sunrise, gentle ripples, soft golden light, slow dolly-in shot. This Seedance 2.0 example uses a small subject against a wide landscape. Inspect the boat shape, water movement and camera continuity at full size; it is not a side-by-side benchmark against the bird sample. [Sample video](https://wanapi.app/media/seedance/seedance-2-0/sample.mp4) ## Seedance 2.0 pricing Compare Seedance 2.0 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.0 input and output video tokens use the applicable rate. A higher resolution or longer clip can increase usage. Audio has no separate price tier. Standard, Fast and Mini are separate models; these rates apply to the standard model. 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.0633 / billable second without reference video; $0.0389 with reference video. Official comparison: $0.0703 and $0.0432, respectively. Underlying rates: $6.3 / 1M video tokens without reference video; $3.87 with reference video. - 720p: approximately $0.1361 / billable second without reference video; $0.0836 with reference video. Official comparison: $0.1512 and $0.0929, respectively. Underlying rates: $6.3 / 1M video tokens without reference video; $3.87 with reference video. - 1080p: approximately $0.3368 / billable second without reference video; $0.2056 with reference video. Official comparison: $0.3742 and $0.2284, respectively. Underlying rates: $6.93 / 1M video tokens without reference video; $4.23 with reference video. - 4K: approximately $0.6998 / billable second without reference video; $0.4199 with reference video. Official comparison: $0.7776 and $0.4666, respectively. Underlying rates: $3.6 / 1M video tokens without reference video; $2.16 with reference video. ## Two starting points for Seedance 2.0 ### Start with a scene brief Describe one readable action for Seedance 2.0, then decide whether a reference would remove ambiguity. A clear opening frame is often more useful than a long list of adjectives. ### Prepare repeatable shot requests Keep the creative brief separate from output settings when planning a Seedance 2.0 application. Use the integration guide for request examples, task queries and downloads. ## What Seedance 2.0 can do ### Generate a short scene with sound Seedance 2.0 produces audio and video together. Give speech, ambience and movement their own directions, then check that the soundtrack supports what is happening on screen. ### Work from visual references Show Seedance 2.0 the subject or scene you have in mind. State which details should stay recognizable and which parts of the image are only background inspiration. ### Use motion as a reference A reference clip can help communicate an action or camera move to Seedance 2.0. Keep the intended movement distinct from the identity and styling of the source subject. ### Explore edits and continuations ByteDance documents editing and extension for Seedance 2.0. These model capabilities can support revisions, but they are not exposed through Wan API. ## Scenes to explore with Seedance 2.0 ### A focused product reveal Ask Seedance 2.0 for one movement that reveals a product’s shape or texture. Compare the result with the source product before approving labels, geometry or material appearance. ### A short character moment Keep a Seedance 2.0 performance readable: one reaction, a brief exchange or a simple interaction. Review faces, hands and speaker timing when those details carry the scene. ### A camera and mood study Use Seedance 2.0 to explore a slow push-in, a change of framing or a landscape reveal. Choose the output for its composition and motion, not just one attractive still. ## Plan your first Seedance 2.0 clip ### Define the main action Write a Seedance 2.0 brief with a subject, an action and a clear endpoint. Limit competing events so you can identify whether the model followed the central instruction. ### Assign reference roles Choose references for appearance, movement or sound. State which role each asset serves, and remove material that contradicts the intended scene, lighting or identity. ### Keep the first test short A short Seedance 2.0 scene is easier to review than a crowded sequence. Select duration and output format deliberately, then use the result to assess the brief. ### Check picture and sound Watch for changes to the subject, unintended cuts and mismatched audio. Revise the specific problem while preserving the instructions and references that already worked. ## Seedance 2.0 API access The Seedance 2.0 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.0 supports text, first and last frames, and image, video and audio references, with output at 480p, 720p, 1080p, 4K. Generate up to 15 seconds per request. [Model details and Playground](/models/seedance-2-0). ## 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.0 | | --- | --- | | Model ID | `bytedance/seedance-2.0` | | `resolution` | `480p`, `720p`, `1080p`, `4k`; default: `720p`. | | `duration` | 4–15 output seconds, or `-1` for automatic; default: `5`. | | `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.0 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.0", "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.0 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.0 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.0 pricing and estimates](/models/seedance-2-0#pricing). Review the estimate in the [Playground](/models/seedance-2-0#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.0`. | | `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 9 images and 3 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`. | | `resolution` | string | `480p`, `720p`, `1080p`, `4k`. Default: `720p`. Also accepts `854x480`, `1280x720`, `1920x1080` and `3840x2160` as resolution tiers; use `aspectRatio` to select the shape. | | `duration` | integer | 4–15 output seconds, or `-1` for automatic. Default: `5`. | | `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 3 HTTP(S) URLs), `seed` (same bounds as top-level `seed`). `draft: true` is not supported. 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 9 images, 3 videos and 3 audio clips, with at most 15 references in total. - 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; below 30 MB; each side 300–6000 pixels; aspect ratio 0.4–2.5. - Videos: MP4 or MOV; at most 50 MB per file; each clip 2–15 seconds and at most 15 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–15 seconds and at most 15 seconds combined. At least one reference image or video is required. - 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.0", "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.0", "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 } ``` ## 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.0", "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.0", "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.0", "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.0 OpenAPI schema](https://wanapi.app/models/seedance-2-0/openapi.json). ## Before choosing Seedance 2.0 - Seedance 2.0 output settings depend on the selected version and input mode. BytePlus documents 4K for the standard model; do not carry that promise over to Fast or Mini. - Seedance 2.0 can change small details, text or appearance while generating motion. Check every detail that matters for the project instead of approving from a thumbnail. - The Seedance 2.0 sample here is 720p. It demonstrates one short scene, not native 4K quality, a guaranteed turnaround or current Wan API generation availability. ## Seedance 2.0 questions ### What is it used for? Seedance 2.0 generates short videos with synchronized sound from text and references. Start with a product reveal, a character reaction or a camera move, then judge whether the action and sound match your intention. ### How long can a clip be? A single Seedance 2.0 generation can be up to 15 seconds. Longer projects can use multiple shots; extension is a distinct capability. Decide whether you need one continuous scene or an edited sequence. ### Does it accept image and video references? Yes. The Seedance 2.0 limits include up to 9 images, 3 video clips and 3 audio clips. Give each asset a clear role and check the input-mode requirements before preparing a reference-heavy scene. ### Does the standard model support 4K? BytePlus documents 4K for standard Seedance 2.0, with version and input-mode restrictions. Not every service or variant offers it. The sample here is 720p and does not demonstrate 4K quality. ### Is it the same as Fast or Mini? No. Fast and Mini have their own capabilities and pricing. This page describes standard Seedance 2.0. Check the exact name and supported settings before reusing a request or comparing samples. ### When should I consider Seedance 2.5 instead? Consider the later model when one scene needs more than 15 seconds or a larger set of reference assets. For shorter work, compare a matching brief at matching settings. This page does not claim one version always produces better pictures, lower cost or faster completion. ### Can I generate videos on Wan API now? The Seedance 2.0 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_0) [Release announcement](https://seed.bytedance.com/en/blog/seedance-2-0-official-launch)