Video
wan3.0-video-nsfw API
Use the exact wan3.0-video-nsfw model ID through Modelflare asynchronous video routing.
Use the exact model ID wan3.0-video-nsfw. The model field must match this page exactly.
Parameters: duration=5resolution=1080Pratio=16:9
Prompt: One continuous take, no cuts. A hotel balcony above the sea in the late afternoon. A blonde woman with a curvy full figure, in a white bikini and tortoiseshell glasses. She stands at the rail with her back to the lens, then turns slowly to face the camera, sweeping her hair back over one shoulder, and settles leaning against the rail front on to the lens. Warm low sun from the right, cool blue sea and sky behind. 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": "wan3.0-video-nsfw", "prompt": "One continuous take, no cuts. A hotel balcony above the sea in the late afternoon. A blonde woman with a curvy full figure, in a white bikini and tortoiseshell glasses. She stands at the rail with her back to the lens, then turns slowly to face the camera, sweeping her hair back over one shoulder, and settles leaning against the rail front on to the lens. Warm low sun from the right, cool blue sea and sky behind. 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": "wan3.0-video-nsfw", "input": {"prompt": "A white cat runs through a neon-lit street in the rain, cinematic tracking shot"}, "parameters": {"resolution": "1080P", "duration": 5, "audio": true} }'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”Wan commonly uses input and parameters; frame-guided and reference-media modes must not be mixed.
Request parameters
Section titled “Request parameters”Wan3.0 uses input.prompt or input.media with output controls in parameters. Media may represent frames, references, audio, files, or webpages.
| Field | Required | Notes |
|---|---|---|
model |
Yes | wan3.0-video-nsfw |
input.prompt |
Conditional | Provide this or input.media |
input.media[] |
Conditional | first_frame, last_frame, reference_*, file, or link |
parameters.resolution |
No | 480P / 720P / 1080P (default 1080P) |
parameters.ratio |
No | 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / adaptive |
parameters.duration |
No | 2–30 seconds, or -1 for automatic duration |
parameters.audio |
No | Whether to generate synchronized audio |
parameters.prompt_extend |
No | Set false when this dedicated model contract requires it |
parameters.seed |
No | Optional random seed |
parameters.watermark |
No | Whether to add a watermark |
Input and output limits
Section titled “Input and output limits”Wan3.0 supports text, first/last frames, up to 10 reference images, 5 reference videos, 5 reference audio clips, and one file or webpage input. Output is 480P, 720P, or 1080P for 2–30 seconds or -1 automatic timing. First/last frames, reference media, files, and webpages are mutually exclusive workflows selected by input.media[].type.
Documented workflow examples
Section titled “Documented workflow examples”Wan3.0 uses one input/parameters envelope for text, frame guidance, reference media, files, and webpages; these workflows are mutually exclusive.
First and last frames
curl https://modelflare.dev/v1/videos \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan3.0-video-nsfw", "input": {"prompt": "镜头从第一帧平滑推进到最后一帧", "media": [ {"type": "first_frame", "url": "https://example.com/first.png"}, {"type": "last_frame", "url": "https://example.com/last.png"} ]}, "parameters": {"resolution": "1080P", "duration": 8, "ratio": "adaptive", "audio": true} }'Reference media
curl https://modelflare.dev/v1/videos \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan3.0-video-nsfw", "input": {"prompt": "保持角色、动作和音色一致", "media": [ {"type": "reference_image", "url": "https://example.com/character.png"}, {"type": "reference_video", "url": "https://example.com/motion.mp4"}, {"type": "reference_audio", "url": "https://example.com/voice.mp3"} ]}, "parameters": {"resolution": "720P", "duration": -1, "ratio": "adaptive"} }'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 per-second video billing. See the model pricing page for the current customer price, reference list price, and complete specification.
Variants
Section titled “Variants”| Model ID | Difference |
|---|---|
wan3.0-video-nsfw |
The model documented on this page. |
wan3.0-video |
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: Alibaba Cloud Model Studio
Contract parameters
| Intent field | Control | Options |
|---|---|---|
ratio | select | 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / adaptive |
resolution | select | 480p / 720p / 1080p |
duration | select | -1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24 / 25 / 26 / 27 / 28 / 29 / 30 |
audio | switch | — |
Supported capability
allowed_values·ratio· 16:9, 9:16, 1:1, 4:3, 3:4, adaptiveallowed_values·resolution· 480p, 720p, 1080pallowed_values·duration· -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30max_assets·reference_asset_ids· 21
Structured request example
text
Intent
{
"audio": false,
"duration": -1,
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "16:9",
"resolution": "480p"
}Provider request
{
"audio": false,
"duration": -1,
"model": "wan3.0-video-nsfw",
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "16:9",
"resolution": "480p",
"seconds": "-1"
}reference
Intent
{
"audio": false,
"duration": -1,
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "16:9",
"resolution": "480p"
}Provider request
{
"input": {
"media": [
{
"type": "reference_image",
"url": "https://example.com/reference.png"
}
],
"prompt": "A red paper kite over a quiet harbour at dusk."
},
"model": "wan3.0-video-nsfw",
"parameters": {
"duration": -1,
"resolution": "480P"
}
}