hao-ai-lab/FastVideo

★ 4,392⑂ 0

A unified inference and post-training framework for accelerated video generation.

4,392Star
0Fork
0Watch
0Issue
PythonLanguage
-License
Created · last push · repository size 0 KB · default branch -

README

| Documentation | Cookbook | Quick Start | Weekly Dev Meeting | 🟣💬 Slack | 🟣💬 WeChat |

FastVideo is a unified post-training and real-time inference framework for accelerated video generation.

NEWS

More News

Key Features

FastVideo has the following features:

Getting Started

We recommend using uv to create a clean environment. If you previously used Conda, switching to uv generally gives faster and more stable installs.

# Create and activate a new uv environment
uv venv --python 3.12 --seed
source .venv/bin/activate

Install FastVideo on NVIDIA CUDA 12

UV_TORCH_BACKEND=cu126 uv pip install fastvideo

Use UV_TORCH_BACKEND=cu130 on CUDA 13. Apple silicon users should follow the MPS installation guide.

On an Apple Silicon Mac? FastVideo runs FastMetal-QAD through an MLX
runtime. Install with uv pip install -e '.[mlx]', download
FastVideo/FastMetal-1.3B-QAD,
and follow the
Apple Silicon guide.

Please see our docs for more detailed installation instructions.

On an NVIDIA DGX Spark (GB10 / ARM64 + CUDA 13)? There's no prebuilt ARM wheel for the FastVideo CUDA kernel, so it's an editable from-source install (UV_TORCH_BACKEND=cu130 uv pip install -e ., which compiles that kernel for you) rather than UV_TORCH_BACKEND=cu130 uv pip install fastvideo. A compatible prebuilt ARM64 FlashAttention wheel is available separately. Follow the DGX Spark install guide.

Install with an AI coding agent

FastVideo is a monorepo with rich agent guidance (see AGENTS.md). If you use Claude Code, Cursor, or another coding agent, paste the prompt below — it detects your platform and follows the matching guide:

Install FastVideo (https://github.com/hao-ai-lab/FastVideo) into a fresh uv virtual environment.

1. Detect the platform: run uname -m, nvidia-smi, and nvcc --version. 2. Read and follow the matching install guide exactly (in this repo, or at https://hao-ai-lab.github.io/FastVideo/getting_started/installation/):

  • NVIDIA GPU, x86_64 -> docs/getting_started/installation/gpu.md
  • NVIDIA DGX Spark / GB10, aarch64, CUDA 13 -> docs/getting_started/installation/spark.md
  • Apple Silicon, macOS -> docs/getting_started/installation/mps.md
3. Use uv for every step. If a command fails, debug it and tell me what you changed. 4. Verify the result: python -c "import fastvideo, torch; print('cuda', torch.cuda.is_available())" fastvideo --help 5. Report which platform you detected and any deviations you had to make.

Sparse Distillation

For our sparse distillation techniques, please see our distillation docs and check out our blog.

See below for recipes and datasets:

| Model | Sparse Distillation | Dataset | | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | FastWan2.1-T2V-1.3B | Recipe | FastVideo Synthetic Wan2.1 480P | | FastWan2.2-TI2V-5B | Recipe | FastVideo Synthetic Wan2.2 720P |

Dreamverse — Realtime Video Generation & Editing

Dreamverse is FastVideo's realtime video generation and editing platform — "vibe directing" a video as it streams. It lives in the monorepo under apps/dreamverse/ and ships its own backend (dreamverse-server) plus a web UI.

Try the live demo, read the blog, or run it yourself. Dreamverse deploys on a local GPU, a self-hosted B200 server over SSH, Docker, or serverless Modal — see the Dreamverse README.

Inference

Generating Your First Video

Here's a minimal example to generate a video using the default settings. Make sure VSA kernels are installed. Create a file called example.py with the following code:

import os
from fastvideo import VideoGenerator

def main(): os.environ["FASTVIDEO_ATTENTION_BACKEND"] = "VIDEO_SPARSE_ATTN"

# Create a video generator with a pre-trained model generator = VideoGenerator.from_pretrained( "FastVideo/FastWan2.1-T2V-1.3B-Diffusers", num_gpus=1, # Adjust based on your hardware )

# Define a prompt for your video prompt = "A curious raccoon peers through a vibrant field of yellow sunflowers, its eyes wide with interest."

# Generate the video video = generator.generate_video( prompt, output_path="my_videos/", # Controls where videos are saved save_video=True )

if __name__ == '__main__': main()

Run the script with:

python example.py

For a more detailed guide, please see our inference quick start.

More Guides

Awesome work using FastVideo or our research projects

🤝 Contributing

We welcome all contributions. Please check out our guide here. See details in development roadmap.

Acknowledgement

We learned the design and reused code from the following projects: Wan-Video, ThunderKittens, DMD2, diffusers, xDiT, vLLM, SGLang. We thank MBZUAI, Anyscale, and GMI Cloud for their support throughout this project.

Citation

If you find FastVideo useful, please consider citing our research work:

@article{zhang2025vsa,
  title={Vsa: Faster video diffusion with trainable sparse attention},
  author={Zhang, Peiyuan and Chen, Yongqi and Huang, Haofeng and Lin, Will and Liu, Zhengzhong and Stoica, Ion and Xing, Eric and Zhang, Hao},
  journal={arXiv preprint arXiv:2505.13389},
  year={2025}
}

@article{zhang2025fast, title={Fast video generation with sliding tile attention}, author={Zhang, Peiyuan and Chen, Yongqi and Su, Runlong and Ding, Hangliang and Stoica, Ion and Liu, Zhengzhong and Zhang, Hao}, journal={arXiv preprint arXiv:2502.04507}, year={2025} }

More Video Trending projects

1

Genymobile / scrcpy

C★ 149,650⑂ 0
2

harry0703 / MoneyPrinterTurbo

Python★ 123,776⑂ 0
3

obsproject / obs-studio

C★ 76,223⑂ 0
4

FFmpeg / FFmpeg

C★ 64,235⑂ 0
5

calesthio / OpenMontage

Python★ 59,205⑂ 0
6

heygen-com / hyperframes

TypeScript★ 50,163⑂ 0