Nodes/Bubba Nodes/Bubba Image Compare
ComfyUI Node

Bubba Image Compare

A/B two images in the node with a draggable split bar

By bubbafett5611·Created 5 months ago·Updated 2 months ago· 0
Bubba Image Compare
  • pipe_a
  • pipe_b
  • image_a
  • image_b

    Comparing two generated images side by side in the browser is how everyone does it, and it's terrible: your eyes have to jump back and forth, and the differences you're hunting are usually tiny - a different sampler, a CFG one point apart, a LoRA at 0.7 versus 0.9. Bubba Image Compare gives you the thing image editors have had for decades: a draggable split bar right in the node, so one side is A and the other is B and you slide the divider to see the change happen in place. It's the ComfyUI take on the classic A/B wipe, and for small differences it's dramatically easier to read than two thumbnails.

    The mechanism is frontend, not backend: the node doesn't transform any pixels or compute anything. It takes two image inputs, composites them in the browser, and gives you the divider widget. That means it's instant and costs nothing at generation time - you just lose the ability to compare more than two images at once, which is a real limit for anyone doing 4-way sampler battles.

    What you connect

    Every input is optional, and there are two ways to supply each side:

    • pipe_a / pipe_b - optional pipes; the node takes each pipe's carried image as that side's source.
    • image_a / image_b - explicit image overrides. Per the tooltips, these override the pipe image when connected.

    So the common patterns are: two different sampler branches each ending in a pipe, wired straight in; or two Save/Preview outputs as plain images; or a pipe on one side and an explicit image on the other. The node uses the first frame from each batch - worth knowing if you're feeding it a batch of four generated variants, because it compares the first one of each, not all of them. Outputs: none. This is a pure inspection node, and it's marked as an output/terminal node in the schema.

    When to reach for it

    The honest answer: whenever you're A/B-ing and you care about where the difference is. If you just want to know "which of these two do I like," a side-by-side is fine. If you're comparing denoise 0.35 vs 0.45 and need to see that the eyes changed but the hair didn't, the split bar shows you exactly the boundary. It also shines for checking seam behavior on a detailer - slide across the patch boundary and you'll see the seam as a hard edge that a glance at two full images might miss.

    Two limits worth naming. First, it's A/B only - for the 4-way model comparison case, the pack's answer is the separate Bubba Model Compare pipeline (Compare Loader → branches → Compare Sheet), which composes a labeled grid instead. Second, because it's a browser widget, the comparison only exists while the node is on screen; there's no "export a GIF of the wipe" or a saved artifact. It's a working tool, not a deliverable.

    Install

    Standard Bubba Nodes install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bubbafett5611/Bubba_Nodes
    

    or ComfyUI Manager → search "Bubba Nodes", restart. Needs ComfyUI 0.27.0+ since the pack registers through the newer V3 API. No extra dependencies, no model files - this one is pure frontend glue.

    If the node shows nothing on one side, the usual cause is that the pipe you connected has no image in it yet - pipes carry whatever the last node wrote, and if you fed it a pipe straight from a checkpoint loader there's no image to display. Confirm the pipe has passed through a sampler or a load-image node first, or just wire the plain image output instead.

    CategoryBubba Nodes/Image

    Inputs (4)

    NameTypeDefaultDescription
    pipe_aoptBUBBA_PIPEOptional pipe containing the first image (A-side).
    pipe_boptBUBBA_PIPEOptional pipe containing the second image (B-side).
    image_aoptIMAGEOptional A-side image override. Overrides pipe_a.image.
    image_boptIMAGEOptional B-side image override. Overrides pipe_b.image.

    Outputs (0)

    No outputs