Nodes/Eagleshadow Custom Nodes/Save Image to Folder
ComfyUI Node

Save Image to Folder

Save Image to Folder – ComfyUI Node Guide

By Shadetail·Created 2 years ago·Updated about a year ago· 6
Save Image to Folder
  • images
    folder_pathOutputFolder
    filenameImage
    disable_previewfalse

    What it is

    Stock ComfyUI's Save Image node is fine right up until you want real control over where a file lands. It writes into output/, prefixes the name with whatever you typed in a "filename_prefix" widget, and pads a counter onto the end so nothing overwrites. Useful defaults, zero say in the matter. Save Image to Folder throws that convention out: you give it a folder path and a filename, and it writes exactly there. The author's own note in the pack's README for this one is basically "kind of shocking I had to build this myself" - and honestly, it's a fair complaint that core ComfyUI doesn't expose this directly.

    Reach for it any time you're organizing output by hand instead of letting ComfyUI's counter do it for you - one folder per character, per experiment, per batch run, whatever your filing system is.

    How it works

    It's a terminal node - is_output_node is true, there's nothing downstream, no output socket to wire up. You feed it an image, it writes a file, the graph ends there. No cleverness beyond that: it takes your folder_path and filename strings, joins them, and dumps the image tensor to disk.

    Inputs that matter

    • images – the IMAGE tensor to save (batches work too).
    • folder_path – defaults to "OutputFolder". This is a path relative to wherever ComfyUI is running from, not an absolute path unless you give it one.
    • filename – defaults to "Image". There's no automatic counter behavior described in the node's spec, so if you're saving in a loop, wire something dynamic into this (a growing string from elsewhere in your graph) or you risk one file getting clobbered by the next.
    • disable_preview – skips generating the little preview thumbnail ComfyUI normally shows after a save. Given the author built this pack while grinding through ten-thousand-frame video batches (see this same pack's Simple Load Image Batch node), this flag reads exactly like what it is: turning off UI overhead you don't need when you're saving hundreds or thousands of times in a row.

    No outputs - this is where the chain ends.

    Installing it

    Two ways, same result: search "Eagleshadow Custom Nodes" in ComfyUI Manager and install, or clone it by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Shadetail/ComfyUI_Eagleshadow
    

    Restart ComfyUI. There's nothing else to configure - no model weights, no extra Python packages beyond what ComfyUI already ships with. It's pure file I/O, so this is about as low-risk an install as a custom node gets.

    Common issues

    Nothing shows up where you expected. folder_path is a plain string joined onto ComfyUI's working directory, not the structured output/ tree the built-in Save Image node manages for you. If you're running ComfyUI somewhere other than your own machine - a container, a remote box, a hosted/serverless setup - check where the process's working directory actually is and whether writes there persist and are retrievable, before you assume "OutputFolder" behaves the same way it would on your desktop.

    Files silently overwrite each other. Since there's no built-in counter, feeding it a static filename inside a loop means every save clobbers the last one. Pair it with something that mutates the filename per iteration - this pack's own Round Float to String node is a natural fit if you're stamping a numeric value into the name.

    It's a small, personal utility pack. This whole repo reads like exactly what it is - nodes one person built, with GPT-4's help, to solve their own workflow annoyances. That's not a knock; it means the code is simple and easy to read if something goes sideways, but also that there's no large community behind it fielding bug reports. If a future ComfyUI update changes how output nodes or image tensors work, don't expect an immediate patch - check the repo yourself before assuming it's fine.

    Categoryimage

    Inputs (4)

    NameTypeDefaultDescription
    imagesIMAGE
    folder_pathSTRINGOutputFolder
    filenameSTRINGImage
    disable_previewBOOLEANfalse

    Outputs (0)

    No outputs