Skip to content
Dashboard

Wan v3.0 Video

All-in-one video generation model supporting text-to-video, image-to-video, first/last-frame, and omni-modal reference-based generation (image, video, and audio references) with synchronized audio, at up to 30 seconds per clip.

View API reference
Price
$0.05, Per second
Lowest available configuration
import { experimental_generateVideo as generateVideo } from 'ai';
const result = await generateVideo({
model: 'alibaba/wan-v3.0-video',
prompt: 'A serene mountain lake at sunrise.'
});
Read docs

Copy link to headingPlayground

Try out Wan v3.0 Video by Alibaba Cloud. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.

alibaba logo
Images(optional)
Add up to 10 images
Videos(optional)
Add up to 5 videos
Prompt(optional)

End frame(optional)
Duration8s
2s30s
Resolution
Aspect ratio
alibaba logo

Your generated video will appear here.

Copy link to headingProviders

Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.

Provider
Input
Output
Capabilities
ZDR
No Training
Free Tier
Release Date
$0.05/sec+3 more
08/23/2026

Getting started

Generate videos with Wan v3.0 Video using the experimental_generateVideo function from AI SDK 6 or later. AI Gateway handles routing and polls until the video is ready.

Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the video generation quickstart.

index.ts
import { experimental_generateVideo as generateVideo } from 'ai';
import fs from 'node:fs';
import 'dotenv/config';
async function main() {
const result = await generateVideo({
model: 'alibaba/wan-v3.0-video',
prompt: 'A drone shot of a coastal cliff with crashing waves at golden hour.',
});
// Save the generated video
fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');
}
main().catch(console.error);

Top-level parameters

Load the common, top-level parameters supported across video models.

top-level-params.ts
import { experimental_generateVideo as generateVideo } from 'ai';
import fs from 'node:fs';
import 'dotenv/config';
async function main() {
const result = await generateVideo({
model: 'alibaba/wan-v3.0-video',
prompt: 'A drone shot of a coastal cliff with crashing waves at golden hour.',
duration: 5,
aspectRatio: '16:9',
resolution: '1280x720',
});
// Save the generated video
fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');
}
main().catch(console.error);
ParameterTypeRequiredDescription
promptstringNoText description of the video to generate. Max 20000 characters.
durationnumberNoVideo length in seconds. 2-30 seconds.
resolutionstringNoResolution ('854x480', '1280x720', '1920x1080').
aspectRatiostringNoAspect ratio ('16:9', '4:3', '1:1', '3:4', '9:16').

Input limits

InputFormatsSourcesMax countMax sizeLimits
TextUp to 20000 characters
Imagejpeg, jpg, png, bmp, webpurl, base641020 MB≥240px · ≤8000px · aspect 1:8–8:1
Videomp4, movurl5100 MB1-15s · ≥240px · ≤4096px
Audiowav, mp3url15 MB1-15s

Provider options

Pass provider-specific options under providerOptions.alibaba.

provider-options.ts
import { experimental_generateVideo as generateVideo } from 'ai';
import fs from 'node:fs';
import 'dotenv/config';
async function main() {
const result = await generateVideo({
model: 'alibaba/wan-v3.0-video',
prompt: 'A drone shot of a coastal cliff with crashing waves at golden hour.',
duration: 5,
providerOptions: {
alibaba: {
pollTimeoutMs: 600000,
},
},
});
// Save the generated video
fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');
}
main().catch(console.error);

Pass these under providerOptions.alibaba in your generateVideo call.

ParameterTypeRequiredDescription
providerOptions.alibaba.pollIntervalMsnumberNoHow often to check task status. Defaults to 5000.
providerOptions.alibaba.pollTimeoutMsnumberNoMaximum wait time. Defaults to 600000 (10 minutes).

Copy link to headingMore models by Alibaba Cloud

Model
Context
Latency
Throughput
Input
Output
Cache
Web Search
Capabilities
Providers
ZDR
No Training
Free Tier
Release Date
991K3.9 s50 tps
$2/M
$6/M
Read$0.25/M
Write$2.50/M
+2
alibaba logo
09/01/2026
991K1.1 s96 tps
$0.16/M
$0.47/M
Read$0.02/M
Write$0.20/M
+2
alibaba logo
08/26/2026
1M0.6 s133 tps
$0.10/M
$0.40/M
Read$0.01/M
Write$0.63/M
+1
alibaba logo
deepinfra logo
morph logo
+3
08/14/2026
1M2.5 s154 tps
$2/M
$6/M
Read$0.25/M
Write$2.50/M
+1
alibaba logo
fireworks logo
08/02/2026
991K2.5 s140 tps
$0.03/M+2 more
$0.13/M+2 more
Read$0.006/M
Write$0.04/M
+2
alibaba logo
07/28/2026
1M2.0 s58 tps
$0.40/M+1 more
$1.60/M+1 more
Read$0.08/M
Write$0.50/M
+2
alibaba logo
06/02/2026

Your use is subject to Alibaba Cloud's Terms & Privacy Policies.