OpenImagingLab/FlashVSR
[CVPR 2026] Towards Real-Time Diffusion-Based Streaming Video Super-Resolution — An efficient one-step diffusion framework for streaming VSR with locality-constrained sparse attention and a tiny conditional decoder.
FlashVSR – Real‑Time Diffusion‑Based Video Super‑Resolution
What it does
FlashVSR is a research‑grade system that upscales low‑resolution video (typically 4×) to much higher resolutions in near‑real‑time. It does this with a diffusion model that has been distilled into a single‑step, streaming pipeline, so each video frame can be processed as it arrives rather than waiting for the whole clip.
Why it matters
- Speed – ~17 fps for 768 × 1408 video on a single NVIDIA A100, a ~12× speed‑up over previous one‑step diffusion VSR methods.
- Scalability – Works on ultra‑high‑resolution video thanks to a locality‑constrained sparse attention (LCSA) mechanism that avoids unnecessary computation.
- Quality – The authors report state‑of‑the‑art visual fidelity while keeping latency low, making diffusion‑based VSR practical for real‑world use.
How it works (high‑level)
- Three‑stage distillation – A large teacher diffusion model is distilled into a lightweight streaming student model, enabling fast inference.
- Locality‑Constrained Sparse Attention – Attention is limited to spatially local patches, dramatically cutting the quadratic cost of standard attention and bridging the gap between training‑time and test‑time resolutions.
- Tiny Conditional Decoder – A compact decoder reconstructs high‑resolution frames from the distilled latent representation, preserving detail without heavy compute.
- VSR‑120K dataset – A new 120 k video / 180 k image dataset created to train the model at scale.
Getting started (quick steps)
# Clone repo
git clone https://github.com/OpenImagingLab/FlashVSR && cd FlashVSR
# Create conda env (Python 3.11)
conda create -n flashvsr python=3.11 && conda activate flashvsr
# Install package and deps
pip install -e . && pip install -r requirements.txt
# Install block‑sparse attention backend (required for LCSA)
git clone https://github.com/mit-han-lab/Block-Sparse-Attention && cd Block-Sparse-Attention
pip install packaging ninja && python setup.py install
# Download model weights (v1.1 recommended) via Git LFS
cd ../examples/WanVSR
git lfs install
git lfs clone https://huggingface.co/JunhaoZhuang/FlashVSR-v1.1
# Run inference (choose script based on speed/quality needs)
python infer_flashvsr_v1.1_full.py # full model
# or
python infer_flashvsr_v1.1_tiny.py # tiny decoder, faster
The repository includes three inference scripts for full‑size, tiny‑decoder, and long‑video scenarios.
Hardware notes
- Optimized for NVIDIA A100 / A800 (Ampere). Works on H200 (Hopper) with reduced acceleration. Performance on RTX 40/50 or other GPUs is undocumented.
- The block‑sparse attention build can be memory‑hungry; ensure enough RAM during compilation.
Community & Ecosystem
- ComfyUI wrappers – several third‑party ports integrate FlashVSR into the popular visual‑programming UI, though some omit the LCSA module and may show lower quality.
- Online APIs – services like fal.ai, WaveSpeed AI, and Segmind host FlashVSR models for instant testing without a GPU.
- FlashVSR+ (Oct 2026) – an extension adding hybrid attention and reward‑aware post‑training (RY‑DMD).
Limitations / Caveats
- The official pipeline is tuned for 4× upscaling; other scales may be unstable.
- Third‑party implementations that replace LCSA with dense attention can produce noticeable artifacts, especially at high resolutions.
- The VSR‑120K dataset is still pending release (listed in the TODO).
License & Citation
The code is open‑source (license not specified in the README). If you use FlashVSR in research, cite:
@article{zhuang2025flashvsr,
title={FlashVSR: Towards Real-Time Diffusion-Based Streaming Video Super-Resolution},
author={Zhuang, Junhao and Guo, Shi and Cai, Xin and Li, Xiaohui and Liu, Yihao and Yuan, Chun and Xue, Tianfan},
journal={arXiv preprint arXiv:2510.12747},
year={2025}
}
FlashVSR brings diffusion‑based video upscaling into the realm of real‑time applications, combining a clever distillation pipeline with sparse attention to deliver high‑quality, fast results on modern GPUs.
Related
- Project
- Project
- Project
- Project
- Project