Nodes/ComfyUI-NynxzNodes/Create Fade Compare Video
ComfyUI Node

Create Fade Compare Video

Making before/after shots that actually show the difference

By Nynxz·Created 10 months ago·Updated a day ago· 0
Create Fade Compare Video
  • start_image
  • end_image
  • options
  • images
  • fps
upscale_toLarger Image
duration1.0
time_padding0.0

If you've ever posted a side-by-side "old vs new" and watched people reply with a shrug, the problem isn't your work - it's that a split image hides the difference. Your eye has to hold two versions of the same subject at once and diff them in your head. A quick fade between the two makes the change obvious, because your visual system does the comparing for you. That's the whole job of Create Fade Compare Video: two IMAGEs in, one short clip out, and you've got a before/after that reads at a glance.

It comes from ComfyUI-NynxzNodes, a single pack that also throws in regional LoRA gating, reference-image fusion, and a stack LoRA loader. The compare nodes are the "show your work" corner of it - nothing to do with generation, just honest image plumbing, which is why they're the rare Nynxz nodes that work on any model (or no model at all).

How it works

Feed it start_image and end_image, tell it how long the clip should be, and it renders the two frames into a batch, cross-fading between them over duration. The three settings you actually touch:

  • duration (default 1s) - how long the whole compare plays. The fade sits in the middle; the ends show each image at full strength. Shorten it and the transition gets snappier.
  • time_padding - hold time added before and after the fade. Zero keeps it a pure cross-fade; half a second each side makes the two states easier to register.
  • upscale_to - both images are forced to the same canvas so the cross-fade doesn't wobble, and "Larger Image" vs "Smaller Image" decides which one wins. Note it pads rather than crops, so mismatched aspect ratios letterbox instead of distorting.

The output is a frame images batch plus an fps number, not a video file - wire both into your usual video-save node (core Save Animated WebP works in a pinch; VHS's Video Combine is the common choice for MP4). The code also snaps the canvas to even dimensions for you, because video encoders throw tantrums on odd sizes.

Install

This pack is Nynxz's Custom Nodes on the ComfyUI registry. Easiest: ComfyUI Manager → Custom Nodes → search "NynxzNodes" and install the registry build (it ships the prebuilt UI). Or clone it:

cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzNodes

No pip dependencies at all - pure image math here. One gotcha if you clone: the pack's UI is Vue built into web/, which is kept out of git, so a raw clone needs pnpm install && pnpm build in the folder before the pretty nodes render. Manager/registry install skips that. Restart ComfyUI either way, and if nodes don't appear, update ComfyUI first - the pack uses the newer extension API.

Where people get burned

The classic mistake is expecting a file on the other end. This node - and its sibling Create Wipe Compare Video - stops at frames + fps because that keeps them encoder-agnostic; forget the saver and you'll see nothing but a preview. The other one is comparing images of wildly different sizes: leave upscale_to on its default and the smaller image gets upscaled, which can make the upscaling look like the "improvement". If you genuinely want to show the generation (not the resize), feed both frames the same resolution before they hit this node.

CategoryNynxz/Compare

Inputs (6)

NameTypeDefaultDescription
start_imageIMAGEStarting image
end_imageIMAGEEnding image
upscale_toCOMBOLarger ImageChoose whether to upscale the start and end images to the larger or smaller of the two images
durationFLOAT1.00.1–10Duration of the compare video in seconds
time_paddingFLOAT0.00–5Optional time padding (in seconds) added to start and end of the video
optionsoptNYNXZ_COMPAREVIDEO_OPTSCompare Video Options

Outputs (2)

NameTypeDescription
imagesIMAGE
fpsFLOAT