# Seedance 2.0 Source: https://funnyai.io/models/seedance-2-0 Generate short video with Seedance 2.0 at resolutions up to 4K. Begin with a text brief, an opening image or media references, and include sound when the scene calls for it. Test the inputs in Funny AI’s Playground before adding the model to your application. Choose a short-video request below. Sign in to view your balance and confirm the current generation estimate. ## What can Seedance 2.0 create? Seedance 2.0 is a ByteDance model for short video with synchronized sound, guided by text or media. Its output range extends from smaller previews to 4K, letting you evaluate a brief and prepare a larger delivery with the same model. Choose four to fifteen seconds or automatic duration. Choose how to describe the Seedance 2.0 scene around the material you already have. A sentence can introduce a new location; a first frame can establish a product composition; references can separate the subject from the movement you want. The input choice helps make your creative intent concrete before you submit. Seedance 2.0 accepts up to 9 reference images, 3 video clips and 3 audio clips. Video and audio each have a separate fifteen-second combined-duration limit. - 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. ## Scene study: a small café moment Scene illustration generated with Wan 3.0 · 5 seconds · 480p · silent. This is not Seedance 2.0 or 4K output. Prompt: A small red panda sits at an outdoor cafe table and gently nudges an empty white ceramic cup with one paw, then tilts its head toward a curl of rising steam from a nearby teapot. Warm dappled garden light, natural fur, medium close shot, static camera, a quiet playful moment. One continuous five-second shot. No clothing, no text, no logos, no watermark. The café illustration offers a brief to try: a red panda reaches toward a cup while steam rises nearby. Check the paw’s contact and the cup’s shape through the movement. The displayed clip is standard Wan 3.0 footage, not a resolution test of this model. [Sample video](https://funnyai.io/media/funny-ai/2026-10-18/seedance-2-0/video.mp4) ## Estimate the chosen output size Seedance 2.0 bills video tokens. The table converts live rates to per-second estimates for 16:9 video at 24 fps, so you can compare the output tiers for the shot you are preparing. A larger Seedance 2.0 output can use more tokens even when its token rate is lower. Reference video adds input usage and a minimum usage threshold; generated audio has no separate rate tier. 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. ## From first brief to repeatable request ### Explore in the Playground Prepare Seedance 2.0 inputs in the browser and inspect the live estimate. The settings stay visible beside the request preview before you submit a generation. ### Use standard Seedance 2.0 in code Choose the Seedance 2.0 identifier in your integration. Fast and Mini are separate model choices with their own rates and a smaller output range. ## Choose the inputs for your scene ### Choose your Seedance 2.0 output size Seedance 2.0 offers output up to 4K, with smaller tiers for a different placement or test. Choose the dimensions you need, then review the actual file for detail and movement. ### Define the opening and ending Give Seedance 2.0 a first frame and optionally a last frame when composition matters. Keep this mode separate from the mixed references used to describe subjects, motion or sound. ### Bring examples of the scene Use Seedance 2.0 references to explain appearance and movement with separate files. An audio reference needs an image or video reference alongside it, so prepare a visual anchor for a sound-led brief. ### Include a soundtrack Ask Seedance 2.0 to generate sound with the picture, or disable it for footage that will be scored in an edit. Review the timing of both before choosing the final take. ## Short shots for a larger edit ### A cutaway between two scenes Create a Seedance 2.0 shot with one clear action that belongs between existing footage. Plan the opening composition and leave an ending that gives your next cut somewhere to go. ### A product image with movement Use a product photograph to start a Seedance 2.0 reveal. Describe a modest camera movement, then inspect edges, labels and reflections through the complete clip before putting it into a finished layout. ### A character meeting an object Give Seedance 2.0 a brief interaction such as a hand lifting a cup or a character noticing a detail. Check contact and continuity through the movement, including the frames between the opening and ending. ## Set up a short shot ### Decide the shot’s purpose Tell Seedance 2.0 whether the scene introduces a place, reveals a product or follows one action. Keep that purpose clear when choosing inputs. ### Choose the anchor Use text, frames or references with Seedance 2.0. Bring the material that best describes the subject and the part of the composition that matters. ### Match your destination Set the Seedance 2.0 size, aspect ratio and duration for the planned edit. Read the current estimate after adding reference footage. ### Inspect the complete take Review the Seedance 2.0 output at its delivered size and listen to the soundtrack. Save the accepted task ID with your settings for later retrieval. ## Connect Seedance 2.0 to your application Use the Seedance 2.0 integration guide for the model identifier and matching input fields. Submit once, save the accepted task ID and retrieve that task for status and the completed video; a failed status check does not require a new generation. 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 Funny AI [#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. For a new scene, `model` and a non-empty prompt or at least one media input are required; 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 new scene requires a prompt or media input. | | `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`, `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 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://funnyai.io/models/seedance-2-0/openapi.json). ## Seedance 2.0 boundaries - Seedance 2.0 supports four to fifteen seconds or automatic duration. A scene requiring more than fifteen seconds in one output needs another model. - Draft mode is unavailable on Seedance 2.0. Frame and reference inputs are separate, and an ending frame must be accompanied by a first frame. - Seedance 2.0 reference audio needs a reference image or video. Video and audio each have a separate fifteen-second total, in addition to their file-count and media-format limits. ## Seedance 2.0 questions ### Which Seedance 2.0 variant supports 4K? Standard Seedance 2.0 supports 4K alongside its smaller tiers. Fast and Mini stop at 720p. Select the standard model when you need a larger file and check the rate for your chosen tier. ### Does Seedance 2.0 guarantee accurate 4K detail? No. The Seedance 2.0 4K option specifies output dimensions. Inspect text, geometry and moving details in the completed file, especially when cropping a small region for the final placement. ### How long can Seedance 2.0 video be? Seedance 2.0 supports four to fifteen seconds or automatic duration, at 24 fps. Give the main action enough time to finish within the chosen length. ### Can Seedance 2.0 use opening and ending images? Yes. Seedance 2.0 accepts a first frame and an optional last frame. This mode establishes visual endpoints; mixed references are a different way to guide the scene. Choose the role of your images before preparing the request rather than combining both modes. ### Does Seedance 2.0 have Draft mode? No. Seedance 2.0 can generate at a smaller resolution, but that does not enable the Draft workflow offered by 2.5. Use the standard model’s own settings and current estimate when preparing a smaller test of your brief. ### How does reference video affect Seedance 2.0 cost? Reference footage contributes billable input tokens to Seedance 2.0 and introduces a minimum usage threshold. A lower reference-video token rate does not necessarily produce a lower total. Review the estimate after selecting all inputs and compare matching settings. ### Is the café illustration generated by Seedance 2.0? No. Standard Wan 3.0 generated the five-second café clip at 480p. It is a scene idea you can adapt for Seedance 2.0, with its source labeled. It does not demonstrate this model’s 4K output. [Seedance 2.5 vs 2.0: choose by the shot](https://funnyai.io/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)