Instructions to use jboone100/FastWan2.2-TI2V-5B-MLX-q8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use jboone100/FastWan2.2-TI2V-5B-MLX-q8 with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir FastWan2.2-TI2V-5B-MLX-q8 jboone100/FastWan2.2-TI2V-5B-MLX-q8
- Wan2.2
How to use jboone100/FastWan2.2-TI2V-5B-MLX-q8 with Wan2.2:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
FastWan2.2-TI2V-5B β MLX, 8-bit text encoder
lBroth/FastWan2.2-TI2V-5B-MLX with one change: the umT5-XXL text encoder is quantised to 8 bit, and the tokenizer is included so the repo is self-contained. The transformer and VAE are that conversion's files, byte for byte.
Made for LocalLab, which runs it on Apple Silicon.
Why
The encoder reads the prompt once per clip and is then released, but it was the largest thing in the pipeline: 11.4 GB on disk, and 22.7 GB resident in loaders that upcast it to float32. At 8 bit it is 6.0 GB, and the embedding it produces stays within a cosine of 0.995 of the float32 one β as close as bfloat16's 0.997.
Measured on an Apple M2 Max (30-core GPU, 32 GB), encoding one prompt:
| Encoder | On disk | Resident | Encode | Cosine vs float32 |
|---|---|---|---|---|
| float32 (as mlx-video loads bf16) | 11.4 GB | 22.7 GB | 11.7 s | β |
| bfloat16 | 11.4 GB | 11.4 GB | 1.5 s | 0.997 |
| 8-bit (this repo) | 6.0 GB | 6.0 GB | 1.1 s | 0.995 |
| 4-bit (not shipped) | 3.2 GB | 3.2 GB | 1.0 s | 0.911 β breaks the prompt |
4-bit is included in that table because it looks tempting and isn't: a 44% mean error in the embedding is a different prompt, not a cheaper one.
Files
| File | Size | |
|---|---|---|
model.safetensors |
10.0 GB | transformer (bf16), unchanged |
t5_encoder_q8.safetensors |
6.0 GB | umT5-XXL, 8-bit, group size 64 |
vae.safetensors |
2.8 GB | Wan 2.2 VAE (z_dim 48), unchanged |
tokenizer/ |
17 MB | umT5 tokenizer, from google/umt5-xxl |
config.json |
β | the original, plus a t5_quantization marker |
Total β 18.8 GB, against 24.2 GB for the source repo.
Loading it
The encoder file is named t5_encoder_q8.safetensors, not t5_encoder.safetensors, on
purpose: a loader that doesn't expect quantised weights fails immediately on a missing file
rather than cryptically on mismatched shapes. Quantise the encoder's Linear layers at 8 bit,
group size 64, before loading the weights β config.json states this under t5_quantization.
Using mlx-video directly? Point it at
the source repo instead; it expects
the bfloat16 encoder.
Generation, for reference
Three denoise steps (sigmas 1.0 / 0.757 / 0.522, re-noised between steps), no classifier-free guidance, 24 fps. Measured end to end on an Apple M2 Max (30-core GPU, 32 GB) with LocalLab's engine, at 832Γ480 β each figure a complete generation from prompt to MP4, from a normal install of this repo:
| Clip | Prompt | 3 steps | Decode | Total | Peak |
|---|---|---|---|---|---|
| 1 s (25 frames) | 1.7 s | 16.3 s | 25.3 s | 43 s | 17.0 GB |
| 5 s (121 frames) | 1.9 s | 87.7 s | 221.3 s | 311 s | 15.0 GB |
The peak is one component at a time β the encoder, then the transformer, then the VAE β so it stays near the largest single part rather than the 18.8 GB total. The decoder dominates, and its tile size is chosen from the memory available, which is why the 5-second clip peaks lower than the 1-second one.
Licence and attribution
Apache 2.0 throughout; see LICENSE and NOTICE. Credit belongs to Wan-AI for the model,
FastVideo for the distillation, lBroth for the MLX conversion, and Google for umT5.
- Downloads last month
- 25
Quantized