<img src="https://github.com/Yaofang-Liu/Pusa-VidGen/blob/f867c49d9570b88e7bbce6e25583a0ad2417cdf7/icon.png" width="70"/>
<a href="https://yaofang-liu.github.io/Pusa_Web/"><img alt="Project Page" src="https://img.shields.io/badge/Project-Page-blue?style=for-the-badge"></a>
<a href="https://arxiv.org/abs/2507.16116"><img alt="Technical Report" src="https://img.shields.io/badge/Technical_Report-📜-B31B1B?style=for-the-badge"></a>
<a href="https://huggingface.co/RaphaelLiu/PusaV1"><img alt="Model" src="https://img.shields.io/badge/Pusa_V1.0-Model-FFD700?style=for-the-badge&logo=huggingface"></a>
<a href="https://huggingface.co/RaphaelLiu/Pusa-Wan2.2-V1"><img alt="Wan2.2 Model" src="https://img.shields.io/badge/Pusa_Wan2.2-Model-FF6B35?style=for-the-badge&logo=huggingface"></a>
<a href="https://huggingface.co/datasets/RaphaelLiu/PusaV1_training"><img alt="Dataset" src="https://img.shields.io/badge/Pusa_V1.0-Dataset-6495ED?style=for-the-badge&logo=huggingface"></a>
<a href="https://github.com/Yaofang-Liu/Mochi-Full-Finetuner"><img alt="Code" src="https://img.shields.io/badge/Code-Training%20Scripts-32CD32?logo=github"></a>
<a href="https://arxiv.org/abs/2410.03160"><img alt="Paper" src="https://img.shields.io/badge/📜-FVDM%20Paper-B31B1B?logo=arxiv"></a>
<a href="https://x.com/stephenajason"><img alt="Twitter" src="https://img.shields.io/badge/🐦-Twitter-1DA1F2?logo=twitter"></a>
<a href="https://www.xiaohongshu.com/user/profile/5c6f928f0000000010015ca1?xsec_token=YBEf_x-s5bOBQIMJuNQvJ6H23Anwey1nnDgC9wiLyDHPU=&xsec_source=app_share&xhsshare=CopyLink&appuid=5c6f928f0000000010015ca1&apptime=1752622393&share_id=60f9a8041f974cb7ac5e3f0f161bf748"><img alt="Xiaohongshu" src="https://img.shields.io/badge/📕-Xiaohongshu-FF2442"></a>
We are excited to release Pusa V1.0, a groundbreaking paradigm that leverages vectorized timestep adaptation (VTA) to enable fine-grained temporal control within a unified video diffusion framework. By finetuning the SOTA Wan-T2V-14B model with VTA, Pusa V1.0 achieves unprecedented efficiency --surpassing the performance of Wan-I2V-14B with ≤ 1/200 of the training cost ($500 vs. ≥ $100,000) and ≤ 1/2500 of the dataset size (4K vs. ≥ 10M samples).
🆕 NEW: Wan2.2 & LightX2V Acceleration - 🏗️ MoE DiT Architecture: Pusa now supports Wan2.2 models with separate high-noise and low-noise DiT components for enhanced quality - ⚡ LightX2V Integration: Ultra-fast 4-step inference with lightning acceleration while maintaining generation quality - 🎯 Model Release: Pusa-Wan2.2-V1 now available on Hugging Face
The codebase has been integrated into the PusaV1 directory, based on DiffSynth-Studio.

