Nodes/ComfyUI-TinyBee/Interpolate Frames
ComfyUI Node

Interpolate Frames

Crossfade Between Two Images

By TinyBeeman·Created about a year ago·Updated about a month ago· 1
Interpolate Frames
  • begin_image
  • end_image
  • frames
frame_count10
include_begintrue
include_endtrue

So you want to turn a keyframe A and a keyframe B into a smooth sequence of frames. Interpolate Frames is the node that does it - but let's be clear about what it is and isn't. It's linear crossfading: each frame is a weighted blend of the start and end images. It is not motion-aware interpolation like RIFE or frame-generation like what you'd feed an actual video model. If your goal is a gentle transition for an img2img sequence or a rough tween to preview timing, this is perfect. If you expected "real" intermediate frames with moving subject matter, you'll be disappointed. Knowing which one you want is the whole review.

How it works

  • frame_count - how many in-between frames to generate, default 10. These are between the endpoints, so with endpoints included you get frame_count + 2 frames total.
  • include_begin / include_end - whether to prepend/append the original start/end images. Both default on.
  • begin_image / end_image - the two keyframes. Both are optional, but at least one must be provided or the node raises an error. If only one is given, the missing side becomes a black image.

The math is the simplest possible interpolation: frame i is (1 - alpha) * begin + alpha * end, where alpha = i / (frame_count + 1). Frames are evenly spaced, each is a straight pixel blend, and the result is a single IMAGE batch in order (begin, tween frames..., end).

The real constraints are structural: both images must be the same dimensions (different sizes raise an error), and only the first image is used if you hand in a batch instead of a single image. The error on mismatched sizes is at least a loud one - no silent squashing - but you'll hit it the first time you interpolate between a portrait and a landscape crop.

Where you'd actually use it

  • Keyframe tweens: build a starting sequence of frames for an img2img video workflow from two stills.
  • Transitions: a crossfade between two images that you then run through a video or animation pipeline.
  • Preview: eyeball timing/ordering before committing to a heavier process.

Installing it

Part of ComfyUI-TinyBee under 🐝TinyBee/Video:

  1. ComfyUI Manager → Install Custom Nodes → search "ComfyUI-TinyBee" → Install, then restart ComfyUI.
cd ComfyUI/custom_nodes
git clone https://github.com/TinyBeeman/ComfyUI-TinyBee

Restart. No models, and the work is tensor arithmetic (torch), which ComfyUI already has.

Gotchas

Set expectations and you're fine. This is a blend, not motion interpolation - moving subjects will ghost/dissolve rather than move. For genuine intermediate frames you want a dedicated motion-interpolation pack (RIFE-style) or an I2V model; use this node when a fade is what you actually want. Also remember the size-mismatch error and the "one endpoint only" black-fill behavior. And since frame_count counts in-between frames, a frame_count of 0 with both endpoints included gives you just the two keyframes back - useful as a passthrough, mildly confusing if you expected a single frame.

Category🐝TinyBee/Video

Inputs (5)

NameTypeDefaultDescription
frame_countINT100–1000
include_beginBOOLEANtrue
include_endBOOLEANtrue
begin_imageoptIMAGE
end_imageoptIMAGE

Outputs (1)

NameTypeDescription
framesIMAGE