Nodes/h4_Live/h4 - Comparinator
ComfyUI Node

h4 - Comparinator

A/B test two images side by side without losing your mind

By m3rr·Created 9 months ago·Updated 11 days ago· 1
h4 - Comparinator
  • image_a
  • image_b
  • frozen_image
  • image_a
  • image_b
save_modefalse
filename_prefixh4_Compare_
metadata_text
save_settings

H4_Comparinator is the "which one is better?" node. You've just run two generations that differ by a sampler, a LoRA, or a seed, and you need to actually see the difference instead of squinting at two tabs. The Comparinator puts image A and image B on one canvas with a sliding reticle, a sniper-scope magnifier for pixel-peeping, and a telemetry drawer that shows you the settings behind each generation. It's the forensic end of h4_Live's grid/testing suite - the node you reach for after H4_Gridinator has spat out a pile of candidates and you need to decide which one survives.

The design philosophy is basically "the 'Before' image on the left, the 'After' on the right, plus receipts." A is your control, B is your test. The sliding compare reticle is the whole point - drag it and watch the seam move. That's the same interaction you'd get from a decent image-comparison web tool, except it lives in your workflow, so A/B testing becomes part of the pipeline rather than a detour to a browser tab.

The inputs that matter

  • image_a - the "Before" / control image.
  • image_b - the "After" / test image.
  • frozen_image - overrides image B. Handy when you want to freeze one comparison state and swap B around without rewiring.
  • save_mode and filename_prefix - save the comparison sheet to your Output folder (h4_Compare_ by default). Turn this off when you're just browsing, or your output folder fills up fast.
  • metadata_text - custom metadata embedded into the saved output. Good for annotating "euler vs dpmpp_2m, seed 42" right into the file.
  • save_settings - the packed settings string the telemetry drawer reads. The node manages this behind the scenes.

The outputs

It passes both images back out: image_a and image_b. So the Comparinator can sit inline in a workflow - you compare, pick a winner, and the winning branch continues onward. It's marked as an output node, but it doesn't have to be the end of the line.

Installing and the one real annoyance

Standard h4_Live install: ComfyUI Manager → search "h4_Live", or git clone https://github.com/m3rr/h4_Live into custom_nodes, restart. No extra dependencies for this one - it's pure PyTorch plus the frontend.

The one real annoyance, and the author says so in the README: the HUD frontends (the Comparinator among them) can lag during heavy backend processing. The node's logic is fine; the fancy overlay is what stutters. It's cosmetic, it's known, and it's actively being worked on. Also worth knowing: this pack's QoL features ship OFF by default and are enabled one toggle at a time in ComfyUI settings - if the compare overlay isn't behaving, check there, then refresh the page.

Don't overthink the setup: A in, B in, drag the reticle, read the telemetry, wire the winner onward.

Categoryh4_Live/Visuals

Inputs (7)

NameTypeDefaultDescription
image_aIMAGEThe 'Before' or 'Control' image
save_modeBOOLEANfalseSave images to Output folder?
filename_prefixSTRINGh4_Compare_
image_boptIMAGEThe 'After' or 'Test' image
frozen_imageoptIMAGEOverrides Image B. Useful for freezing a comparison state.
metadata_textoptSTRINGCustom metadata to embed
save_settingsoptSTRING

Outputs (2)

NameTypeDescription
image_aIMAGE
image_bIMAGE