ComfyUI Node

Save Image

A Save Image Node With an Off Switch (Yes, That's the Feature)

By hiforce·Created 3 years ago·Updated 2 years ago· 12
Save Image
  • images
  • notify_hook
    enabletrue

    Saving an image in ComfyUI is usually the least interesting part of a workflow - until you're running a prompt sweep and it writes forty files you didn't want, or you're debugging and the output folder is filling up. HfSaveImage is a Save Image node with exactly one extra idea, and that idea is a boolean: enable, default true. Flip it to false and the node does nothing. No file written, no error, no rewiring needed to bypass it.

    That's the whole personality of this node, and it fits a pattern you see across the HiFORCE pack - the same enable toggle shows up on its sampler nodes, where disabling a sampler mid-graph is a real workflow feature. Here it means you can keep the save node permanently in your graph and switch it off when you're iterating, then back on for the final run. For A/B testing or long batch sweeps where you only want to keep the winners, that's a small but genuinely useful convenience. The alternative in core ComfyUI is manually bypassing nodes or deleting and re-adding them, which is fiddly enough that people build entire dashboards for it.

    How it saves. When enabled, it writes each image as a PNG into ComfyUI/output/YYYYMMDD/ - a date subfolder, which is a nice touch for keeping runs separated - with filenames like hf_<uuid>_00001.png, numbered per batch. The source uses compress_level=0, meaning no PNG compression: saves are fast, but files are noticeably chunkier than what core Save Image produces with default compression. If disk space matters more than save speed, the built-in node is friendlier; this one trades size for throughput.

    The inputs:

    • enable - BOOLEAN, default true, the on/off switch
    • images - the IMAGE tensor to save
    • notify_hook - optional, type NOTIFY, an extension point that fires after saving if you wire something into it

    That notify_hook deserves a sentence of honesty. The pack defines an ImageSaveNotify interface - an abstract "call me when images are saved" hook - but this pack alone doesn't ship a concrete notify provider you can drop in and use. So in practice, unless you're already in an ecosystem that supplies one, it's a dead socket waiting for you to build or connect a hook. Don't install the pack expecting push notifications out of the box; treat it as the extension point the author built for their own integrations.

    One more output-node note: it returns nothing - no IMAGE out the right side - because it's a terminal save node. Your saved images live on disk, not in the graph. And there's no metadata embedding here (the source passes pnginfo=None), so if you rely on workflow-in-PNG sharing, core Save Image does that job and this one doesn't.

    It lives in Comfyui HiFORCE Plugin from HiFORCE (hiforce.net), a niche, author-maintained pack whose reputation is built on its sampler nodes rather than its image helpers. Community footprint is essentially zero - we searched Reddit and came up empty - so the GitHub wiki and the short source are your documentation. Install through ComfyUI Manager by searching "Comfyui HiFORCE Plugin," or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/hiforce/comfyui-hiforce-plugin.git
    cd comfyui-hiforce-plugin
    pip install -r requirements.txt
    

    Restart ComfyUI and it shows up under HiFORCE → Image → Save. Requirements are torch, numpy, Pillow, and requests - all already in a standard ComfyUI environment, no model downloads. The README also asks you to install ComfyUI-Impact-Pack first, since much of the pack builds on its foundation.

    Bottom line: if you mostly use core ComfyUI, core Save Image plus a bypass toggle gets you 95% of what this does. The enable switch is the 5% - and for people already running the HiFORCE pack, it's the save node that behaves like the rest of the family.

    CategoryHiFORCE/Image/Save

    Inputs (3)

    NameTypeDefaultDescription
    enableBOOLEANtrue
    imagesIMAGE
    notify_hookoptNOTIFY

    Outputs (0)

    No outputs