Nodes/ComfyUI_Fill-Nodes/FL RIFE Frame Interpolation
ComfyUI Node

FL RIFE Frame Interpolation

Frame interpolation to smooth out (and stretch) AI video

By filliptm·Created 3 years ago·Updated about 17 hours ago· 628
FL RIFE Frame Interpolation
  • images
  • IMAGE
ckpt_namerife47
multiplier2
ensemblefalse

Your Wan or LTX clip came out choppy. It's 81 frames at 16fps, it looks like a flipbook, and you want it buttery. That's what FL_RIFE is for: it invents the in-between frames so a stuttery clip becomes a smooth one, and doubles (or more) your frame count while it's at it. RIFE - Real-Time Intermediate Flow Estimation - is the interpolation everyone reaches for in ComfyUI, and this is Fill-Nodes' own take on it.

The mechanism, briefly: RIFE looks at two consecutive frames, estimates the optical flow between them (how every pixel moved), and warps a brand-new frame into the gap. It's a small, fast network, so it's cheap compared to actually generating more frames from your diffusion model. That's the whole appeal - you generate few frames, then interpolate up. Generating 81 real frames at 720p on a 4090 can take 40 minutes; interpolating those 81 up to 160-odd takes seconds.

How it works and what you set

Wire your images (the frame batch) in, get an IMAGE batch of the interpolated frames out, then send that to your video-save node. The inputs that actually matter:

  • multiplier (2–10) - how many frames you end up with. 2 doubles the count, 4 quadruples it. Start at 2; it's usually enough to kill the stutter.
  • ckpt_name - rife47 or rife49, two versions of the v4.x weights. rife47 is the sane default; try rife49 if you want to compare.
  • ensemble (on/off) - runs the estimate both directions and averages for slightly cleaner results, at the cost of speed. Leave it off unless you see artifacts.

One thing beginners trip on: interpolation adds frames, not speed. If you don't also bump the FPS on your save node to match, your video just plays in slow motion. Doubled the frames with multiplier 2? Double the fps on the save node too, and you get the same duration, smoother. Keep the fps the same and you get a 2× slow-mo clip - which is sometimes exactly what you want.

Installing it

FL_RIFE ships inside ComfyUI_Fill-Nodes, so you install the whole pack once. Easiest path is ComfyUI Manager: open Manager, search Fill-Nodes (or the full title ComfyUI_Fill-Nodes), install, restart. Manual works too:

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes

then restart ComfyUI. It's a big pack (image, VFX, video, audio, PDF, a pile of AI-API nodes), so first launch pulls a long list of Python deps - give it a minute.

The one FL_RIFE-specific thing: it downloads the RIFE model weights from HuggingFace on first use. So the first run of the node needs a working internet connection and will pause while it grabs the checkpoint. After that it's cached and offline-fast.

Where people get stuck

The classic RIFE headache isn't this node specifically, it's the family: on Apple Silicon, RIFE nodes routinely throw a device-mismatch error ("found at least two devices, mps:0 and CPU"), and the community's standing answer is to fall back to FILM interpolation instead - Fill-Nodes ships an FL_FILM node for exactly that. On NVIDIA it just works. The other gotcha is expecting miracles from garbage in: RIFE interpolates motion, it doesn't fix it. If your source frames have a hard cut or a teleporting subject, RIFE will smear across the discontinuity because it's trying to find a flow that isn't there. Interpolate within a continuous shot, not across cuts - trim the cut out first (FL_VideoTrim in this same pack is handy for that) and interpolate the clean segment.

Category🏵️Fill Nodes/Video

Inputs (4)

NameTypeDefaultDescription
imagesIMAGE
ckpt_nameCOMBOrife472 options: rife47, rife49
multiplierINT22–10Number of frames to generate between each pair (2 = 2x frames)
ensembleBOOLEANfalseUse ensemble for better quality (slower, runs model twice and averages results)

Outputs (1)

NameTypeDescription
IMAGEIMAGE