Alibaba · Tongyi Lab

Wan 2.2

An open family of large-scale video generative models covering text-to-video, image-to-video and a compact hybrid text/image-to-video checkpoint. Weights are published on Hugging Face under Apache-2.0.

What changed in 2.2

Wan 2.2 revises the 2.1 architecture in three places. The claims below are the authors' own, taken from the model cards and technical report.

Mixture-of-experts denoiser

The denoising trajectory is split across specialised expert models rather than one monolithic network, which raises total parameter count without a matching rise in per-step inference cost.

Curated aesthetic supervision

Training data carries explicit labels for lighting, composition, contrast and colour tone, so cinematographic attributes can be steered from the prompt instead of emerging by chance.

Larger motion corpus

The authors report training on 65.6% more images and 83.2% more video than Wan 2.1, aimed primarily at motion fidelity and prompt adherence.

High-compression VAE

The TI2V-5B checkpoint pairs with a Wan2.2-VAE at a 16×16×4 compression ratio, which is what makes 720p/24fps generation practical at that model size.

Released checkpoints

All weights are on the Hugging Face Hub under the Wan-AI organisation.

CheckpointTaskParamsWeights
Wan2.2-T2V-A14BText-to-video14B (MoE)base · diffusers
Wan2.2-I2V-A14BImage-to-video14B (MoE)base · diffusers
Wan2.2-TI2V-5BText + image-to-video, 720p/24fps5Bbase · diffusers

Run it

If you would rather not provision GPUs, the same checkpoints are served as a hosted endpoint. Available variants: wan-2.2/t2v-480p, t2v-720p, i2v-480p and i2v-720p.

# 1. submit the job
curl -X POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/wan-2.2/t2v-480p" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "A paper boat drifting down a rain-slicked gutter at dusk, shallow depth of field, warm street lights",
        "duration": 5,
        "enable_sync_mode": false
    }'

# -> {"code": 200, "data": {"id": "<request-id>", "status": "created", ...}}

# 2. poll until status is "completed"
curl "https://api.wavespeed.ai/api/v3/predictions/<request-id>/result" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY"

# -> {"code": 200, "data": {"status": "completed", "outputs": ["https://..."]}}

Requests are asynchronous: POST returns a request id, then you poll /predictions/<id>/result until status is completed. Set enable_sync_mode: true to have the call block and return outputs directly.

API keys are created in the WaveSpeed dashboard.

Resources