Preview Machine
The preview node that hides its output until you hover
- images
A preview node with a privacy reflex
You're iterating on a workflow and someone walks behind your desk. Or you're sharing your screen in a call and your graph is covered in previews - including the ones you'd rather not explain. Preview Machine is the answer to that specific, small anxiety: a normal preview node whose image output is hidden by default and only appears while your mouse is hovering over the node.
It's refreshingly honest about being mostly not-new. Under the hood, Preview_Machine subclasses ComfyUI's built-in PreviewImage. It saves the input images to your output directory exactly like the stock node and renders them in the graph the same way. What the pack adds is a JavaScript extension that tracks your mouse across the canvas and hides the preview widget until you're actually pointing at it.
How it works
Two behaviors, both frontend-only:
- Hover to reveal - each target node checks whether the cursor is inside its bounding box. The extension keeps a hovered-node set updated on every mousemove, throttled through
requestAnimationFrame, and only draws the image while you're over the node. Mouse leaves, image hides again. - Global hide mode - a setting named "SATA Utility: Global Hide Previews" under Settings. Flip it on and every preview-type node in the graph hides by default - stock PreviewImage, SaveImage, this node and the pack's Save Machine included. For screen-share-heavy sessions, that's the setting you actually want, and it's the one genuinely novel thing here.
There's exactly one input, images - wire any IMAGE output (a VAEDecode result, an upscaler output) into it. It's an output node, so it has no outputs of its own; it just renders what it's given and writes the file to your output folder with a Preview_Machine prefix.
Install
Same as everything else in the pack - ComfyUI Manager search "SATA UtilityNode", or:
cd ComfyUI/custom_nodes
git clone https://github.com/SatadalAI/SATA_UtilityNode
then restart ComfyUI. No models, no extra setup. The dependencies the pack pulls in (opencv-python, spandrel, piexif) aren't even needed for this node, but Manager installs them anyway.
Gotchas
- It still saves every image it previews to disk, same as stock PreviewImage. This is a privacy display feature, not a memory saver - if you want a preview that never writes files, this isn't it.
- The hover logic keys off the node's bounding box, so an image widget that overflows the node box can behave oddly. The practical fix is to keep the node reasonably sized.
- Custom-node JS is the usual breakage point when ComfyUI updates its frontend. If the hide behavior stops working after an update, open the browser console and confirm the SATA extension is loading and the
js/folder is being served.
Honestly, this is a small node with a small job. If you've never wished a preview would stop staring at you, you don't need it. But if you build workflows at work or demo on stream, the global hide mode is a genuinely handy privacy button that stock ComfyUI doesn't give you.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| hide_preview | BOOLEAN | true | Hide image preview until mouse hovers over the node. |
Outputs (0)
No outputs