Nodes/WhiteRabbit/πŸ‡ RIFE VFI Interpolate by Multiple
ComfyUI Node

πŸ‡ RIFE VFI Interpolate by Multiple

The plain 'make it smoother' RIFE node β€” no FPS math required

By Artificial-SweetenerΒ·Created about a year agoΒ·Updated about a month agoΒ· 82
πŸ‡ RIFE VFI Interpolate by Multiple
  • frames
  • optional_interpolation_states
  • IMAGE
β—„ckpt_namerife47.pthβ–Ί
β—„multiplier2β–Ί
β—„scale_factor1.00β–Ί
β—„ensembletrueβ–Ί
β—„clear_cache_after_n_frames10β–Ί

If you just want your video to be twice as smooth and you don't want to think about frame rates, this is the node. RIFE VFI Interpolate by Multiple takes your clip and inserts evenly spaced in-between frames between every pair - Γ—2 adds one new frame per pair, Γ—4 adds three, and so on. It's the "double the frames" button, done properly with actual motion estimation instead of the frame-bleeding garbage you get from just duplicating frames in an editor.

It's WhiteRabbit's take on the classic RIFE interpolation node from Fannovel16's Frame-Interpolation pack, rewritten with an eye toward batching and caching. The author's framing is that it's "a slightly optimized version of the original node" - and the optimization you'll actually feel is the shared model instance: if your workflow chains several WhiteRabbit RIFE nodes, the checkpoint gets loaded once and reused, which matters a lot when you're interpolating a long clip frame by frame.

How it works

RIFE (Real-Time Intermediate Flow Estimation) predicts optical flow between a pair of frames, then uses that flow to warp and blend them into a frame at any position in between. With a multiplier of 2, it asks for the frame exactly halfway between each pair; with 4, it generates three evenly spaced positions. The flow estimation is what makes the difference between a smeared ghost and a genuinely new frame that has the motion of the scene.

Two settings shape the quality/speed trade. scale_factor runs the network on a scaled-down pyramid (0.5 is faster but softer, 2 is sharper but slower - keep 1.0 as your default). ensemble blends the forward and backward predictions, which kills the weird warping artifacts you sometimes see on strong motion; it costs time, so if you're doing a quick preview you can flip it off.

The inputs that matter

  • frames - your clip.
  • multiplier - how many in-betweens per pair. 2 is the sweet spot for most things; 4 starts to feel expensive on long clips.
  • ckpt_name - defaults to rife47.pth, with the RIFE 4.7/4.9 pair and newer 4.25/4.26 supported. First use auto-downloads into models/frame_interpolation/ (SHA-256 checked).
  • optional_interpolation_states - the one advanced input worth knowing about. Wire in an interpolation-state signal to skip specific frame pairs - typically scene cuts, where interpolating across a hard cut just produces a mushy dissolve. The timing of other pairs is untouched.
  • clear_cache_after_n_frames - VRAM hygiene; every N generated frames the node frees GPU memory. The default of 10 is fine for most cards; drop it if you're on 6GB.

Installing it

Same as every WhiteRabbit node - install the pack once:

cd ComfyUI/custom_nodes
git clone https://github.com/Artificial-Sweetener/comfyui-WhiteRabbit
cd comfyui-WhiteRabbit
python -m pip install -r requirements.txt   # in your ComfyUI env

Or find "WhiteRabbit" in ComfyUI Manager. Restart ComfyUI and the πŸ‡ nodes appear under "video utils". The pack only adds torchlanc as a pip dependency and targets ComfyUI's v3 node API, so keep ComfyUI updated.

Where people get burned

  • It multiplies, it doesn't resample. If you need a specific target FPS (like 24β†’60), this isn't the node - that's RIFE VFI FPS Resample's job. This one just multiplies whatever you give it.
  • Long clips + high multiplier = VRAM. A 4Γ— interpolation of a 10-second clip is a lot of intermediate tensors. Set clear_cache_after_n_frames sensibly rather than turning it off.
  • Scene cuts turn into goo. If your clip has hard cuts, feed it optional_interpolation_states or trim the clip into shots first.

Wire the output IMAGE into your video-save node and you're done. It won't win awards for cleverness - but "just make it smoother" is a legitimate job, and this does it cleanly.

Categoryvideo utils

Inputs (7)

NameTypeDefaultDescription
ckpt_nameCOMBOrife47.pthChoose RIFE 4.7, 4.9, 4.25, or 4.26 (for interpolation). Missing catalog models download automatically into ComfyUI's frame_interpolation model folder.
framesIMAGEYour input clip: one image per frame.
multiplierINT2Adds extra frames to smooth motion: 2 adds 1 new frame per pair; 4 adds 3.
scale_factorFLOAT1.000.25–4Quality vs speed. 1.0 recommended. Lower = faster/softer; higher = sharper/slower.
ensembleBOOLEANtrueBlend forward & backward predictions to reduce artifacts (slower).
clear_cache_after_n_framesINT100–1000Free up GPU memory every N generated frames (advanced). Set 0 to never.
optional_interpolation_statesoptINTERPOLATION_STATESDon’t create in-between frames for selected frame pairs (e.g., scene cuts). Timing stays the same.

Outputs (1)

NameTypeDescription
IMAGEIMAGEβ€”