ComfyUI Node Runs on cloud

IFRNet VFI

The lightweight, efficient frame interpolator

By Fannovel16·Created 3 years ago·Updated 4 months ago· 1,058
IFRNet VFI
  • frames
  • optional_interpolation_states
  • IMAGE
ckpt_name
clear_cache_after_n_frames10
multiplier2
scale_factor1

IFRNet is the efficiency pick in the ComfyUI Frame Interpolation pack. When you want smoother video without a huge time or VRAM hit, this is a sensible default - it was designed to be fast and light while still producing clean in-betweens. If you're on modest hardware or interpolating long clips where a heavyweight model would time out, start here.

The job, if this is new to you: frame interpolation invents new frames between your existing ones so a choppy low-fps clip plays back smooth. You generate video cheaply at a low frame count (AnimateDiff, Wan) and then interpolate 2x or 4x to hit a watchable frame rate, instead of paying the diffusion cost of every real frame. IFRNet does that last step quickly.

How it works

IFRNet - "Intermediate Feature Refine Network," from CVPR 2022 - folds motion estimation and frame synthesis into a single efficient encoder-decoder. Rather than run a separate heavy optical-flow network and then a synthesis network, it progressively refines intermediate features to produce the middle frame in one pass. That single-network design is the reason it's fast. You don't touch the internals; you pick which trained weights to load and, optionally, a processing scale.

The inputs that matter

  • frames (IMAGE) - the clip you're smoothing, at least 2 frames, from your VAE decode or a Load Images node.
  • ckpt_name - four weights, split two ways: size (S small vs L large) and training set (Vimeo90K vs GoPro). So you get IFRNet_S_Vimeo90K.pth, IFRNet_L_Vimeo90K.pth, IFRNet_S_GoPro.pth, IFRNet_L_GoPro.pth. The S builds are faster and lighter; the L builds are higher quality. The GoPro-trained ones lean toward fast real-world camera motion, Vimeo90K toward general content. Start with IFRNet_S_Vimeo90K.pth and step up if you need more. All download on first run.
  • multiplier (INT, default 2) - output frames per gap. 2 doubles the frame count, 4 quadruples it.
  • scale_factor (default 1) - a resolution knob for the internal flow computation, with choices 0.25, 0.5, 1, 2, 4. Values below 1 process motion at a lower internal resolution, which saves memory and time on high-res clips (handy when you'd otherwise OOM); 1 is the standard. Leave it at 1 unless you're fighting VRAM or artifacts.
  • clear_cache_after_n_frames (INT, default 10) - lower it on long clips if memory gets tight.

An optional optional_interpolation_states input takes a Make Interpolation State List for skipping specific frame pairs. Usually left unwired.

Output is a single IMAGE batch - pipe it into a Video Combine node (VideoHelperSuite) to encode.

Installing it

It ships in the whole ComfyUI Frame Interpolation pack:

  • ComfyUI Manager - search ComfyUI Frame Interpolation, install, restart.
  • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/Fannovel16/ComfyUI-Frame-Interpolation, then python install.py (Linux, in your ComfyUI venv) or install.bat (Windows). Restart.

The IFRNet weights download on first use.

Common issues

If you're on a high-resolution clip and hitting out-of-memory, IFRNet gives you two levers most nodes don't: drop scale_factor to 0.5 or 0.25 to process motion at a lower internal resolution, and/or lower clear_cache_after_n_frames. That combination is why IFRNet is the one people reach for on tight VRAM.

The pack-wide dependency issues still apply: the cupy backend is the usual install snag, so run install.bat on Windows instead of install.py. If the GPU is idle and interpolation crawls, the backend probably fell back to CPU - check that cupy installed against your CUDA version. And interpolation smooths existing motion; it won't fix source frames that were already inconsistent.

CategoryComfyUI-Frame-Interpolation/VFI

Inputs (6)

NameTypeDefaultDescription
ckpt_nameCOMBO4 options: IFRNet_S_Vimeo90K.pth, IFRNet_L_Vimeo90K.pth, IFRNet_S_GoPro.pth, IFRNet_L_GoPro.pth
framesIMAGE
clear_cache_after_n_framesINT101–1000
multiplierINT22–1000
scale_factorCOMBO15 options: 0.25, 0.5, 1, 2, 4
optional_interpolation_statesoptINTERPOLATION_STATES

Outputs (1)

NameTypeDescription
IMAGEIMAGE