Nodes/Inspect Image Overlay/Inspect Image Overlay
ComfyUI Node

Inspect Image Overlay

See your render fullscreen without leaving the graph

By TK22-26·Created 2 months ago·Updated 2 months ago· 0
Inspect Image Overlay
  • images
  • images
auto_opentrue
save_to_outputfalse

The name is the whole pitch. Inspect Image Overlay runs, and a fullscreen inspector pops up over your graph showing the latest render - no digging through the outputs panel, no squinting at a postage-stamp preview pinned to a node. You zoom, you pan, you arrow-key through the batch, and when you're done, Esc puts you right back where you were.

ComfyUI's built-in preview is fine for a quick glance, but it's stuck at node size. If you're iterating on an upscale, checking a face for artifacts, or eyeballing a batch of variations, being able to actually look at the image while the graph stays in context is genuinely nicer than tabbing back and forth. This node is a small utility with one job, and it does that job cleanly.

How it works

It's a two-part trick, and neither half is heavy. The Python side converts each frame of the input IMAGE tensor to a PNG and writes it into ComfyUI's temp storage (temp/inspect_image_overlay/). Then it pushes a websocket event to the browser via PromptServer.instance.send_sync. The bundled JavaScript listens for that event, opens the overlay, and loads the image through ComfyUI's /view endpoint.

That's the whole mechanism, and it's worth saying what it doesn't need: no Python dependencies beyond numpy and PIL (which ComfyUI already ships), no model files, no API key. Its pyproject.toml lists zero dependencies. In a custom-node ecosystem that's notorious for dependency hell, this is the rare install that can't break your environment.

One detail I like: the node overrides IS_CHANGED to always re-run, so it never gets skipped by ComfyUI's caching. An inspector that silently didn't update would be useless, so that's the right call. And since it's an OUTPUT_NODE, its results also show up in the normal UI results - you get the overlay and the usual thumbnail.

The inputs that matter

There are exactly three, and you'll only touch two of them:

  • images (IMAGE, required) - wire in whatever tensor you want to inspect. That's it.
  • auto_open (BOOLEAN, default true) - whether the overlay auto-opens or updates when the node executes. The default is what you want most of the time; flip it off if the overlay keeps hijacking your screen mid-iteration.
  • save_to_output (BOOLEAN, default false) - off by default means preview-only PNGs in temp storage. Flip it on and it also writes persistent copies to output/InspectImageOverlay/, complete with ComfyUI prompt metadata when metadata is enabled.

The single output is images, an IMAGE pass-through - the tensor comes out unchanged, so you can drop this node inline in the middle of a workflow and keep wiring onward. Not every viewer node does that; it's a nice touch.

Installing it

Through ComfyUI Manager: open Manager, search "Inspect Image Overlay", install, restart. Or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/TK22-26/comfyui-inspect-image-overlay

Then restart ComfyUI and add the node from the image category. No requirements step, no model downloads - you're done in under a minute.

Gotchas worth knowing

  • The history is browser-session state. The overlay keeps up to 64 recent images per node so you can arrow back and forth - but refresh the page and it's gone. If you need a permanent record, that's what save_to_output is for.
  • Temp previews get cleaned up. The node prunes its own temp files down to the newest 96, and ComfyUI can clear temp storage on its own schedule. If you close the overlay and the image is gone later, that's expected behavior, not a bug.
  • auto_open is on by default. It's genuinely convenient until it isn't. If the overlay starts popping up over a long batch run, that boolean is your off switch.

The author is essentially unknown in the community and this pack is brand new, so the usual custom-node advice applies double: install from the pack's own repo (or Manager's registry entry for it) rather than random mirrors. The upside is that at ~7000 bytes of readable Python and a single JS file, there's nothing mysterious to audit. It's a small, honest, dependency-free tool that fills a real gap in the default UI.

Categoryimage

Inputs (3)

NameTypeDefaultDescription
imagesIMAGE
auto_openBOOLEANtrueAutomatically open or update the fullscreen inspector when this node executes.
save_to_outputBOOLEANfalseAlso save PNG copies to the ComfyUI output folder.

Outputs (1)

NameTypeDescription
imagesIMAGE