FlashVSR#
FlashVSR is a one-diffusion-step streaming diffusion framework for real-time video super-resolution (VSR). It combines a train-friendly three-stage distillation pipeline, locality-constrained sparse attention that bridges the train-test resolution gap, and a tiny conditional decoder for fast reconstruction.
Teaser image source: FlashVSR official repository.
Requirements#
Minimum VRAM: ~24 GB.
PyTorch: >= 2.9.
Installation#
# from the repo root
uv sync --package flashdreams-flashvsr --inexact
Running the method#
The v2 v2v application accepts a video and writes the super-resolved video
through the standard application/session runtime:
uv run --no-sync flashdreams-run-v2 \
v2v-flashvsr-v1.1-sparse-ratio-2.0 \
--output-path upscaled.mp4 \
-- --video-path input.mp4
Omit --video-path to download and process the bounded Big Buck Bunny
fallback.
We provide the following variants:
To inspect all supported CLI arguments and their default values, run:
uv run --no-sync flashdreams-run-v2 \
v2v-flashvsr-v1.1-sparse-ratio-2.0 -- --help
A generated sample from the above commands:
Profiling benchmark#
Here is the profiling benchmark on per-chunk 2x upsampling time for FlashDreams FlashVSR compared to the official FlashVSR implementation under matched settings.
This chart shows per-chunk 2x upsampling time in milliseconds on a single GB200 GPU with a chunk size of 8 frames. For the official FlashVSR implementation, see this instruction.
Citation#
If you use FlashVSR, please cite the original work:
@inproceedings{zhuang2026flashvsr,
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},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={43482--43493},
year={2026}
}
