Interactive Save
Preview the image, and only save it when you click
- images
The stock SaveImage node writes to disk every time the workflow reaches it - no exceptions, no "actually, skip this one." InteractiveSave is the version that asks first. It previews the image on the node like a normal preview node, but the actual write-to-disk only happens when you click its save button. Everything else in your workflow can keep running through candidate images without cluttering your output folder with the ones you didn't want.
It fits naturally alongside the rest of ComfyUI-Interactive: pick a branch with InteractiveSelector/InteractiveSwitch, look at what you got, and only then decide whether it's worth keeping - which is exactly the moment InteractiveSave is built for.
How it works
Feed it images the way you would SaveImage or PreviewImage. It shows them on the node. Nothing gets written until you click the save trigger - internally that's the save_trigger value changing, which is what the button on the node actually does. Once triggered, it writes to your ComfyUI output directory using the filename_prefix you gave it, same as a normal save.
The inputs and outputs that matter
images(required, IMAGE) - "The images to save," per the node's own tooltip. Whatever's plugged in here is what gets previewed and, on click, written out.filename_prefix(required, STRING, default"ComfyUI") - the prefix for the saved file. The tooltip is worth reading carefully: it supports formatting tokens like%date:yyyy-MM-dd%or%Empty Latent Image.width%to pull in values from other nodes in your graph - so you can build filenames that embed the date or a dimension automatically, the same formatting trick the stock save node supports.save_trigger(required, INT, default 0) - this is the button state under the hood. You don't normally set it by hand; clicking the node's save button is what changes it and fires the write.
This node has no outputs - it's a terminal node (is_output_node: true), same role as the stock SaveImage.
How to install it
Via ComfyUI Manager, search "ComfyUI-Interactive" and install. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/lquesada/ComfyUI-Interactive
Restart ComfyUI. No extra dependencies, no models - it writes to the same output directory ComfyUI already uses.
Common issues & troubleshooting
Clicking save doesn't seem to do anything. As with the rest of this pack, it needs auto-enqueue off and an empty queue to behave predictably - if ComfyUI is busy running something else or auto-queue keeps pushing new prompts through, the click-to-save moment can get missed or fired against a stale image.
I want the filename to include something from earlier in the graph. Use the %Node Title.field% formatting syntax in filename_prefix, the same as %Empty Latent Image.width% from the tooltip - it pulls live values from named nodes at save time. Get the node title exactly right, including spaces, since that's what the token is matching against.
Files aren't landing where I expect. This node saves to ComfyUI's standard output directory, same as SaveImage - it doesn't add its own output path setting. If you're used to a custom output location from another save node, that setting doesn't carry over here.
I want this gated behind a chosen branch, not just a manual click. That's a normal combination: feed InteractiveSave from the images output of an InteractiveSwitch (or InteractiveSwitchWithParameters). You then get two gates stacked - pick the branch, then decide separately whether it's worth saving.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The images to save. | |
| filename_prefix | STRING | ComfyUI | The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes. |
| save_trigger | INT | 0 | — |
Outputs (0)
No outputs