Nodes/ComfyTV/Compare
ComfyUI Node

Compare

A before/after slider that isn't a node that does anything

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Compare
  • image_a
  • image_b
    project_id

    Compare is the rare ComfyUI node with no outputs and no Run button, and that's not a bug - it's the whole design. It takes two COMFYTV_IMAGE snapshots and shows you a drag-the-handle before/after slider inside the node body. Original on the left, edited on the right, and you slide to inspect whether that Upscale added detail or artifacts, whether that Inpaint seam is visible, whether Relight actually improved the light. It's visual QA with nowhere for data to flow, and nothing new enters your asset library.

    That's worth restating because beginners always look for the catch: it doesn't merge the images, it doesn't pick a winner, it doesn't emit anything. When you're satisfied, you wire the version you want to keep from the edit stage or Image Picker downstream yourself. Compare just sits on the canvas and looks.

    How it works

    Two optional inputs: image_a (before / left, typically the Picker original or a Loader output) and image_b (after / right, typically an Upscale, Inpaint, or Relight output). Wire both and the browser renders the split slider instantly - rewiring refreshes from the latest snapshot URLs, no Run needed. The project_id input is the usual internal lineage field; ignore it.

    The one real prerequisite is that both sides are COMFYTV_IMAGE snapshots. If your "after" is a native IMAGE tensor, bridge it in with → ComfyTV Image first.

    When it earns its keep

    • Upscale QA - extra detail versus artifacts, side by side.
    • Inpaint / Erase seam checks - the exact place a compare slider is better than squinting.
    • Relight / edit vs original - did the change help or hurt.
    • Two Image Stage seeds - pick singles with the Picker, then compare the picks.

    The pack's quick tour even ends on this pattern: chain a few VideoFX nodes, then use Compare to A/B the before/after. It's the last step of "did I actually improve anything."

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/jtydhr88/ComfyTV
    

    Restart the ComfyUI backend (a real restart, not a tab refresh); nodes appear under the ComfyTV category. ComfyUI Manager finds the pack by searching "ComfyTV". The README's two recurring gotchas: on Desktop/macOS/multi-install setups the relative cd can clone into the wrong instance - read the startup log for the base path it loaded and clone into that absolute path, quoted - and the first level of custom_nodes/ComfyTV/ must contain __init__.py, not a nested ComfyTV/ComfyTV/ folder. No Python dependencies to install.

    Troubleshooting and tips

    • Slider shows only one image. One side isn't wired, or its upstream stage hasn't Run (no snapshot to show).
    • Very different image sizes? The docs note the slider may letterbox to fit - that's expected, not a bug.
    • Confusing it with Image Picker. Picker chooses one and continues the pipeline; Compare only looks. You'll typically use both - pick, edit, then compare the edit against the pick.
    • Swap confusion. Swapping a/b works visually but muddies the before/after semantics. Keep image_a as the reference side and your life is simpler.
    CategoryComfyTV/Compose

    Inputs (3)

    NameTypeDefaultDescription
    project_idSTRINGInternal — populated by the projectStore on the frontend.
    image_aoptCOMFYTV_IMAGE
    image_boptCOMFYTV_IMAGE

    Outputs (0)

    No outputs