ComfyUI Node Runs on cloud

IFUnet VFI

A RIFE-derived interpolator with fusion and refine stages

By Fannovel16·Created 3 years ago·Updated 5 months ago· 1,061
IFUnet VFI
  • frames
  • optional_interpolation_states
  • IMAGE
ckpt_name
clear_cache_after_n_frames10
multiplier2
scale_factor1.0
ensembletrue

IFUnet is a RIFE-family interpolator in the ComfyUI Frame Interpolation pack, built by the same author (98mxr) behind GMFSS Fortuna. It takes RIFE's real-time flow approach and bolts on a fusion network and a refine network to clean up the output. If you like RIFE's speed but want a little more polish on the synthesized frames, this is the sibling to try.

Frame interpolation, briefly: it invents new frames between your existing ones so a choppy low-fps clip plays smooth. You generate video cheaply at a low frame count with AnimateDiff or Wan and then interpolate 2x or 4x to a watchable frame rate, instead of paying to diffuse every real frame. IFUnet is one option for that last step.

How it works

The pack describes it plainly: "RIFE with IFUNet, FusionNet and RefineNet." RIFE (Real-Time Intermediate Flow Estimation) is the fast flow-based core that estimates motion and warps toward the middle frame; IFUnet adds a fusion stage to combine the warped candidates and a refine stage to fix up artifacts before output. The ensemble and scale_factor controls below expose the two knobs that matter for that pipeline. As always in this pack, you don't configure the network itself - you load the weights and set a couple of options.

The inputs that matter

  • frames (IMAGE) - your clip, at least 2 frames, from a VAE decode or a Load Images node.
  • ckpt_name - one option, IFUNet.pth, which downloads automatically on first run.
  • multiplier (INT, default 2) - output frames per gap. 2 doubles, 4 quadruples.
  • scale_factor (FLOAT, default 1) - the internal processing scale, ranging 0.1 to 100. Values below 1 run the flow estimation at a lower internal resolution, which saves memory and time on high-res clips; values above 1 process at higher resolution. Leave it at 1 unless you're fighting VRAM (go down) or want to experiment on very high-res footage.
  • ensemble (BOOLEAN, default true) - runs the model in both temporal directions and averages, which generally improves quality at some speed cost. It's on by default; turn it off if you want it faster and can live with slightly rougher frames.

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 IFUNet.pth checkpoint downloads on first use.

Common issues

Because IFUnet is RIFE-derived, it inherits the RIFE family's most-reported headache: the interpolation running on CPU with the GPU sitting idle. That's a genuinely common complaint with this pack's RIFE-style nodes, and it's almost always the cupy backend having failed to initialize on the GPU. Run install.bat on Windows (not install.py), and verify cupy installed against your actual CUDA version before concluding the node is just slow.

If you OOM on a high-res or long clip, you've got two levers here: drop scale_factor below 1 to process motion at lower resolution, and lower clear_cache_after_n_frames. Turning ensemble off also cuts the work roughly in half. And if RIFE-style nodes flat-out won't run on your setup - Mac especially - FILM VFI is the reliable cross-platform fallback in this same pack.

CategoryComfyUI-Frame-Interpolation/VFI

Inputs (7)

NameTypeDefaultDescription
ckpt_nameCOMBO1 options: IFUNet.pth
framesIMAGE
clear_cache_after_n_framesINT101–1000
multiplierINT22–1000
scale_factorFLOAT1.00.1–100
ensembleBOOLEANtrue
optional_interpolation_statesoptINTERPOLATION_STATES

Outputs (1)

NameTypeDescription
IMAGEIMAGE