Skip to content
,

ReCaVSR in ComfyUI: One-Step 4x Video Upscaler (Files, Settings, VRAM)

8–12 minutes
Woman at a video editing desk holding a card reading RECAVSR, hook 4K video in 36 seconds

Upscaling video to 4K used to mean leaving your PC running overnight. ReCaVSR changes that. It is a new one-step 4x video super-resolution model from researchers at USTC, and it now runs natively inside ComfyUI through a custom node pack that landed this week.

In this guide I cover what ReCaVSR is, which files to download and where they go, how to install the nodes, every setting on the upscale node, real VRAM and speed numbers, how it compares with RelayVSR and SeedVR2, and fixes for the problems you are most likely to hit.

TL;DR

  • What: a one-step 4x video upscaler built on Wan2.2 TI2V-5B. It works through the video in blocks (21 frames, then 8 at a time) with a single denoising step each, then a fast FlashDecoder streams frames out.
  • Nodes: PedroMarinhoDev/ComfyUI-ReCaVSR. Install from ComfyUI Manager or with comfy node install comfyui-recavsr.
  • Files: put transformer_int8_convrot.safetensors (6.27 GB) or the bf16 transformer.safetensors (10.6 GB), plus prompt.safetensors and flashdecoder.safetensors, in ComfyUI/models/recavsr/.
  • VRAM: about 12 GB for 360p to 1440p portrait clips with int8; about 19-21 GB for 960×480 to 3840×1920.
  • Speed: a 149-frame clip to 3840×1920 took 36 s on an RTX 4090 with int8. You need Triton for those speeds.

New to ComfyUI? My ComfyUI beginner guide covers install, models, nodes and fixes in one place.

What ReCaVSR Is

ReCaVSR is a video super-resolution (VSR) model from a USTC research team. The code lives at kopperx/ReCaVSR and the weights at kopper/ReCaVSR on Hugging Face. The paper is on arXiv as 2609.37831.

Most diffusion upscalers run many denoising steps per frame, which is why they are slow. ReCaVSR was trained to do the job in one step. Here is how it works in plain words:

  • Base model: it is built on Wan2.2 TI2V-5B, the small Wan 2.2 video model, so it already understands motion and how things look from frame to frame.
  • Blocks of frames: it handles the first block of 21 frames, then moves on in blocks of 8. Each block gets a single step. A cache carries information forward, so details stay steady between blocks instead of flickering.
  • FlashDecoder: instead of the heavy Wan VAE, a small 229 MB decoder turns the result back into pixels and streams frames out as it goes. The node author measured it at 25-40x faster than the VAE.
  • Scale: it was trained for 4x. The node also documents 2x and 1.5x output.

The ComfyUI port by PedroMarinhoDev added an int8 version of the transformer, Triton kernels, KV offload for smaller cards, and a ready template. It keeps your clip’s audio and frame rate.

Licences: the node code is GPL-3.0 and the ported model code is Apache-2.0. The weights repo does not state a licence at the time of writing, so check it before using the output commercially.

Hardware Requirements

Item Requirement Notes
GPU NVIDIA, compute capability 7.5+ for int8 RTX 20 series and newer. Fast kernels need 8.0+ (RTX 30 series and newer).
VRAM About 12 GB for short 1440p portrait clips 19-24 GB for 4K-wide output. KV offload helps on 8-12 GB cards.
Triton Strongly recommended Without it, the node falls back to much slower code (common on Windows).
Disk About 6.5 GB (int8) or 11 GB (bf16) Plus 2.6 GB if you also want the Wan2.2 VAE.
Tested on ComfyUI 0.44.0, PyTorch 2.14.1, CUDA 13.2, Linux Newer ComfyUI should work. Update first if nodes fail to load.

If your ComfyUI is older, follow my guide to updating ComfyUI first.

Install the ComfyUI-ReCaVSR Nodes

You have three ways to install. Pick one.

Option 1: ComfyUI Manager (easiest)

  1. Open Manager and click Custom Nodes Manager.
  2. Search for ReCaVSR video super-resolution.
  3. Click Install, then restart ComfyUI.

No Manager yet? See how to install ComfyUI Manager.

Option 2: comfy-cli

comfy node install comfyui-recavsr

Option 3: git clone

