Nodes/ComfyUI-JDCN/JDCN_ImageSaver
ComfyUI Node

JDCN_ImageSaver

Save images to any folder on disk, not just ComfyUI's output dir

By daxcayΒ·Created 2 years agoΒ·Updated about a year agoΒ· 159
JDCN_ImageSaver
  • Images
    β—„Directoryβ€”β–Ί
    β—„FilenamePrefixImageβ–Ί
    β—„OpenOutputDirectoryfalseβ–Ί

    The stock Save Image node writes to ComfyUI's output folder, and only there. Fine for daily use, useless the day you want a batch of renders dumped straight into a dataset folder, a shots directory for an animation, or a specific working folder some other tool is watching. JDCN_ImageSaver is the "pick your own folder" version. You give it a path and a name prefix, it writes PNGs there, numbered automatically so it never overwrites what's already in the folder.

    What it does

    It's a terminal node - it takes an Images batch in, writes files, and has no outputs. Under the hood it's doing exactly what core Save Image does: each frame is pulled to CPU, converted from the 0-to-1 float tensor the sampler produces to 0-255 pixels, and written as a PNG. The useful difference is that your workflow metadata travels with it, so the saved PNG still carries the prompt and graph (ComfyUI's extra_pnginfo) unless you've disabled metadata globally. Drag the file back into ComfyUI and the workflow reconstructs, same as any other output image.

    The filename logic is the part worth knowing: it looks for the first non-existing name FilenamePrefix_0001.png, then _0002, and so on. That's how it stays collision-proof in a folder you share with other runs.

    The inputs that matter

    • Images - the IMAGE batch you'd normally feed into Save Image.
    • Directory - any absolute path. Type it without quotes (D:/renders works; D:\renders works too). If it doesn't exist, the node creates it.
    • FilenamePrefix - base name for the numbered files. Default Image.
    • OpenOutputDirectory - a boolean that, when on, tries to pop the folder open in your file manager after saving. It fires explorer/open/xdg-open in sequence, so it works on Windows, macOS and Linux.

    Install

    This node ships in the ComfyUI-JDCN pack, so installing the pack gets you all ~50 JDCN and LogicUtil nodes at once:

    cd ComfyUI/custom_nodes
    git clone https://github.com/daxcay/ComfyUI-JDCN.git
    pip install -r requirements.txt
    

    Easier: ComfyUI Manager β†’ Install Custom Nodes β†’ search "JDCN". There's also a registry route: comfy node registry-install comfyui-jdcn. The only Python dependency in the whole pack is piexif (plus psutil, which ComfyUI already ships), so there's no model download and nothing heavy to babysit.

    Troubleshooting

    • Nothing saved - check the node actually ran. It's OUTPUT_NODE=True, so it executes whenever it's in the graph, but if you only preview it in a muted/grouped section it never fires. Look at the console for "Error saving image".
    • Wrong path - the node won't complain loudly; it just creates whatever directory you typed. A typo means an empty folder in the wrong place.
    • Batch vs single - this saves every frame in the batch, so a 40-frame latent batch becomes 40 PNGs. That's usually what you want, but if you only expected one image, check what's feeding Images.

    It's a small node, honestly, but it's the one I reach for when I need renders to land somewhere specific instead of the default pile.

    CategoryπŸ”΅ JDCN πŸ”΅

    Inputs (4)

    NameTypeDefaultDescription
    ImagesIMAGEβ€”
    DirectorySTRINGβ€”
    FilenamePrefixSTRINGImageβ€”
    OpenOutputDirectoryBOOLEANfalseβ€”

    Outputs (0)

    No outputs