Video
seedance-2.0-nsfw API
Use the exact seedance-2.0-nsfw model ID through Modelflare asynchronous video routing.
Use the exact model ID seedance-2.0-nsfw. The model field must match this page exactly.
Parameters: duration=5resolution=1080pratio=16:9
Prompt: One continuous take, no cuts. The bow cushions of a yacht at anchor, flat blue water around. A blonde woman with a curvy full figure, in a white bikini and tortoiseshell glasses. She sits with her knees up looking out at the sea, then turns to face the camera, lifting her hair off her neck and letting it fall, and settles front on to the lens. Hard midday sun from above, white deck bouncing light back up. Low camera close to her, easing back as she turns and keeping her framed from shoulders to hips, shallow depth of field. Real weight and inertia, natural hair and fabric movement, no text.
This sample is deliberately mild. It is not the content limit of this model ID.
{ "model": "seedance-2.0-nsfw", "prompt": "One continuous take, no cuts. The bow cushions of a yacht at anchor, flat blue water around. A blonde woman with a curvy full figure, in a white bikini and tortoiseshell glasses. She sits with her knees up looking out at the sea, then turns to face the camera, lifting her hair off her neck and letting it fall, and settles front on to the lens. Hard midday sun from above, white deck bouncing light back up. Low camera close to her, easing back as she turns and keeping her framed from shoulders to hips, shallow depth of field. Real weight and inertia, natural hair and fabric movement, no text.", "seconds": "5", "duration": 5, "resolution": "1080p", "ratio": "16:9", "aspect_ratio": "16:9"}Authentication and endpoint
Section titled “Authentication and endpoint”Use a Modelflare API key with https://modelflare.dev/v1. The gateway entry point is POST /v1/videos.
Authorization: Bearer YOUR_MODELFLARE_API_KEYCreate a task
Section titled “Create a task”curl https://modelflare.dev/v1/videos \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2.0-nsfw", "content": [{"type": "text", "text": "A white cat runs through a neon-lit street in the rain, cinematic tracking shot"}], "resolution": "720p", "duration": 5, "generate_audio": false }'Poll and download
Section titled “Poll and download”Save the task ID. Poll GET /v1/videos/{task_id} and download with GET /v1/videos/{task_id}/content. Result URLs may expire, so transfer the file promptly.
curl https://modelflare.dev/v1/videos/TASK_ID \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"Request notes
Section titled “Request notes”Seedance uses content[] for text, frames, and reference media; the separate Seedance asset management contract is documented independently.
Request parameters
Section titled “Request parameters”Seedance uses one asynchronous multimodal envelope. Put text and media in content[]; media roles select first/last-frame or reference workflows.
| Field | Required | Notes |
|---|---|---|
model |
Yes | seedance-2.0-nsfw |
content[] |
Yes | text, image_url, video_url, and audio_url; use role to identify media purpose |
resolution |
No | 480p / 720p / 1080p / 4k (default 720p) |
ratio |
No | 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / adaptive |
duration |
No | 4–15 seconds |
generate_audio |
No | Generate synchronized dialogue, effects, and background audio |
tools |
No | Use web_search only where the official model page supports it |
watermark |
No | Whether to add a watermark |
Input and output limits
Section titled “Input and output limits”This model supports 480p, 720p, 1080p, and 4k output with a 4–15 second duration. Multimodal references allow up to nine images, three videos, and three audio clips; audio cannot be used alone. Mark media with role values in content[]; first-frame, editing, extension, and web-search workflows have their own constraints. Photorealistic people, real-person photos, and realistic faces must be uploaded to the asset library first; do not submit them as an image URL or Base64 payload.
Documented workflow examples
Section titled “Documented workflow examples”The Seedance 2.0 series supports text-to-video, first/first-and-last frames, multimodal references, editing, extension, and web search for text-to-video. Order media as text, image, video, then audio.
Multimodal reference
Section titled “Multimodal reference”curl https://modelflare.dev/v1/videos \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2.0-nsfw", "content": [ {"type": "text", "text": "@image1 performs the movement from @video1, paced to @audio1"}, {"type": "image_url", "image_url": {"url": "https://example.com/character.jpg"}, "role": "reference_image"}, {"type": "video_url", "video_url": {"url": "https://example.com/motion.mp4"}, "role": "reference_video"}, {"type": "audio_url", "audio_url": {"url": "https://example.com/music.mp3"}, "role": "reference_audio"} ], "generate_audio": true, "ratio": "16:9", "duration": 11 }'Video editing and web search
Section titled “Video editing and web search”curl https://modelflare.dev/v1/videos \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-2.0-nsfw", "content": [{"type": "text", "text": "Macro shot of cherry blossoms in spring"}], "generate_audio": true, "ratio": "16:9", "duration": 11, "tools": [{"type": "web_search"}] }'Errors and failed tasks
Section titled “Errors and failed tasks”Invalid model parameters return a 4xx with a request ID. An asynchronous task can also enter failed after creation succeeds; use error_code and error_message from the poll response as the final task reason. Do not retry the same request with a different JSON shape.
Supported scope
Section titled “Supported scope”This page covers Modelflare model generation and editing calls. Search or map enrichment, voice management, and element-library management are resource APIs outside this public model-call surface and are not required request fields.
Pricing and billing
Section titled “Pricing and billing”This model uses token-based billing. See the model pricing page for the current customer price, reference list price, and complete specification.
Variants
Section titled “Variants”| Model ID | Difference |
|---|---|
seedance-2.0-nsfw |
The model documented on this page. |
seedance-2.0 |
The base model. Same endpoint, request contract, and billing unit; only the model ID changes — see its own page, and the pricing page for price and availability. |
Media contract · v1
Official source: ByteDance / Volcengine
Contract parameters
| Intent field | Control | Options |
|---|---|---|
ratio | select | 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 21:9 / adaptive |
resolution | select | 480p / 720p / 1080p / 4k |
duration | select | 4 / 5 / 8 / 10 / 15 |
audio | switch | — |
Supported capability
allowed_values·ratio· 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptiveallowed_values·resolution· 480p, 720p, 1080p, 4kallowed_values·duration· 4, 5, 8, 10, 15max_assets·reference_asset_ids· 15prompt_optional_with_reference·prompt
Structured request example
text
Intent
{
"audio": false,
"duration": 4,
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "16:9",
"resolution": "480p"
}Provider request
{
"content": [
{
"text": "A red paper kite over a quiet harbour at dusk.",
"type": "text"
}
],
"duration": 4,
"generate_audio": false,
"model": "seedance-2.0-nsfw",
"ratio": "16:9",
"resolution": "480p",
"seconds": "4"
}reference
Intent
{
"audio": false,
"duration": 4,
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "16:9",
"resolution": "480p"
}Provider request
{
"content": [
{
"text": "A red paper kite over a quiet harbour at dusk.",
"type": "text"
},
{
"image_url": {
"url": "https://example.com/reference.png"
},
"role": "reference_image",
"type": "image_url"
}
],
"duration": 4,
"generate_audio": false,
"model": "seedance-2.0-nsfw",
"ratio": "16:9",
"resolution": "480p",
"seconds": "4"
}