Views
No views yet
1@article{zhu2026sanawm,
2 title = {{SANA-WM}: Efficient Minute-Scale World Modeling with Hybrid Linear Diffusion Transformer},
3 author = {Zhu, Haoyi and Liu, Haozhe and Zhao, Yuyang and Ye, Tian and Chen, Junsong and Yu, Jincheng and He, Tong and Han, Song and Xie, Enze},
4 journal = {arXiv preprint arXiv:2605.15178},
5 year = {2026},
6}| Component | Path in repo | Size |
|---|---|---|
| Sana DiT (Stage 1) | dit/sana_wm_1600m_720p.safetensors | 10 GB |
| LTX-2 VAE (diffusers) | vae/ | 2 GB |
| LTX-2 refiner (Stage 2) | refiner/refiner.safetensors | 41 GB |
| Gemma text encoder for the refiner | refiner/text_encoder/ | 46 GB |
| Inference config | config.yaml | — |
gemma-2-2b-it) is not bundled here — it is
fetched on demand from the public Hugging Face mirror.1python inference_video_scripts/inference_sana_wm.py \
2 --image asset/sana_wm/demo_0.png \
3 --prompt asset/sana_wm/demo_0.txt \
4 --action "w-80,jw-40,w-40,lw-60,w-100" \
5 --translation_speed 0.055 \
6 --rotation_speed_deg 1.2 \
7 --num_frames 321 \
8 --output_dir results/demo--no_refiner
to skip the LTX-2 refiner and decode Stage-1 latents with the Sana VAE
instead. To run fully offline, override any of --config / --model_path /
--refiner_checkpoint / --refiner_gemma_root with local paths.| Argument | Format |
|---|---|
--image | RGB image (any PIL-readable format) — used as the first frame. |
--prompt | UTF-8 text file containing the conditioning prompt. |
--camera | NumPy .npy of shape (F, 4, 4) — per-frame camera-to-world matrices. |
--action | WASD/IJKL DSL, e.g. "w-80,jw-40,w-40,lw-60,w-100". We roll it out to a (F+1, 4, 4) trajectory. Mutually exclusive with --camera. |
--intrinsics | Optional. .npy of shape (3, 3), (F, 3, 3), or (4,). If omitted, we estimate intrinsics from --image with Pi3X and abort if the resulting FOV is outside [25°, 120°]. |
704 x 1280; input images are
aspect-preserving resized + center-cropped to that resolution.