flashvsr-plus / README.md
multimodalart's picture
multimodalart HF Staff
Upload folder using huggingface_hub
ee69ab7 verified
|
Raw History Blame Contribute Delete
1.93 kB
metadata
title: FlashVSR+ Video Super-Resolution
emoji: ⚡
colorFrom: red
colorTo: pink
sdk: gradio
sdk_version: 6.30.0
app_file: app.py
python_version: '3.12'
startup_duration_timeout: 1h
short_description: One-step video super-resolution at up to 4K

FlashVSR+ — Efficient Video Super-Resolution via Hybrid Attention and Reward-Yield Distribution Matching — super-resolves videos in a single diffusion step. This Space runs the official turbo preset (hybrid sliding attention + Triton block-sparse stream attention + TinyDecoder) from the FlashVSR_Plus codebase with the ruchangyao/FlashVSR_plus weights.

How it works

  1. Upload a video (any resolution/FPS; audio is preserved when present).
  2. Pick the output resolution — the input is center-cropped and resized to this size, then super-resolved in place. Both output sides must be multiples of 128.
  3. Optionally lower temporal compression to 2 or 1 for large-motion content (slower), or enable color correction to match low-frequency colors to the input.
  4. Press Super-resolve.

The requested height/width is the output resolution; FPS and audio of the input are kept.

Technical notes

  • Inference runs one stream chunk (4 latent frames) at a time with --decode-every 28 incremental decoding, bounding RAM so 4K output resolutions fit the ZeroGPU card.
  • Attention uses the project's vendored Triton block-sparse kernel (flashvsr_attn), plus the hybrid sliding attention of the turbo preset.
  • The example inputs are the videos shipped in the official repository (Apache-2.0).

Citation

@misc{yao2026flashvsrefficientvideosuperresolution,
  title={FlashVSR+: Efficient Video Super-Resolution via Hybrid Attention and Reward-Yield Distribution Matching},
  author={Yao, Ruchang and others},
  year={2026},
}