Nodes/ComfyUI-N-Nodes/FrameInterpolator
ComfyUI Node Runs on cloud

FrameInterpolator

RIFE-based motion smoothing for a frame batch

By Nuked88·Created 3 years ago·Updated 2 years ago· 237
FrameInterpolator
  • images
  • IMAGES
  • METADATA
METADATA
multiplier2

This isn't some obscure trick the pack invented - RIFE (Real-Time Intermediate Flow Estimation) shows up all over the ComfyUI video-restoration world as the cheap, standard way to add smoothness after the fact. It's the same move people reach for when they're stacking it on top of an upscale pass: get the resolution and detail sorted first, then double or quadruple the frame rate with RIFE to make the motion read as smooth instead of choppy. This node is N-Nodes' implementation of exactly that, credited in the README as adapted from hzwer/Practical-RIFE.

How it works

The important distinction, straight from the README: this doesn't just duplicate frames to pad out a higher frame rate - that's the cheap trick that makes motion look stuttery even at a higher nominal FPS. RIFE actually generates new, realistic in-between frames by estimating the motion flow between two existing frames and synthesizing what should logically sit between them. Feed it a batch of images and the METADATA object that came with them (from LoadVideo [n-suite] or LoadFramesFromFolder), set a multiplier, and it fills in the gaps.

The inputs and outputs that matter

Three inputs: images is your existing frame batch, METADATA carries the frame rate those frames were extracted at, and multiplier (default 2, meaning double the frame rate) is how aggressively you want to interpolate. Note that METADATA has a blank default - it isn't strictly required to be non-empty, but in practice you always want it wired in from your loader node, because the whole point of this node is multiplying an existing frame rate. Skip that connection and there's no real FPS value for the multiplier to act on.

Outputs mirror the inputs: IMAGES is the expanded batch - with a multiplier of 2, twice as many frames as you fed in - and METADATA comes back updated, with the frame rate scaled by the same multiplier, ready to hand to a video writer that needs to know the new pace.

Installing the pack

  • ComfyUI Manager - search "ComfyUI-N-Nodes," install, restart.
  • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/Nuked88/ComfyUI-N-Nodes.git, then restart ComfyUI.

Common issues & troubleshooting

Output looks smoother in some spots than others. That's inherent to optical-flow interpolation, not a config mistake - fast, complex, or occluded motion (limbs crossing, quick pans, objects entering/leaving frame) is harder for any flow-estimation model to get right than a slow static shot. If a specific stretch of your clip looks warped or ghosted after interpolation, that's usually the hardest section for the model, not a broken install.

Runs slower than you expected. You're running a small neural network once per pair of adjacent frames - a higher multiplier and a longer input batch both multiply the work directly. If you only need smoother motion in part of a clip, trim the input batch to that range first rather than interpolating the whole thing.

Feeding it a batch without METADATA wired in. Since the field technically defaults to an empty string, it's easy to leave it disconnected by accident, especially if you built the graph by starting from a plain image loader instead of LoadVideo [n-suite]. Always chain the metadata output from whichever node extracted your frames - that's the whole mechanism this node depends on to know what frame rate it's working with.

CategoryN-Suite/Video

Inputs (3)

NameTypeDefaultDescription
imagesIMAGE
METADATASTRING
multiplierINT2

Outputs (2)

NameTypeDescription
IMAGESIMAGE
METADATASTRING