cd ComfyUI/custom_nodes
git clone https://github.com/PedroMarinhoDev/ComfyUI-ReCaVSR
cd ComfyUI-ReCaVSR
pip install -r requirements.txt

Use the same Python that runs ComfyUI. For the portable Windows build that means python_embeded\python.exe -m pip install -r requirements.txt from the ComfyUI folder.

Install Triton (for speed)

On Linux, Triton normally comes with PyTorch. On Windows, install the community triton-windows package that matches your PyTorch version:

python_embeded\python.exe -m pip install -U "triton-windows"

Restart ComfyUI and check the console. The node prints a warning if it falls back to the slow path.

Model Files and Folders

Create the folder ComfyUI/models/recavsr/ and put these files in it:

File Size Folder Source
transformer_int8_convrot.safetensors (recommended) 6.27 GB models/recavsr/ PedroMarinhoDev/ReCaVSR-ComfyUI
transformer.safetensors (bf16, full quality) 10.6 GB models/recavsr/ kopper/ReCaVSR
prompt.safetensors 4.2 MB models/recavsr/ kopper/ReCaVSR
flashdecoder.safetensors 229 MB models/recavsr/ kopper/ReCaVSR
wan2.2_vae.safetensors (optional) about 2.6 GB models/vae/ Only for decoder = vae

You need only one transformer. Pick int8 unless you have 24 GB and want the original weights.

Download from the command line with the Hugging Face CLI. Run these from your ComfyUI/models/ folder:

hf download kopper/ReCaVSR prompt.safetensors flashdecoder.safetensors --local-dir recavsr
hf download PedroMarinhoDev/ReCaVSR-ComfyUI recavsr/transformer_int8_convrot.safetensors --local-dir .

The second command keeps the recavsr/ folder from the repo, so the file lands in models/recavsr/. Your folder should look like this:

ComfyUI/models/recavsr/
  transformer_int8_convrot.safetensors
  prompt.safetensors
  flashdecoder.safetensors

Run the 4x Template Workflow

The node pack ships a template, so you do not need to build anything.

  1. Open Templates (or Workflow, Browse Templates) and find ComfyUI-ReCaVSR.
  2. Open recavsr_video_4x. It is three steps: Load Video, then ReCaVSR Upscale Video, then Save Video. A ReCaVSR Model Loader feeds the upscale node.
  3. In the Model Loader, choose your transformer file.
  4. In Load Video, pick your clip. Start with a short one (5-6 seconds) to test.
  5. Click Run. The first run takes longer, because Triton compiles kernels for your output size (10-30 seconds). Later runs at the same size skip that.

The output keeps the source frame rate and audio track. That makes it easy to drop straight into an edit.

Every Setting Explained

Setting Options What it does Start with
scale 4, 2, 1.5 Output size. The model was trained at 4x; 2x and 1.5x are documented by the node. 4
color_fix none, adain, wavelet Pulls colours back toward the source if the output drifts. Wavelet keeps fine detail; adain matches overall tone. wavelet
seed any number Small changes to fine texture. Keep it fixed when comparing settings. fixed
decoder flashdecoder, vae FlashDecoder is 25-40x faster and uses less memory. VAE needs the extra Wan2.2 VAE file. flashdecoder
kernels fast, exact Fast uses Triton kernels (compute 8.0+). Exact is the reference maths, slower. fast
kv_offload on, off Moves the frame cache to system RAM to save VRAM, at some speed cost. off; on for 8-12 GB

VRAM and Speed Numbers

These figures come from the node author’s own tests. Times are listed as RTX 3090 / RTX 4090.

Job Weights Peak VRAM Time (3090 / 4090)
960×480 to 3840×1920, 149 frames bf16 23.5 GB 111 s / 49 s
960×480 to 3840×1920, 149 frames int8 18.6 / 21.2 GB 67 s / 36 s
360×360 to 1440×1440, 180 frames bf16 15.7 GB 33 s / 17 s
360×360 to 1440×1440, 180 frames int8 11.7 GB 23 s / 15 s

The author also limited memory to simulate 12 GB and 8 GB cards. The int8 portrait job still finished in about 23 s and 27 s.

How VRAM grows: working memory needs about 2.6 MB per 32×32 tile of output. That is roughly 5 GB of activations at 1440×1440 and 18 GB at 3840×1920, on top of the weights. So the biggest lever is output size, not clip length.

