| Model | Tier | Content moderation |
|---|---|---|
seedance-2 | Pro, higher quality | Strict |
seedance-2-fast | Fast, lower cost | Strict |
seedance-2-mini | Mini, lowest cost (720p only, no video/audio references) | Strict |
seedance-2-less-restriction | Pro | Less restrictive |
seedance-2-fast-less-restriction | Fast | Less restrictive |
-less-restriction variants apply a more permissive content review. They accept exactly the same input schema as the strict variants but bill at a +25% markup (see Pricing). They are not retried on content rejection — see Content Moderation below.seedance-2-mini does not currently have a -less-restriction variant, does not accept video or audio references, and outputs only 720p. Use it when cost matters more than the higher resolutions or reference-driven modes offered by the Pro / Fast tiers.| Deprecated task type | Now equivalent to |
|---|---|
seedance-2-preview | seedance-2 |
seedance-2-fast-preview | seedance-2-fast |
seedance-2-preview-vip | seedance-2 |
seedance-2-fast-preview-vip | seedance-2-fast |
resolution: "720p" explicitly to preserve output quality.| Model | Resolution | Price per second |
|---|---|---|
| seedance-2 | 480p | $0.10 |
| seedance-2 | 720p | $0.20 |
| seedance-2 | 1080p | $0.50 |
| seedance-2-fast | 480p | $0.08 |
| seedance-2-fast | 720p | $0.16 |
| seedance-2-mini | 720p | $0.15 |
| seedance-2-less-restriction | 480p | $0.11 |
| seedance-2-less-restriction | 720p | $0.22 |
| seedance-2-less-restriction | 1080p | $0.55 |
| seedance-2-fast-less-restriction | 480p | $0.088 |
| seedance-2-fast-less-restriction | 720p | $0.176 |
-less-restriction variants are priced at a +10% markup over the matching strict tier and resolution.seedance-2-fast / seedance-2-fast-less-restriction do not support 1080p output.seedance-2-mini outputs only 720p; 480p and 1080p requests are rejected. Mini does not accept input videos, so the cost formula collapses to unit_price × output_duration.credits = unit_price × output_durationcredits = unit_price × output_duration + (unit_price / 2) × total_input_video_durationmode parameter determines how references are used and which parameters take effect.mode is optional — when omitted, it is automatically inferred from the input:text_to_videofirst_last_framesomni_referencemode explicitly to enforce strict validation.duration: user-controlled (4–15s)aspect_ratio: user-controlled (6 options)image_urls: 1–2 images required. Only images accepted — video and audio URLs are rejected.duration: user-controlled (4–15s)aspect_ratio: user-controlled (6 options), or auto to derive from the first imageimage_urls: optional, images as style/content referencesvideo_urls: optional, videos as motion/style references (formats: mp4, mov)audio_urls: optional, audio as soundtrack (mp3/wav only, must be ≤15 seconds total)duration: user-controlled (4–15s)aspect_ratio: user-controlled (6 options)seedance-2-mini — Mini supports only text_to_video and first_last_frames; any request containing video_urls or audio_urls is rejected.| Parameter | text_to_video | first_last_frames | omni_reference |
|---|---|---|---|
| duration | User input (4–15) | User input (4–15) | User input (4–15) |
| aspect_ratio | User input (6 options) | User input or auto (from image) | User input (6 options) |
| image_urls | Not allowed | 1–2 required | optional (shared 9 max) |
| video_urls | Not allowed | Not allowed | optional (shared 9 max) |
| audio_urls | Not allowed | Not allowed | optional (shared 9 max) |
seedance-2-mini, the omni_reference column does not apply — Mini only handles text_to_video and first_last_frames.21:9, 16:9, 4:3, 1:1, 3:4, 9:16. The value auto is only available in first_last_frames mode (derives from the first image).16:9 (auto becomes 16:9 if no image is provided).480p (default), 720p, 1080p.1080p is not supported on the seedance-2-fast / seedance-2-fast-less-restriction tiers.seedance-2-mini supports only 720p. The resolution defaults to 720p when omitted; passing any other value returns a 4xx error (the rejection echoes the offending value).omni_reference mode.seedance-2 / seedance-2-fast (strict): on a content rejection, the task may be retried once via an alternate review path that typically resolves prompts flagged for style / advertising / character intent.seedance-2-less-restriction / seedance-2-fast-less-restriction: the primary review is itself less restrictive, and there is no further retry on rejection — a rejection is final, your credits are refunded, and the task ends with a content-violation error.seedance-2-mini: single review path with no retry on rejection — a content rejection refunds credits and ends the task.@-syntax.@image1, @image2, … — reference images by position in image_urls (1-based)@video1, @video2, … — reference videos by position in video_urls (1-based)@audio1, @audio2, … — reference audios by position in audio_urls (1-based)@图片1, @视频1, @音频1 (with or without _ between the type and the number)The cat in @image1 walks through a gardenApply @image1 artistic style with @video1 motion and @audio1 soundtrack@image1 transforms into @image2@image3 but only 2 images supplied), the request is rejected with a descriptive error message. The same applies to @videoN and @audioN.Available on seedance-2-less-restrictionandseedance-2-fast-less-restrictiononly. Strict variants do not accept asset references — they will reject the request with HTTP 422.
| Mode | How you reference inputs | When to use |
|---|---|---|
| Manual | Upload to the library once (see Private Asset Library guide), then pass asset://<asset_id> strings in image_urls / video_urls / audio_urls. | A stable cast / product library reused across many tasks. The asset is pre-vetted once and referenced for free thereafter. |
| Auto-upload | Set auto_upload_assets: true and pass raw URLs as you would normally. The service uploads each non-asset:// URL as an ephemeral asset, runs the task, and cleans up afterwards. | Each task uses fresh references (on-demand user content, throwaway avatars). No manual upload / delete bookkeeping. |
asset:// items pass through untouched while raw URLs are auto-ingested.{
"model": "seedance",
"task_type": "seedance-2-fast-less-restriction",
"input": {
"prompt": "A cinematic 5-second scene blending Image 1 and Image 2",
"image_urls": [
"https://your-cdn.com/character-a.png",
"https://your-cdn.com/character-b.png"
],
"auto_upload_assets": true,
"asset_retention_hours": 3,
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p"
}
}{
"model": "seedance",
"task_type": "seedance-2-fast-less-restriction",
"input": {
"prompt": "Image 1 walks through Image 2 at sunset",
"image_urls": [
"asset://asset-20260608154633-rv7g2",
"https://your-cdn.com/scene-today.png"
],
"auto_upload_assets": true,
"aspect_ratio": "16:9",
"duration": 5
}
}asset:// item is referenced as-is; the raw URL becomes an ephemeral asset for this task only.auto_upload_assets, asset_retention_hours) are ignored on strict task types — strict requests with raw URLs continue to behave exactly as before.asset:// reference (HTTP 422). Switch to a -less-restriction variant if you need asset references.