Wan 3.0
Alibaba's Wan 3.0 video model (preview). Text to video, image to video from a first and optional last frame, and video guided by up to ten reference images, 2 to 30 seconds with optional audio.
Preview
Parameters and limits may change before this model is generally available.
- Model id:
alibaba/wan-3.0 - Type: Video, from Alibaba Cloud Model Studio
- Modes: Text to video, Image to video, Reference to video
- Prompt: up to 20,000 characters
- Canceling: Only while queued. Generations finish within seconds once submitted.
Parameters
Set these in params. Anything left out takes the default, which is what the price estimate assumes.
| Parameter | Accepted values | Default |
|---|---|---|
duration_seconds | 5, 2, 3, 4, 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 | 5 |
resolution | 1080p, 720p, 480p | 1080p |
aspect_ratio | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 | 16:9 |
num_outputs | 1 only | 1 |
audio | true, false | false |
seed | 0 to 4294967295 | chosen by the provider |
output_format | mp4 | provider's |
References
Pass media in references, each with a role and an upload_id or HTTPS url (Uploads). When mode is left out it is inferred from the roles.
| Role | Used as | At most |
|---|---|---|
first_frame | First frame of the video | 1 |
last_frame | Last frame of the video | 1 |
reference_image | Subject or style reference | 10 |
Pricing
Billed per second of output video, varying by resolution. The full price list for your account is on the dashboard's billing page and in pricing from GET /v1/models/alibaba%2Fwan-3.0. Each request reserves its maximum price and is charged for what was produced (Pricing and credits).
Examples
Text to video
import { RawFrame } from "@rawframe/sdk";
const rf = new RawFrame();
const generation = await rf.generations.createAndWait({
model: "alibaba/wan-3.0",
prompt: "A paper boat drifting down a rain-soaked city gutter, macro lens, golden hour",
params: { duration_seconds: 5, aspect_ratio: "16:9", resolution: "1080p" },
});
console.log(generation.outputs?.[0]?.url);Vertical clip with audio
import { RawFrame } from "@rawframe/sdk";
const rf = new RawFrame();
const generation = await rf.generations.createAndWait({
model: "alibaba/wan-3.0",
prompt: "A street drummer under a neon sign at night, slow push-in, crowd murmuring",
params: { duration_seconds: 10, aspect_ratio: "9:16", resolution: "720p", audio: true },
});
console.log(generation.outputs?.[0]?.url);