Wan
5 aliases · Wan 2.1 / 2.2. Alibaba's open-weights video line through the mlx-video-with-audio runtime. Start with rapid-mlx serve wan2.2-ti2v-5b-q8 on a 32 GB Mac. Output is video-only.
Four converted Wan 2.2 checkpoints and the Wan 2.1 T2V 1.3B Diffusers checkpoint are registered. wan2.2-ti2v-5b-q8 (~19.6 GB) is the smallest Wan download, and TI2V means it does both text-to-video and image-to-video from one checkpoint.
The backend reads each checkpoint's native frame rate rather than accepting an arbitrary one (16 fps for Wan 2.1, 24 fps for Wan 2.2), enforces Wan's 4n+1 temporal shape, and honours the checkpoint's pixel-area ceiling — violations come back as a 400 naming the constraint, not a failure deep in the pipeline. A locally converted Wan 2.1 or 2.2 checkpoint can override the selected alias with RAPID_MLX_WAN_MODEL_DIR.
- family
- Wan (Alibaba)
- aliases
- 5
- audio
- none — video-only
- install
- pip install rapid-mlx==0.16.0
- also needs
- ffmpeg · Python 3.11+
- OpenAI base URL
- http://localhost:8000/v1
Download
Every alias on this page downloads with one command — the pull buttons in the tables below copy it. 1 of the 5 aliases on this page is mirrored on the rapid-mlx CDN; the rest pull from Hugging Face directly. Weights land in the standard Hugging Face cache, and rapid-mlx serve pulls automatically on first use. Live mirror status →
Usage
rapid-mlx serve wan2.2-ti2v-5b-q8
# Text-to-video at the checkpoint's native 24 fps
curl http://127.0.0.1:8000/v1/videos \
-F model=wan2.2-ti2v-5b-q8 \
-F 'prompt=a fox running through fresh snow, cinematic tracking shot' \
-F seconds=1 \
-F size=832x512 \
-F seed=42
# Image-to-video: add a conditioning first frame
# -F input_reference=@start.png
Aliases
| alias | hf repo | min RAM | notes | get it |
|---|---|---|---|---|
| wan2.2-ti2v-5b-q8 | Anes1032/Wan2.2-TI2V-5B-mlx-q8 | 32 GB | The starting point. Text-to-video and image-to-video, 5B, 8-bit (~19.6 GB). Video-only. | CDN |
| wan2.2-ti2v-5b-bf16 | rickylin20260522/Wan2.2-TI2V-5B-mlx | 40 GB | Same checkpoint unquantized (~24.2 GB). | HF |
| wan2.2-i2v-a14b-q8 | Anes1032/Wan2.2-I2V-A14B-mlx-q8 | 64 GB | Image-to-video only, 14B MoE, 8-bit (~42.7 GB). | HF |
| wan2.2-t2v-a14b-bf16 | rickylin20260522/Wan2.2-T2V-A14B-mlx | 96 GB | Text-to-video only, 14B MoE, unquantized (~69 GB). Ultra territory. | HF |
| wan2.1-t2v-1.3b-bf16 | Wan-AI/Wan2.1-T2V-1.3B-Diffusers | 40 GB | Wan 2.1 text-to-video, 1.3B, the official Diffusers checkpoint (~28.9 GB), 16 fps. | HF |
Process-level tuning
Steps, scheduler and VAE tiling are set through environment variables:
RAPID_MLX_WAN_STEPS=8 \
RAPID_MLX_WAN_SCHEDULER=unipc \
RAPID_MLX_WAN_TILING=auto \
rapid-mlx serve wan2.2-ti2v-5b-q8
LoRAs load through RAPID_MLX_WAN_LORA as path[:strength] entries; dual-model checkpoints additionally accept RAPID_MLX_WAN_LORA_HIGH and RAPID_MLX_WAN_LORA_LOW.
Frequently asked questions
Does Wan 2.2 run locally on a Mac?
Yes — four MLX-converted Wan 2.2 checkpoints and the Wan 2.1 T2V 1.3B checkpoint serve through POST /v1/videos, entirely on Apple Silicon. wan2.2-ti2v-5b-q8 is the starting point and does both text-to-video and image-to-video. Output is video-only.
How much RAM do the Wan checkpoints need?
32 GB for TI2V 5B q8, 40 GB unquantized, 40 GB for Wan 2.1 T2V 1.3B, 64 GB for I2V 14B MoE q8, 96 GB for T2V 14B MoE bf16.
Why can't I set fps on Wan?
The backend uses each checkpoint's native rate — 16 fps (2.1) or 24 fps (2.2) — and rejects an arbitrary one rather than resampling badly.
External reading
- Wan-Video on GitHub — upstream Wan weights and reference implementation.
- Wan-AI on Hugging Face — the open-weights releases (2.1 and 2.2; later Wan versions are API-only).