AUN Image Slider Comparer
The before/after comparer that finally labels both sides for you
- pair1_left
- pair1_right
- pair2_left
- pair2_right
- pair3_left
- pair3_right
- pair4_left
- pair4_right
- pair5_left
- pair5_right
You've made an image, upscaled it, re-rolled it, applied a LoRA - and now you need to actually see whether the new version is better. Screenshots side by side in a file manager gets old fast. This is the AUN Image Slider Comparer: a draggable divider between two images, up to five named pairs at once, and - the part that sold me - every input socket shows the name of the output slot it's connected to. Wire base image into pair1_left and latent upscaled into pair1_right and the node tells you which side is which without you memorising which socket you plugged into.
The author calls this their newest addition to the pack, and it shows: it's the polished one. You get up to five pairs (pair1_left/pair1_right through pair5_left/pair5_right), a pair dropdown to pick which one you're viewing, and a frame dropdown for batched inputs. Batched tensors or lists of frames are matched by index - frame i of the left input pairs with frame i of the right - and a single-frame side broadcasts to match the other side's length. The node title and an in-node header always show the active pair, and each side's dimensions sit next to its title.
Two interaction modes, switched via right-click → "Slider Mode": Drag (click and drag to scrub) and Slide (the slider just follows your mouse - nice for quick scanning, resets to the left edge when you leave). Right-click on the left or right half of the image area for a per-side menu: open that side in a new tab or download it, no re-run needed.
The inputs you'll actually touch: pair, frame, save_active (writes the displayed frame to your output folder with the prefix below it), and prefix (default AUNImageSliderComparer/Compare). With save_active on, each run writes <prefix>_L_<counter>.png and <prefix>_R_<counter>.png, and the filenames flash in the header badge. There are no outputs - it's a preview/UI node, end of the line.
Where this earns its keep: comparing base render vs hires fix, checking a ControlNet actually did something, A/B-ing two LoRA strengths or two seeds on the same prompt. The pack's own KSampler Plus workflow uses it to compare the base pass against the latent-upscaled pass, and that's a genuinely good pattern to copy.
Install: ComfyUI Manager (search "AUN"), or git clone https://github.com/loz2754/AUN-ComfyUI-Nodes into ComfyUI/custom_nodes/, restart. Dependencies are the pack's usual light set (piexif, opencv-python-headless, imageio-ffmpeg, requests); manually installed, run pip install -r requirements.txt if you see a missing-module error.
Troubleshooting:
- One side looks like it's missing → that side is probably a single frame and the other is a batch; the single frame broadcasts, it's fine.
- The frame dropdown maxes out lower than expected → it clamps to the shortest connected side.
- Want the comparison to persist? Set
save_active- otherwise nothing leaves the node, which is usually what you want.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| pair | COMBO | Pair 1 | Which named pair to display. Slot labels show the name of the connected output slot, or can be changed manually by right-clicking the input slot and choosing 'Rename Slot'. |
| frame | COMBO | 1 | Which frame (batch index) of the selected pair to view. Frame i of the left input is matched with frame i of the right input. |
| save_active | BOOLEAN | false | When enabled, the currently displayed left/right frame of the active pair is saved into the output folder with the prefix below. |
| prefix | STRING | AUNImageSliderComparer/Compare | Filename prefix used for the active-frame output save. |
| pair1_leftopt | IMAGE | Left image of pair 1. May be a batch or a list of frames; frames are matched by index with the right input. | |
| pair1_rightopt | IMAGE | Right image of pair 1. May be a batch or a list of frames; frames are matched by index with the left input. | |
| pair2_leftopt | IMAGE | Left image of pair 2. May be a batch or a list of frames; frames are matched by index with the right input. | |
| pair2_rightopt | IMAGE | Right image of pair 2. May be a batch or a list of frames; frames are matched by index with the left input. | |
| pair3_leftopt | IMAGE | Left image of pair 3. May be a batch or a list of frames; frames are matched by index with the right input. | |
| pair3_rightopt | IMAGE | Right image of pair 3. May be a batch or a list of frames; frames are matched by index with the left input. | |
| pair4_leftopt | IMAGE | Left image of pair 4. May be a batch or a list of frames; frames are matched by index with the right input. | |
| pair4_rightopt | IMAGE | Right image of pair 4. May be a batch or a list of frames; frames are matched by index with the left input. | |
| pair5_leftopt | IMAGE | Left image of pair 5. May be a batch or a list of frames; frames are matched by index with the right input. | |
| pair5_rightopt | IMAGE | Right image of pair 5. May be a batch or a list of frames; frames are matched by index with the left input. |
Outputs (0)
No outputs