ReCaVSR Does 4x Video Upscaling in One Step, Now Inside ComfyUI
ReCaVSR upscales clips 4x on Wan2.2 in one denoising step per block. ComfyUI nodes, a 6.3 GB int8 file and a ComfyUI Manager install are now available.
The model upscales a clip 21 frames at a time and then 8 at a time, one denoising step per block, carrying the previous block's latents and a cache of past keys and values forward. Its own streaming decoder, FlashDecoder, turns each block into frames as soon as it is done, so a longer clip costs time and disk rather than memory.
A rainy street at 4x, 960×480 to 3840×1920, from the project's demo set.
![]() | ![]() |
|---|---|
| 960×480 to 3840×1920, input on top | 360×360 to 1440×1440, input on the left |
Speed
Two clips, 149 and 180 frames, through the ReCaVSR Upscale Video node on Linux with ComfyUI 0.44.0, sage attention and dynamic VRAM:
| Rainy street, 960×480 to 3840×1920 | RTX 3090 | RTX 4090 | Peak VRAM 4090 |
|---|---|---|---|
| bf16 transformer | 114 s | 59 s | 22.6 GB |
| int8 ConvRot | 67 s | 36 s | 21.2 GB |
The portrait, 360×360 to 1440×1440, drops to 15 s on a 4090 and 11.6 GB with the int8 file. Held down to a 12 GB or 8 GB card, the same portrait still finishes in 23 s and 27 s.
The int8 file is 6.27 GB against 10.6 GB for bf16, and it stays about 48 dB from the bf16 output over every frame.
bf16 on top, int8 below, 1:1 crops of the output.
Run it
- Install the nodes: search ReCaVSR video super-resolution in ComfyUI Manager, run
comfy node install comfyui-recavsr, or clone ComfyUI-ReCaVSR intocustom_nodesand install its requirements. - Put
prompt.safetensors(4.2 MB) andflashdecoder.safetensors(229 MB) from kopper/ReCaVSR intoComfyUI/models/recavsr, then add either the bf16transformer.safetensorsor the int8 ConvRot file to the same folder. - Open Templates → ComfyUI-ReCaVSR → recavsr_video_4x, load a clip, queue. The chain is Load Video → ReCaVSR Upscale Video → Save Video, and the output keeps the input's audio and frame rate.
Settings worth knowing
- Scale 4 is what the model was trained for; 2 and 1.5 are documented by the original repo. Sizes that are not a multiple of 32 are padded and cropped back.
- Decoder:
flashdecoderis the model's own and runs 25 to 40x faster than the Wan 2.2 VAE. Thevaeoption draws finer texture if you have the time. color_fix:none,adainorwavelet, the StableSR-style corrections, if the upscale shifts colour.kv_offloadmoves the attention history to RAM between blocks. You need it for 3840×1920 on a 16 GB card, and it costs 7 to 16% speed at 1440p.- Without Triton, both attention kernels fall back to PyTorch and get much slower. Windows installs usually land here.
The bf16 path needs an NVIDIA GPU at compute capability 7.5 or newer for the int8 GEMM; below that, weights are dequantized on load.
Availability
- Weights: PedroMarinhoDev/ReCaVSR-ComfyUI for the int8 transformer, kopper/ReCaVSR for the bf16 transformer, prompt embedding and FlashDecoder.
- Nodes: PedroMarinhoDev/ComfyUI-ReCaVSR, also on the Comfy Registry.
- Original model and code: kopperx/ReCaVSR; paper arXiv 2609.37831.


Comments
Sign in with GitHub to join the discussion.