What this means for your card:

  • 8-12 GB: int8 plus kv_offload, small inputs (up to about 360p to 1440p).
  • 16 GB: int8 for 1080p-class output is comfortable.
  • 24 GB+: 4K-wide output with int8, or bf16 if you want the original weights.

ReCaVSR vs RelayVSR vs SeedVR2

There is no official side-by-side test of these three, so treat this as a guide to what each was built for, not a quality ranking.

ReCaVSR RelayVSR SeedVR2
Scale 4x (2x, 1.5x documented) 2x Any target resolution
Steps One step per block One step, keyframes only (every 15th frame) One step
Base Wan2.2 TI2V-5B Wan-based (LightX2V) Own DiT (3B / 7B)
Best for Low-res clips to 4K fast Doubling already decent clips Images and video, flexible sizes
Our guide This page RelayVSR x2 guide ComfyUI upscale guide

A practical approach: try ReCaVSR when you start from a small or AI-generated clip and need a big jump, and keep RelayVSR for a quick 2x on clips that already look clean.

Tips for Best Results

  • Upscale AI video at its native size. If your Wan or LTX clip is 480p, upscale the 480p file directly. Do not resize it first.
  • Test on 2-3 seconds. Settle on color_fix and seed with a short clip, then run the full one.
  • Keep output size in check. VRAM follows output pixels. A 720p source at 4x is 2880p wide, which needs a lot of memory.
  • Use wavelet colour fix if skin tones or skies shift.
  • Close other GPU apps. Browsers with hardware acceleration and other models in memory take VRAM you need.
  • Frame interpolation goes after. If you also want 60 fps, upscale first and interpolate second; see our ComfyUI speed guide for general speed tips.

Troubleshooting

Problem Fix
ReCaVSR nodes are red or missing Restart ComfyUI after install. Check the console for import errors and run pip install -r requirements.txt with ComfyUI’s own Python.
Model Loader shows no files Files must be in ComfyUI/models/recavsr/, not in a sub-folder. Refresh the browser after moving them.
Very slow, console says Triton not found Install Triton (triton-windows on Windows) matching your PyTorch, then restart.
First run pauses for 10-30 s Normal. Triton compiles kernels for each new output size once.
CUDA out of memory Switch to int8, turn on kv_offload, or use a smaller input or scale 2.
int8 error on an older GPU int8 needs compute 7.5+ (RTX 20 series or newer). On GTX cards use bf16 with exact kernels, if VRAM allows.
“fast” kernels fail on RTX 20 series Fast kernels need compute 8.0+. Set kernels to exact.
Colours look washed out or shifted Set color_fix to wavelet or adain.
decoder = vae fails Download wan2.2_vae.safetensors into models/vae/, or switch back to flashdecoder.
No audio in the output Make sure the audio output of Load Video is connected to Save Video, as in the template.

For general node problems, my ComfyUI beginner guide has a full fixes section.

FAQ

Is ReCaVSR free?

The code is open source (GPL-3.0 node, Apache-2.0 ported model code) and the weights are free to download. The weights repo does not list a licence yet, so check before commercial use.

Can I run ReCaVSR on 8 GB of VRAM?

For small jobs, yes. The author’s simulated 8 GB test ran a 360p to 1440p portrait clip with int8 in about 27 seconds. Turn on kv_offload and keep the output size small.

Does it work on AMD or Mac?

The node was tested on NVIDIA with CUDA. The int8 path and fast kernels are built for NVIDIA. AMD and Apple Silicon are not covered by the author’s tests.

Does it keep audio?

Yes. The template passes the audio and frame rate from Load Video to Save Video.

Can it upscale images?

It is a video model. For still images, use the tools in our ComfyUI image upscale guide.

Is it better than SeedVR2?

No one has published a fair head-to-head yet. ReCaVSR is aimed at fast 4x jumps on video; SeedVR2 is more flexible on target size. Try both on a short clip of your own footage.

Sources

Free weekly email

Get new AI guides every week

One short weekly email with our newest local AI, ComfyUI and AI tool guides. No spam, no pop-ups, just the good stuff.

Free. Unsubscribe anytime in one click. We only use your email to send this newsletter. See our privacy policy.

Woman at a video editing desk holding a card reading RECAVSR, hook 4K video in 36 seconds