A video LLM trained with streaming speech transcription that produces real-time commentary on live video, from the CVPR 2025 LiveCC paper.
OpenImagingLab/FlashVSR
A one-step diffusion-based streaming video super-resolution framework aimed at real-time upscaling, built on Python with Wan-based models.
- Stars
- 1,934
- Forks
- 163
- Open issues
- 78
- Last commit
- 4 days ago
What is it?
FlashVSR is a video super-resolution project that uses diffusion models to upscale video frames in a streaming fashion. It is designed for real-world footage where earlier diffusion-based VSR approaches are too slow and too memory-hungry to run in near real time, especially at ultra-high resolutions.
The framework combines a three-stage distillation pipeline that enables one-step streaming inference, locality-constrained sparse attention that reduces redundant computation, and a small conditional decoder for faster reconstruction. The authors report roughly 17 FPS for 768 × 1408 videos on a single A100 GPU. The repository includes inference scripts for v1 and v1.1 model weights hosted on Hugging Face, with full and tiny variants plus a long-video script. It is primarily optimized for 4× upscaling.
Setup requires Python 3.11, a build of the Block-Sparse Attention backend, and Git LFS to fetch weights. The project is Apache-2.0 licensed.
Key features
- 01One-step diffusion inference designed for streaming video super-resolution.
- 02Locality-constrained sparse attention to reduce computation at high resolutions.
- 03Tiny conditional decoder for faster frame reconstruction.
- 04Inference scripts for v1 and v1.1 weights, including full, tiny and long-video variants.
- 05Primarily optimized for 4× upscaling.
Use cases
- Upscaling low-resolution video footage to higher resolutions with diffusion-based quality.
- Running video restoration experiments on A100-class GPUs.
- Processing long videos frame by frame with a streaming pipeline.
Quick start
- 1
Clone the repository
git clone https://github.com/OpenImagingLab/FlashVSR - 2
Install Python dependencies (Python 3.11.13; also build Block-Sparse Attention separately from the README)
pip install -r requirements.txt - 3
Download the recommended v1.1 model weights from Hugging Face with Git LFS
git lfs clone https://huggingface.co/JunhaoZhuang/FlashVSR-v1.1 - 4
Run inference from examples/WanVSR with the v1.1 tiny script
python infer_flashvsr_v1.1_tiny.py
Things to know
- Block-Sparse Attention is required and its build is memory-intensive.
- Tested mainly on NVIDIA A100/A800 and H200; other GPUs such as RTX 40/50 series are unverified.
- Primarily designed and optimized for 4× super-resolution only.
Topics
FAQ
- What is FlashVSR?
- A one-step diffusion-based streaming video super-resolution framework aimed at real-time upscaling, built on Python with Wan-based models. FlashVSR is a video super-resolution project that uses diffusion models to upscale video frames in a streaming fashion. It is designed for real-world footage where earlier diffusion-based VSR approaches are too slow and too memory-hungry to run in near real time, especially at ultra-high resolutions.
- Is FlashVSR free to use? What license does it have?
- FlashVSR is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is FlashVSR still maintained?
- Actively maintained. The last commit to FlashVSR was on Oct 16, 2026.
- What can I use FlashVSR for?
- Upscaling low-resolution video footage to higher resolutions with diffusion-based quality. Running video restoration experiments on A100-class GPUs. Processing long videos frame by frame with a streaming pipeline.
- How do I install FlashVSR?
- Clone the repository: git clone https://github.com/OpenImagingLab/FlashVSR Install Python dependencies (Python 3.11.13; also build Block-Sparse Attention separately from the README): pip install -r requirements.txt Download the recommended v1.1 model weights from Hugging Face with Git LFS: git lfs clone https://huggingface.co/JunhaoZhuang/FlashVSR-v1.1 Run inference from examples/WanVSR with the v1.1 tiny script: python infer_flashvsr_v1.1_tiny.py
- Where can I get FlashVSR?
- The source code and installation instructions are on GitHub: https://github.com/OpenImagingLab/FlashVSR
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Ultralytics YOLOv5, a PyTorch-based computer vision toolkit for object detection, instance segmentation and image classification with training and export.
An open-source Diffusion model engine for image, video, and audio generation, with low-VRAM inference and training support.
A PyTorch library implementing class activation map (CAM) methods to visualize which image regions drive a computer vision model's predictions.
An all-in-one training suite for finetuning diffusion image, video and audio models on consumer GPUs, via a web UI or CLI.
Open-source toolkit for optimizing and deploying deep learning models for inference on Intel CPUs, GPUs and NPUs.