fastwan-rs
Text-to-video on your own desktop GPU, in Rust. One set of fused kernels runs through WebGPU (Vulkan, DX12, Metal: NVIDIA, AMD, Intel, Apple) or CUDA, and the TAEHV decoder turns latents into frames you can watch while the clip finishes.
Prompt Studio
Type a prompt, pick size, length and seed, and watch the three denoising steps and the decode land. The model runs on your GPU; this page only talks to it.
Open the studio → runs in this browserWebGPU Bench
Runs the engine's WGSL kernels on your GPU, checks each against a reference, measures throughput at Wan shapes and estimates clip time per resolution.
Test your GPU →Run the engine
Download the model once (about 14 GB with the text encoder), then start the engine and allow this site to reach it:
huggingface-cli download FastVideo/FastWan2.1-T2V-1.3B-Diffusers \
--include "transformer/*" "text_encoder/*" "tokenizer/*" --local-dir fastwan
huggingface-cli download madebyollin/taehv taew2_1.safetensors --local-dir fastwan
fastwan serve --model-dir fastwan --allow-origin https://fastwan.pages.dev
The engine listens only on 127.0.0.1 and answers this one site. Without --allow-origin it serves the studio itself at http://127.0.0.1:7860/.
Where it stands
- The Wan DiT matches Diffusers to 4·10⁻⁷ and the UMT5 text encoder matches transformers to 2·10⁻⁶, on random-weight test models.
- Every WebGPU kernel passes against a CPU reference in both wgpu and Chrome's WebGPU.
- On an RTX 4090 with CUDA, a 5-second 832×480 clip takes 6.9 s: three denoising steps of 1.35 s with video sparse attention, plus the decode. The WebGPU path is correct on the same card at about a minute per step; its kernels are the next target.