seedinteger
Random seed (0-2147483647) for reproducible results. Omit for a random seed; the same seed may still produce slightly different results.
Minimum: 0
Maximum: 2147483647
alibaba/wan/3.0/videoAlibaba Wan 3.0 Video generates videos up to 30 seconds with native audio from text, a first/last frame, or reference images, videos, and audio.
Try the model
PNG, JPEG, WebP, or GIF · 20 MiB maximum
Customize your input with more control.
PNG, JPEG, WebP, or GIF · 20 MiB maximum
PNG, JPEG, WebP, or GIF · 20 MiB maximum each · up to 10
What would you like to do next?
Select an example to load its inputs and result into the playground.
{
"duration": 20,
"prompt": "A 20-second ultra-widescreen plush universe adventure clip, featuring ultra-fine plush textures throughout, cinematic space scale, a contrast between cute appearances and intense action, exaggerated FPV camera movements, and realistic soft-body physics. A spaceship made of plush fabric, buttons, zippers, and stuffing cotton carries three small plush animals — a rabbit, a fox, and a crow — fleeing at high speed through a universe composed of giant yarn planets, fluffy nebulae, and puppet giant beasts. A massive interstellar whale beast covered in deep blue long fur with eyes like two glass buttons chases the ship from within the nebula. The dynamics include the zipper ship launching via catapult, high-speed orbiting around a yarn planet, the giant whale bursting out from behind, navigating through a button asteroid belt, being swallowed by the whale beast, escaping through a golden zipper on its back, the whale slowly deflating as if losing its stuffing cotton, and finally flying through a pink-purple fluffy nebula toward a colorful button sun."
}{
"duration": 30,
"prompt": "3D animated short film, 30 seconds, dark fantasy theme, single shot, dimly lit stone-brick interior scene. A cold and strikingly handsome man with violet eyes, ink-blue hair with silver-streaked highlights in disarray, dark crystalline horns, pale cold skin, and dark purple astral magic runes covering his forehead and temples. He wears a polar-night blue brocade stand-collar trench coat over a black silk shirt, with a dark silver amethyst ear cuff on his left ear. Scene: Nighttime cold white moonlight as the dominant hard key light, high-contrast low-key lighting, front-side lighting effect. In the background, two blurry figures and warm yellow firelight flicker, with ethereal blue dust particles floating in the air. Camera: Medium close-up with a slight high-angle, shallow depth of field locked on the figure on the left, slowly tilting up to eye level during the monologue. Action: The man stands at an angle, head lowered with a contemptuous smile, glances at his palm then turns toward the camera, raises his head and speaks in a cold, magnetic voice: \"Ripe enough for the void.\" His left hand opens with five fingers spread, a dark shadow nebula vortex coalesces in his palm, and he says: \"Your soul, a mere spark for me to extinguish.\" He suddenly clenches his fist, the nebula explodes and dissipates into dark purple mist and ethereal blue star fragments, finally revealing a cruel smile as his dark-purple gradient fingernails subtly extend. Accompanied by void resonance sound effects and energy burst sounds, with a young English-speaking villain voice throughout."
}{
"prompt": "Convert the entire scene to clay style",
"videos": [
"https://static.sandbase.ai/examples/c4f48ee5-37f5-4a9b-9f46-8bc2ba2ac226/input/8576334e-2881-4f99-a159-ebef4b399442.mp4"
]
}{
"prompt": "Edit the video, change the man's dialogue to: \"The deal is done. Now... we disappear.\"",
"videos": [
"https://static.sandbase.ai/examples/9b0c77ec-d76b-4584-aa0d-20842fc1f182/input/d2b777d4-5382-4ef0-b911-d54a27fd11ae.mp4"
]
}{
"images": [
"https://static.sandbase.ai/examples/632e2168-62a7-430f-94f7-b53e7adcecb0/input/54811302-f2de-4553-bb1e-d8b0a495f909.png",
"https://static.sandbase.ai/examples/632e2168-62a7-430f-94f7-b53e7adcecb0/input/d11abfc9-fbc1-4191-ab76-14538d59e114.png",
"https://static.sandbase.ai/examples/632e2168-62a7-430f-94f7-b53e7adcecb0/input/af35733c-8eb5-4b7d-8097-3c9ed7ca4738.png"
],
"prompt": "Edit the video: the woman in Video 1 puts on the hat from Image 1, naturally fitting her head shape. The man in Video 1 puts on the hat from Image 2, naturally fitting his head shape. The man's russet-brown shirt is replaced with the blue washed loose denim shirt from Image 3, with the collar open and sleeves rolled up to the forearms. The movements, other clothing, and the rest of the scene remain unchanged.",
"videos": [
"https://static.sandbase.ai/examples/632e2168-62a7-430f-94f7-b53e7adcecb0/input/97d4707e-d2bc-4482-ba97-763ff2f6be9c.mp4"
]
}{
"duration": 15,
"prompt": "Extend Video 1 forward by 15s. Character A is a male with short dark brown hair wearing a black tailcoat, white shirt, black bow tie, and beige vest. Character B is a female with brown upswept hair wearing a beige puff-sleeve vintage long dress with black lace trim on the skirt, and dark teardrop earrings. Inside the ballroom, crystal chandelier light reflects off the marble floor. Guests chat in small groups, holding glasses and speaking in low voices. A graceful waltz string prelude slowly begins, and the guests' conversations gradually quiet. Character B walks slowly from one side of the ballroom, her skirt hem lightly brushing the marble floor, her gaze surveying the room. Character A emerges from the crowd, walks past the guests directly to Character B, gives a slight bow and extends his right hand, his gaze warm and attentive. Character B lowers her eyes with a gentle smile, lightly placing her right hand on Character A's palm. The two exchange a smile, and Character A leads Character B to the center of the dance floor. The surrounding guests naturally step back to make room, all eyes focused on the pair. Character A's left hand holds Character B's right hand raised, his right hand gently resting on her lower back. The two assume the waltz pose, stepping out on the downbeat of the strings, beginning to spin. The elegant atmosphere of a 19th-century court ball, warm golden tones.",
"videos": [
"https://static.sandbase.ai/examples/b8d431c5-cc51-481a-877b-721405193e54/input/9efacaad-4374-4f4a-bb4d-6a0c4eb19e41.mp4"
]
}A single endpoint for the whole Wan 3.0 model. Send only a prompt for text-to-video, a first/last frame for image-to-video, or any mix of reference images, videos, and audio for reference-driven generation. Clips run 2–30 seconds at 30fps with sound generated alongside the picture.
| Mode | Send | Can't combine with |
|---|---|---|
| Text | prompt only | — |
| Frames | image, optional end_image | images, videos, audios |
| References | any of images, videos, audios | image, end_image |
Mixing frames and references is rejected with a 400 before anything is billed. A reference video plus an edit or continuation instruction also works here; the dedicated video-edit and video-extend endpoints give those cases a simpler schema.
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string, required | — | Up to 5,000 characters. |
image | image URL | — | First frame. JPEG/PNG/BMP/WebP, 240–8000px per side, ≤20MB, no transparency. |
end_image | image URL | — | Last frame; needs image. |
images | image URL[] (≤10) | — | Referenced as Image 1, Image 2, … |
videos | video URL[] (≤5) | — | MP4/MOV, 1–15s each, 15s total, ≤100MB. Referenced as Video 1, … |
audios | audio URL[] (≤5) | — | WAV/MP3, 1–15s each, 15s total, ≤15MB. Referenced as Audio 1, … |
duration | 2–30 or auto | 5 | auto lets the model pick the length. |
resolution | 480p / 720p / 1080p | 720p | Sets the per-second rate. |
aspect_ratio | adaptive / 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 | adaptive | adaptive follows the prompt and inputs. |
generate_audio | boolean | true | Native dialogue, music, and effects. Same price on or off. |
seed | integer 0–2147483647 | random | Fix it to compare prompt changes. |
Following the official Wan 3.0 rule, billed seconds are the output length plus the total length of any reference videos (rounded up, counted up to 15s): $0.05 at 480p, $0.10 at 720p, $0.20 at 1080p. Input images and audio are not metered. If the reference video length cannot be read, 15s is assumed.
| Request | Billed | 480p | 720p | 1080p |
|---|---|---|---|---|
| 5s output (default) | 5s | $0.25 | $0.50 | $1.00 |
| 10s output | 10s | $0.50 | $1.00 | $2.00 |
| 30s output | 30s | $1.50 | $3.00 | $6.00 |
| 5s output + 8s reference video | 13s | $0.65 | $1.30 | $2.60 |
| 5s output + 15s reference videos | 20s | $1.00 | $2.00 | $4.00 |
With duration: "auto" the run is pre-authorized at 30 seconds, then settled on the length that was actually generated. Failed runs are not charged. Output files are copied to SandBase storage and the returned URL stays valid for 7 days; download anything you need to keep.
images changes what “Image 2” means.media: [{type, url}] are still accepted and treated as reference images; new integrations should use the fields above.Other Wan 3.0 endpoints: alibaba/wan/3.0/text-to-video, alibaba/wan/3.0/image-to-video, alibaba/wan/3.0/reference-to-video, alibaba/wan/3.0/video-edit, alibaba/wan/3.0/video-extend.
Start building
Submit this model through the SandBase Unified Run API.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"model": "alibaba/wan/3.0/video",
"image": "https://static.sandbase.ai/samples/image-to-video/i2v-black-cat-sky-img0.png",
"prompt": "A cinematic tracking shot of a sailboat crossing a glowing sea at sunset",
"duration": 5,
"resolution": "720p",
"generate_audio": true
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
status=$(printf '%s' "$result" | jq -r .status)
case "$status" in completed|failed|timeout) break ;; esac
sleep 2
result=$(curl --fail-with-body --silent \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
"https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"Create a SandBase API key and set it in your server environment. All requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep the key on your server. Do not expose it in browser code or commit it to a repository.
POST to /v1/run with this model ID and its inputs. The request example above includes submission and polling.
Use the returned run ID to poll until the status is completed, failed or timeout. Read output only after completed.
curl "https://api.sandbase.ai/v1/run/$RUN_ID" \
-H "Authorization: Bearer $SANDBASE_API_KEY"Pass a publicly accessible file URL in the model’s image, video or audio field. Supported formats and limits are shown beside each Playground input.
Use the upload or replace control on supported image fields in the Playground. Video URL fields accept a hosted driving video; they do not imply video-upload support.
seedintegerRandom seed (0-2147483647) for reproducible results. Omit for a random seed; the same seed may still produce slightly different results.
Minimum: 0
Maximum: 2147483647
imagestringURL of the image used as the first frame (JPEG, PNG, BMP, or WebP). Cannot be combined with `images`, `videos`, or `audios`.
audiosarrayUp to 5 reference audio URLs (WAV or MP3; 1-15s each, 15s total, under 15MB each). Cannot be combined with `image` or `end_image`.
imagesarrayUp to 10 reference image URLs (JPEG, PNG, BMP, or WebP; up to 20MB each, 240-8000px per side). Refer to them in the prompt as Image 1, Image 2, and so on. Cannot be combined with `image` or `end_image`.
promptstringrequiredText instruction for the generated video.
Default: "A cinematic tracking shot of a sailboat crossing a glowing sea at sunset"
videosarrayUp to 5 reference video URLs (MP4 or MOV; 1-15s each, 15s total, under 100MB each). Cannot be combined with `image` or `end_image`.
durationvalueOutput duration in seconds (2-30), or `auto` to let the model pick a length from the prompt and inputs. `auto` is pre-authorized at 30 seconds and billed on the actual output length.
Default: 5
Possible values: "auto", 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
end_imagestringURL of the image used as the last frame (JPEG, PNG, BMP, or WebP). Cannot be combined with `images`, `videos`, or `audios`.
resolutionstringOutput video resolution.
Default: "720p"
Possible values: "480p", "720p", "1080p"
aspect_ratiostringOutput aspect ratio. Omit to let the model choose: 16:9 for text-only requests, otherwise matching the input image.
Possible values: "21:9", "16:9", "4:3", "1:1", "3:4", "9:16"
generate_audiobooleanGenerate a synchronized audio track. Pricing is the same either way.
Default: true
{
"model": "alibaba/wan/3.0/video",
"image": "https://static.sandbase.ai/samples/image-to-video/i2v-black-cat-sky-img0.png",
"prompt": "A cinematic tracking shot of a sailboat crossing a glowing sea at sunset",
"duration": 5,
"resolution": "720p",
"generate_audio": true
}A completed run exposes its result in output. The following is the model’s saved example, not a new generation.
[
{
"poster": "https://static.sandbase.ai/examples/posters/60ae5b5dd972df5825a4.jpg",
"source": "Alibaba Cloud",
"source_url": "https://www.alibabacloud.com/help/en/model-studio/wan3-video-generation-guide",
"url": "https://static.sandbase.ai/examples/e4b7917a-9f93-4ffa-836c-2ae68d7786de/output/cda717d5-c9fb-4e18-80cb-604a8359f46c.mp4"
}
]