Downloads · 30 days
289
65% of all-time downloads
jc-builds/Wan2.2-TI2V-5B-Turbo-iOS
Wan2.2-TI2V-5B-Turbo-iOS is a text-to-video model from jc-builds. Use it when you need video from a text prompt. It is set up for wan2.2. The card lists the license as apache-2.0.
<p align="center" <a href="https://github.com/haplollc/Mirage" <img alt="Mirage" src="https://img.shields.io/badge/Runs%20on-Mirage-orange" / </a <a href="https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B" <img alt="Upstre…
Downloads · 30 days
289
65% of all-time downloads
All-time downloads
445
Public
Repo size
6 GB
Likes
0
Public
Click a slice to open those files.
.gguf6 GB · 100%
From the Hugging Face model README
The fast one. A pre-flighted bundle of the Self-Forcing 4-step distill of Wan 2.2 TI2V 5B + UMT5-XXL Q3_K_S + the taew2_2 tiny decoder, sized for phones and run via Mirage — the on-device diffusion engine for iOS / macOS / visionOS.
Compared to the standard Wan 2.2 bundle, this one is 2.5 GB smaller and an order of magnitude faster, from three compounding tricks:
The trade: slightly softer texture and less negative-prompt control. For clips on a phone, it's the right trade.
| File | Role | Size |
|---|---|---|
Wan2_2-TI2V-5B-Turbo-Q4_K_S.gguf | Distilled video DiT — 5B params, Q4_K_S | 3.1 GB |
umt5-xxl-encoder-Q3_K_S.gguf | Text encoder (multilingual T5-XXL) | 2.9 GB |
taew2_2.safetensors | TAEHV tiny decoder for Wan 2.2's 48-ch VAE | 23 MB |
Total bundle size: ~6.0 GB (vs 8.5 GB for the standard bundle).
import Mirage
let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let engine = try Engine(models: ModelFiles(
diffusionModel: docs.appendingPathComponent("Wan2_2-TI2V-5B-Turbo-Q4_K_S.gguf"),
t5Encoder: docs.appendingPathComponent("umt5-xxl-encoder-Q3_K_S.gguf"),
taeDecoder: docs.appendingPathComponent("taew2_2.safetensors")
))
let video = try await engine.generateVideo(.init(
prompt: "a golden retriever puppy running through shallow ocean waves at sunset, slow motion, cinematic",
width: 480, height: 832, // Wan's native 480p — off-distribution sizes degrade hard
frames: 13, // must be 4n+1
steps: 8, // distilled for 4; 8 is decisively sharper (see below)
cfgScale: 1.0, // guidance is baked in — do not change
flowShift: 3.0
))
cfg 1.0 is part of the model — the guidance distillation is baked into the weights, so never raise it. Steps are worth doubling: the distill targets 4, but side-by-side on an iPhone 17 Pro Max, 4-step output reads as artifact mush while 8 steps resolves recognizable subjects, lighting, and water — the community's experience with these Self-Forcing/lightx2v-style distills is the same (8 ≈ the sweet spot, no documented gains beyond). Fewer than 4 produces noise. Both text→video and image→video (pass initImage) work from the same weights.
Wan conditions on UMT5-XXL, an instruction-grade multilingual encoder — it rewards full-sentence, cinematography-flavored prompts over tag soup, and it weighs the start of the prompt most heavily:
Fun fact from the training distribution: Wan is trained by Alibaba on a heavily Chinese-curated corpus, so iconic Chinese imagery is remarkably strong — pandas, lanterns, bamboo, misty mountains, street food, rain-slick neon streets. If you want a guaranteed-gorgeous demo clip, "a panda eating ramen in the rain under a red umbrella" practically renders itself.
English and Chinese prompts both work (bilingual training); the strongest negative prompt in the ecosystem is the upstream Chinese default (only relevant above cfg 1.0 — at cfg 1.0 the negative branch is skipped entirely).
480×832 · 13 frames · 4 steps · Metal DiT + CPU text encoder + tiny decoder:
| Phase | Turbo bundle | Standard bundle |
|---|---|---|
| Text encode (once, CPU) | ~34 s | ~45–115 s ×2 (pos + neg) |
| Sampling | ~52 s (4 steps × 1 pass) | ~8.5 min (20 steps × 2 passes) |
| Frame decode | 2.4 s | ~13.5 min (full VAE, tiled) |
| End to end | ~96 s | ~25 min |
The exact clip from the measurement above — 480×832, 13 frames, 4 steps, seed 42:
Prompt: "a golden retriever puppy running through shallow ocean waves at sunset, splashing water, slow motion, cinematic lighting"
<video src="https://huggingface.co/jc-builds/Wan2.2-TI2V-5B-Turbo-iOS/resolve/main/sample_video.mp4" controls muted loop type="video/mp4"></video>
| Component | Upstream | License |
|---|---|---|
| Base video DiT | Wan-AI/Wan2.2-TI2V-5B | Apache 2.0 |
| Self-Forcing 4-step distillation | quanhaol/Wan2.2-TI2V-5B-Turbo | see note |
| GGUF conversion | hum-ma/Wan2.2-TI2V-5B-Turbo-GGUF | Apache 2.0 |
| Text encoder GGUF | city96/umt5-xxl-encoder-gguf | Apache 2.0 |
| Tiny decoder (taew2_2) | madebyollin/taehv | MIT |
License note: the GGUF repo this bundle repackages is tagged Apache-2.0 and the base model is Apache-2.0, but the original Turbo distillation repo does not assert an explicit license of its own. If you need belt-and-suspenders licensing for commercial use, FastVideo/FastWan2.2-TI2V-5B is an explicitly Apache-2.0 3-step distill of the same base (Diffusers format — convert before use with sd.cpp).
Bundle and documentation: Apache 2.0. Component licenses above.