Introduction
Wan 2.6 Text to video turns a written shot, or a numbered list of shots, into a clip of exactly 5, 10 or 15 seconds at 720p or 1080p. Only prompt is required. Everything else has a default: 16:9, 720p, five seconds, one continuous take and prompt expansion off. The clip comes back with sound generated alongside the picture, and audio_url can hand it a recorded line or music cue to follow instead.
Choose a Wan 2.6 mode by starting material
| What you have at the start | Mode |
|---|---|
| a written scene or script | Wan 2.6 Text to video |
| an approved opening image | Wan 2.6 Image to video |
| separate visual, motion, or sound references | Wan 2.6 Reference to video |
Key features & highlights
Five shapes at both resolutions
aspect_ratio accepts 16:9, 9:16, 1:1, 4:3 and 3:4, and every shape is available at 720p and at 1080p. Nothing is inherited from an input frame, so the same brief can be rendered as a landscape master and as a vertical cut-down by changing one field. Resolution sets the per-second rate and how long the task takes, which makes the default 720p the natural place to settle a prompt.
One take or a planned sequence
shot_type switches between single, one continuous take, and multi, where the model may cut between several shots inside the same clip. A multi request always runs with prompt expansion on, whatever enable_prompt_expansion says, because the cuts are planned while the brief is expanded. Multi suits a short story with a beat to it; single is the choice when continuity matters more than coverage.
Sound in the same pass
Audio is generated with the picture, so a sentence about sound at the end of the prompt shapes what you hear. When the sound already exists, audio_url takes a WAV or MP3 of 3 to 30 seconds and up to 15 MB, and mouth shapes and movement pace themselves to that file. A longer track is cut to the clip length; with a shorter one, the rest of the clip is silent.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | The shot itself: who, one action, one camera move, then light and sound — or numbered shots for multi. Keep it under 1,500 characters. at least 1 characters · at most 1500 characters |
negative_prompt | No | Things that must stay out: captions, logos, extra people, a colour you keep getting. Up to 500 characters. at most 500 characters |
aspect_ratio | No | 16:9, 9:16, 1:1, 4:3 or 3:4, default 16:9. Every shape is available at both resolutions. |
resolution | No | 720p or 1080p, default 720p. It sets the per-second rate and how long the task takes. |
duration_seconds | No | Exactly 5, 10 or 15. Anything else is rejected rather than rounded. |
audio_url | No | A voice line or music cue for the clip to follow. Mouth shapes and movement pace themselves to this file. |
shot_type | No | single keeps one continuous take; multi lets the model cut between shots and switches |
enable_prompt_expansion | No | Off by default. When on, a short brief is rewritten into a fuller one before generation; for a single take, leave it off once your prompt is a precise shot description. Default: |
seed | No | 0 to 2147483647. Hold it while comparing one change at a time; leave it out for variety. |
Pricing
| Specification | Price |
|---|---|
| $0.09 / second |
| $0.135 / second |
Use cases
An atmospheric single shot with written sound
The published harbour example shows the single-take pattern. A fisherman in a yellow oilskin coils a wet rope, looks up at a passing ferry and raises a hand, seen through one slow dolly from behind a stack of crates. The prompt closes with an audio line, so steady rain, a long ferry horn and the creak of the rope sit under the picture without a separate track. It runs at 16:9, five seconds, 720p.
A vertical micro-story for social feeds
The bakery example asks for three numbered shots in a 9:16 clip of ten seconds at 1080p: the shutter rolling up at dawn, floured hands shaping a loaf, then the oven door glowing as a tray goes in. shot_type is multi, so each numbered line gets its own cut, and a fixed seed keeps the draw steady while the wording is refined.
Look development before anything is shot
A written brief is enough to test setting, light and pacing for a scene that does not exist yet. It will not hold a specific face or product between runs. Once a person or a package has to stay recognisable, create the frame first and move the job to image-to-video, where the opening image fixes the appearance.
Prompt guide & pro tips
Write a single take in four parts
For single, name the subject, give one action, give one camera move, then add light and a line about sound. The harbour prompt follows that order, which is why its result is easy to judge: either the rope, the glance and the raised hand all happen while the dolly stays behind the crates, or they do not.
Late evening on a rain-soaked harbour quay. A fisherman in a yellow oilskin coils a wet rope, looks up at a passing ferry and raises a hand. Slow dolly from behind a stack of crates, sodium lights reflecting in the puddles. Audio: steady rain, a long ferry horn, the rope creaking.
Number the shots for multi
For multi, start each line with "Shot 1:", "Shot 2:" and so on, and give every line its own framing and subject. Keep one event per line: once a line describes two events, the boundary between cuts is no longer yours to set. Multi-shot edits need the longer lengths to breathe, so choose 10 or 15 seconds.
Keep exclusions out of the main brief
Captions, logos, extra people or a colour you keep getting belong in negative_prompt, which holds up to 500 characters, while the prompt itself stays under 1,500. For a single take, leave enable_prompt_expansion off once the prompt is a precise shot description; switch it on when a one-line idea needs to be filled out.
Compare one change at a time
seed accepts 0 to 2147483647. Hold it while you change one thing, such as the camera move, the aspect ratio, or single against multi, and leave it out when you want variety. It steadies a comparison but does not promise a frame-identical rerun. Durations other than 5, 10 or 15 are rejected rather than rounded.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-2.6/text-to-video",
"input": {
"aspect_ratio": "16:9",
"duration_seconds": 5,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"shot_type": "single"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.




























