Video
wan3.0-video API
Use the exact wan3.0-video model ID through Modelflare asynchronous video routing.
Use the exact model ID wan3.0-video. The model field must match this page exactly.
Parameters: duration=5resolution=1080Pratio=16:9
Prompt: Macro slow-motion shot of steamed milk poured into a ceramic cup of espresso, forming a rosetta latte art pattern. Warm morning light from a window, wooden counter, soft steam rising, shallow depth of field, commercial food photography, no text.
{ "model": "wan3.0-video", "prompt": "Macro slow-motion shot of steamed milk poured into a ceramic cup of espresso, forming a rosetta latte art pattern. Warm morning light from a window, wooden counter, soft steam rising, shallow depth of field, commercial food photography, 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", "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 |
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", "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", "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 |
The model documented on this page. |
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",
"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",
"parameters": {
"duration": -1,
"resolution": "480P"
}
}