Preview Image - No Save (IMGNR)
A preview node that leaves zero files behind (yes, really)
- images
- mask
- image
- mask
Here's a fact about ComfyUI most people discover the hard way: the standard Preview Image node isn't really "preview only." It writes every frame to your temp directory, and that clutter only disappears when you restart the server. If you're churning through hundreds of test generations a day - or you share a machine and don't want your junk visible on disk - that's noise you didn't ask for.
Preview Image - No Save (IMGNR) is the antidote. It sends the image straight to your browser as a base64 data URI instead of writing a file. On page reload, it's gone. No temp file, no disk write, nothing to clean up. The author's framing in the README is spot on: "a true disposable preview."
How it works
When the node runs, it takes your image tensor, converts it to a PNG in memory, base64-encodes it, and ships that string to the frontend where the JS paints it into the node body. The image lives in the browser tab's memory. Refresh the page and the preview vanishes - the node shows a placeholder until the next run.
That base64 trick also means it handles things the core preview doesn't always play nice with: RGBA images and masks. If you feed a mask in, it gets folded into the alpha channel so you can actually see transparency, and both the image and mask come out the other side unchanged. The README calls out resizing support and mask handling as deliberate features, and they are.
The inputs and outputs
Dead simple interface:
images(required) - any IMAGE tensor, so it works straight off a VAE Decode, an upscaler, a detailer, wherever.mask(optional) - a MASK, which gets composited into the preview as alpha.
Two pass-through outputs, image and mask, so you can tap the preview into the middle of a chain without breaking it. That's the real reason to prefer this over the stock preview in a complex workflow: it previews and keeps the data flowing. Wire the outputs onward to a SaveImage when you finally want a keeper.
Where people get burned
The node is an output node, so if you're only after a pass-through (not a preview), it's pointless - it will still force a redraw every run. And because nothing is written to disk, don't use this as your only preview on a long, expensive generation unless you're fine with losing the visual if the browser reloads mid-run. That's not a bug, it's the entire point. For a happy middle ground the same pack ships Preview Image - Ad-hoc Save, which previews disposable but lets you manually click-save the occasional keeper.
Installing it
Same story as every node in this pack - zero dependencies, nothing to pip install, no model files:
cd ComfyUI/custom_nodes
git clone https://github.com/ImagineerNL/ComfyUI-IMGNR-Utils
Or just search "ComfyUI-IMGNR-Utils" in ComfyUI Manager and restart. It lands under the IMGNR category. That "zero new requirements to mess up your install" line in the README is the pack's whole selling point, and it's true - the shipped pyproject declares an empty dependency list.
One honest caveat from the author's own release notes: ComfyUI's Nodes 2.0 frontend is a moving target, and not every IMGNR feature has been verified against it. This preview node is fine on current builds, but it's a single hobbyist maintainer - check the changelog if you're living on the bleeding edge.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| maskopt | MASK | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |