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)

  1. Three‑stage distillation – A large teacher diffusion model is distilled into a lightweight streaming student model, enabling fast inference.
  2. 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.
  3. Tiny Conditional Decoder – A compact decoder reconstructs high‑resolution frames from the distilled latent representation, preserving detail without heavy compute.
  4. 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