Pusa V1.0 not only sets a new standard for image-to-video generation but also unlocks many other zero-shot multi-task capabilities such as start-end frames and video extension, all without task-specific training while preserving the base model's T2V capabilities.
For detailed usage and examples for Pusa V1.0, please see the Pusa V1.0 README.
--lightx2v acceleration flag<img src="https://github.com/Yaofang-Liu/Pusa-VidGen/blob/55de93a198427525e23a509e0f0d04616b10d71f/assets/demo0.gif" width="1000" autoplay loop muted/>
<em>Pusa V0.5 showcases </em>
<img src="https://github.com/Yaofang-Liu/Pusa-VidGen/blob/8d2af9cad78859361cb1bc6b8df56d06b2c2fbb8/assets/demo_T2V.gif" width="1000" autoplay loop muted/>
<em>Pusa V0.5 still can do text-to-video generation like base model Mochi </em>
Pusa can do many more other things, you may check details below.
Pusa (pu: 'sA:, from "Thousand-Hand Guanyin" in Chinese) introduces a paradigm shift in video diffusion modeling through frame-level noise control with vectorized timesteps, departing from conventional scalar timestep approaches. This shift was first presented in our FVDM paper.
Pusa V1.0 is based on the SOTA Wan-T2V-14B model and enhances it with our unique vectorized timestep adaptations (VTA), a non-destructive adaptation that fully preserves the capabilities of the base model. With the new Wan2.2 support, Pusa now leverages MoE DiT architecture for improved quality and efficiency.
Pusa V0.5 leverages this architecture, and it is based on Mochi1-Preview. We are open-sourcing this work to foster community collaboration, enhance methodologies, and expand capabilities.
Pusa's novel frame-level noise architecture with vectorized timesteps compared with conventional video diffusion models with a scalar timestep
https://github.com/user-attachments/assets/7d751fd8-9a14-42e6-bcde-6db940df6537
And more...
Unprecedented Efficiency:
⚡ Speed Improvement with LightX2V acceleration (4 steps vs. 10 or more steps)
Advanced Architecture Options:
LightX2V Acceleration: Compatible with both architectures for ultra-fast generation
Complete Open-Source Release:
Novel Diffusion Paradigm: Implements frame-level noise control with vectorized timesteps, originally introduced in the FVDM paper, enabling unprecedented flexibility and scalability.
MoE DiT Support: Wan2.2 models feature separate high-noise and low-noise DiT components, allowing for better noise handling and improved generation quality.
Lightning Acceleration: LightX2V integration provides 4-step inference with maintained quality, dramatically reducing generation time.
Non-destructive Modification: Our adaptations to the base model preserve its original Text-to-Video generation capabilities. After this adaptation, we only need a slight fine-tuning.
Universal Applicability: The methodology can be readily applied to other leading video diffusion models including Hunyuan Video, Wan2.1, and others. Collaborations enthusiastically welcomed!
v1.0.1 (September 1, 2025)
- Added Wan2.2 MoE DiT architecture support
- Integrated LightX2V acceleration for 4-step inference
- Released Pusa-Wan2.2-V1 model weights
- Added wan22_* inference scripts with MoE LoRA support
- Updated all wan_* scripts with --lightx2v acceleration flag
- Added comprehensive parameter guidelines for accelerated inference
- Enhanced documentation with Wan2.2 usage examples
v1.0 (July 15, 2025)
- Released Pusa V1.0, based on the Wan-Video models.
- Released Technical Report, V1.0 model weights and dataset.
- Integrated codebase as /PusaV1.
- Added new examples and training scripts for Pusa V1.0 in PusaV1/.
- Updated documentation for the V1.0 release.
v0.5 (June 3, 2025) - Released inference scripts for Start&End Frames Generation, Multi-Frames Generation, Video Transition, and Video Extension.
v0.5 (April 10, 2025) - Released our training codes and details here - Support multi-nodes/single-node full finetuning code for both Pusa and Mochi - Released our training dataset dataset
Pusa V1.0 leverages the powerful Wan-Video models and enhances them with our custom LoRA models and training scripts. Now featuring both Wan2.1 and Wan2.2 architecture support with LightX2V acceleration capabilities.
Model Options: - Wan2.1 Models: Traditional single DiT architecture (Original Pusa V1.0) - Wan2.2 Models: Advanced MoE DiT architecture (Pusa-Wan2.2-V1)
Key Features:
- ⚡ LightX2V Acceleration: 4-step inference for both model types
- 🏗️ MoE DiT Architecture: Enhanced quality with separate high/low noise models (Wan2.2)
- 🎯 Optimized Parameters: cfg_scale=1 for LightX2V, cfg_scale=3 for standard inference
- 📈 Performance: great speed improvement with maintained generation quality
For detailed instructions on installation, model preparation, usage examples, and training, please refer to the Pusa V1.0 README.
Click to expand for Pusa V0.5 details
You may install using uv:
git clone https://github.com/genmoai/models
cd models
pip install uv
uv venv .venv
source .venv/bin/activate
uv pip install setuptools
uv pip install -e . --no-build-isolation
If you want to install flash attention, you can use:
uv pip install -e .[flash] --no-build-isolation
Option 1: Use the Hugging Face CLI:
pip install huggingface_hub
huggingface-cli download RaphaelLiu/Pusa-V0.5 --local-dir <path_to_downloaded_directory>
Option 2: Download directly from Hugging Face to your local machine.
python ./demos/cli_test_ti2v_release.py \
--model_dir "/path/to/Pusa-V0.5" \
--dit_path "/path/to/Pusa-V0.5/pusa_v0_dit.safetensors" \
--prompt "Your_prompt_here" \
--image_dir "/path/to/input/image.jpg" \
--cond_position 0 \
--num_steps 30 \
--noise_multiplier 0
Note: We suggest you try different con_position here, and you may also modify the level of noise added to the condition image. You'd be likely to get some surprises.
Take ./demos/example.jpg as an example and run with 4 GPUs:
CUDA_VISIBLE_DEVICES=0,1,2,3 python ./demos/cli_test_ti2v_release.py \
--model_dir "/path/to/Pusa-V0.5" \
--dit_path "/path/to/Pusa-V0.5/pusa_v0_dit.safetensors" \
--prompt "The camera remains still, the man is surfing on a wave with his surfboard." \
--image_dir "./demos/example.jpg" \
--cond_position 0 \
--num_steps 30 \
--noise_multiplier 0.4
You can get this result:
<img src="https://github.com/Yaofang-Liu/Pusa-VidGen/blob/62526737953d9dc757414f2a368b94a0492ca6da/assets/example.gif" width="300" autoplay loop muted/>
You may refer to the baselines' results from the VideoGen-Eval benchmark for comparison:
<img src="https://github.com/Yaofang-Liu/Pusa-VidGen/blob/62526737953d9dc757414f2a368b94a0492ca6da/assets/example_baseline.gif" width="1000" autoplay loop muted/>
python ./demos/cli_test_ti2v_release.py \
--model_dir "/path/to/Pusa-V0.5" \
--dit_path "/path/to/Pusa-V0.5/pusa_v0_dit.safetensors" \
--image_dir "/path/to/image/directory" \
--prompt_dir "/path/to/prompt/directory" \
--cond_position 1 \
--num_steps 30
For group processing, each image should have a corresponding text file with the same name in the prompt directory.
We also provide a shell script for convenience:
```bash
bash ./demos/cli_tes
$ claude mcp add Pusa-VidGen \
-- python -m otcore.mcp_server <graph>