Nodes/KJNodes for ComfyUI/Cross Fade Images Multi
ComfyUI Node Runs on cloud

Cross Fade Images Multi

Turn a stack of images into a transitions video

By kijai·Created 3 years ago·Updated about 17 hours ago· 2,930
Cross Fade Images Multi
  • image_1
  • image_2
  • IMAGE
inputcount2
interpolation
transitioning_frames1

Cross Fade Images Multi takes any number of images and builds a video-ready frame sequence that cross-fades from one into the next, with your choice of easing curve controlling how each transition feels. Think of it as a slideshow builder that actually understands motion, not just a hard cut between stills.

Why this is more than a novelty

Cross-fading a set of stills is a real technique, not just a transition effect for its own sake - it's how you turn a batch of generated images (different seeds, a morph sequence, a set of style variations) into something that plays like a single continuous clip instead of a jarring slideshow. Feed it four seed variations and it becomes a smooth "watch the image evolve" clip; feed it a sequence you generated as narrative beats and it becomes a rough animatic.

How it works

Like the pack's other "Multi" nodes, this one uses a dynamic-input pattern: set inputcount to however many images you're feeding it (starting at 2, up to 1000) and the node exposes that many numbered image slots - image_1, image_2, and so on. Between each consecutive pair, it generates transitioning_frames worth of cross-fade, blended according to the interpolation curve you pick.

The curve choices go well past a plain linear fade: linear, ease_in, ease_out, ease_in_out, bounce, elastic, glitchy, and exponential_ease_out. Most of those are standard animation easing curves, borrowed from the same vocabulary you'd find in any motion-design tool - ease_in_out for a smooth, natural-feeling transition being the safe default. bounce and elastic are the fun ones, adding a springy overshoot to the fade rather than a clean settle. glitchy stands out as the odd one in the list - worth trying deliberately if you want a transition that reads as intentionally broken or digital rather than smooth, instead of treating it as an accident.

The inputs and outputs that matter

  • inputcount (default 2, 2–1000) - how many images you're feeding in; set this first, since it determines how many numbered image inputs the node shows.
  • image_1 (required) plus image_2 and onward (optional, appearing as you raise inputcount) - your source stills, in the order you want them to appear.
  • interpolation - the easing curve for every transition in the sequence (one setting applies across the whole chain, not per-pair).
  • transitioning_frames (default 1, up to 4096) - how many frames each cross-fade takes. Higher means a slower, more gradual transition; low values (including the default of 1) are closer to a hard cut.
  • IMAGE out - the full frame sequence, ready to feed into a video-combine/export node.

Installing it

Ships with the pack:

  • ComfyUI Manager - search KJNodes for ComfyUI, install, restart.
  • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-KJNodes, then pip install -r ComfyUI-KJNodes/requirements.txt, restart.

No models or heavy dependencies - it's frame interpolation math, not a learned model.

Common issues & troubleshooting

Output is one long batch and I expected separate clips. That's expected - this node produces one continuous frame sequence spanning all your transitions, meant to be fed straight into a video export node. If you actually want separate clips per transition, you'll need to split the output afterward rather than looking for a per-pair option on this node.

Barely looks like a fade at all. Check transitioning_frames - the default is 1, which is essentially a hard cut with no visible cross-fade. Raise it meaningfully (tens of frames, depending on your target framerate) to get a fade you can actually see.

Result looks jittery or oddly abrupt with bounce/elastic/glitchy. That's the curve doing what it's designed to do - those three deliberately overshoot or disrupt the transition rather than settling smoothly. If that's not the effect you wanted, switch to ease_in_out or plain linear for a conventional fade.

CategoryKJNodes/image

Inputs (5)

NameTypeDefaultDescription
inputcountINT22–1000
image_1IMAGE
interpolationCOMBO8 options: linear, ease_in, ease_out, ease_in_out, bounce, elastic, +2
transitioning_framesINT10–4096
image_2optIMAGE

Outputs (1)

NameTypeDescription
IMAGEIMAGE