What is Wan2.1?
Wan2.1 is an open-weight text-to-video diffusion model. The 1.3B-parameter T2V variant is small enough, quantized, to run on consumer hardware — including, as of Saient mobile, an Android phone GPU, not just a desktop or cloud GPU.
How Saient runs Wan2.1 on a phone, step by step
- Model pack, verified. A quantized Wan2.1 T2V 1.3B transformer (GGUF, Q4_K), a quantized UMT5-XXL text encoder (Q2_K), and an fp16 VAE — about 2.93GB total, each file SHA-256 checked before install.
- Chat engine steps aside. Saient's LLM engine (Quartz) unloads first so the phone's memory budget is free for video generation — the two never run at once.
- Split backend. The text encoder and VAE run on CPU; only the diffusion transformer — the actual per-step compute — runs on the phone's Vulkan GPU, keeping peak VRAM down.
- Disk-paged weights, tiled VAE, hard VRAM caps. Weights are streamed from disk rather than fully memory-resident, and the VAE decodes in tiles, so a multi-gigabyte pipeline fits a phone's shared memory.
- Real video, on-device. Output is written as a local .webm file and played back immediately — nothing round-trips to a server.
Full technical write-up, with the exact process arguments and why each one is set the way it is: docs/VIDEO_PIPELINE.md in the Saient mobile repo.
How to run Wan2.1 locally on Android with Saient
- Clone the app source.
git clone https://github.com/SaientAI/saient - Install dependencies.
npm ci - Generate the native Android project.
npx expo prebuild --platform android --no-install - Build and run on a connected device.
npm run android— a native development build is required; Expo Go is not sufficient, since this depends on custom native modules. - Download the Wan2.1 pack in-app. Open the Video tab, download the model pack, and activate it once installed.
- Generate. Type a prompt, choose a step/frame preset, and generate — start with the shortest preset (5 frames, 1 step) first.
Supported hardware
Android, Vulkan GPU
Verified — developed and tested on a Samsung Galaxy S24 (SM-S921B), Android 16.
~8GB RAM, ~3GB storage
Target device class. Roughly 3GB free storage for the Wan2.1 pack, plus whatever chat/image models you add separately.
In progress
Native code needs to be built and exercised on macOS with Xcode before an iOS release.
Where the code lives
- github.com/SaientAI/saient — the mobile app, including the Wan2.1 video integration and the on-device pipeline docs.
- github.com/SaientAI/saient-quartz — Quartz, Saient's open-source (MIT) LLM chat + SDXL image inference engine.
- github.com/Wan-Video/Wan2.1 — the upstream Wan2.1 model.
Wan2.1 on Android — questions
Can Wan2.1 actually run locally on a phone?
Yes. Verified end-to-end on a stock Samsung Galaxy S24, using the phone's own Vulkan GPU. No cloud inference call is in the generation path.
Is this the same as a cloud Wan2.1 app with a mobile UI?
No. Several "Wan mobile" apps are a phone UI wrapping a cloud render job. Saient's video engine is a native process running on-device, visible as a foreground service doing real local compute.
Is the engine open source?
Quartz (LLM + SDXL) is MIT-licensed at SaientAI/saient-quartz. The mobile app source, including the Wan2.1 integration, is at SaientAI/saient.
How long does generation take?
Minutes, not seconds — this is real work for a phone. Start with the shortest preset.
Run Wan2.1 on your own phone.
Clone the repo, build it, and generate your first clip on-device.