Nodes/Jovimetrix/SAVE OUTPUT (JOV) πŸ’Ύ
ComfyUI Node

SAVE OUTPUT (JOV) πŸ’Ύ

Write files where you want, with the metadata you want

By AmoranoΒ·Created 3 years agoΒ·Updated 12 months agoΒ· 397
SAVE OUTPUT (JOV) πŸ’Ύ
  • image
  • metadata
    β—„pathβ–Ί
    β—„fnameoutputβ–Ί
    β—„usermetaβ–Ί

    ComfyUI's default Save Image is fine until it isn't. You want a specific folder, a controlled filename, metadata embedded, or all three - and stock ComfyUI gets stubborn about it. SAVE OUTPUT is Jovimetrix's answer: an output node that writes your image to an exact path with an exact filename and lets you attach both structured and free-form metadata. For batch pipelines that need files to land somewhere predictable, it's the difference between "I'll find it in output/" and "this workflow actually runs on its own."

    The setup is four inputs, and they're all optional. image is the thing to save. path is the destination - type an absolute or relative folder and it's created as needed. fname defaults to "output" and is your base filename; the code appends the extension for you. Then the metadata pair: metadata takes a JSON object (great for structured data like settings or model info), and usermeta is a plain multiline string for anything you want written alongside - notes, copyright, a changelog. On top of that, the node automatically bundles in the prompt and extra_pnginfo, so the standard ComfyUI workflow metadata survives the save too.

    Two mechanical details worth knowing. First, this node deliberately never caches: IS_CHANGED returns NaN, so every run writes a fresh file - which is what you want from a save node, but it does mean it always executes even if nothing upstream changed. Second, it converts to a PIL image for writing, embeds the metadata into the PNG info, and handles batches by writing each frame. If the image slot is empty it warns and writes a placeholder rather than crashing - a deliberate "don't kill my queue" choice.

    Where it fits: any workflow where output location is part of the deliverable. Batch upscaling that needs results in an input-mirroring folder tree, animation frames that must land in a numbered sequence, or a render farm job that writes results to a shared drive. Pair it with QUEUE (JOV) to cycle a folder of inputs and SAVE OUTPUT to write results back out - that combo is a mini batch processor with zero extra tooling.

    Install is the pack-wide routine. ComfyUI Manager β†’ search "Jovimetrix", or:

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

    Restart afterwards. Dependencies are the shared, light set - numpy, opencv-contrib-python, Pillow, matplotlib, and the cozy-comfyui helpers; no model files. Standard pack notes: keep ComfyUI at 0.1.3+ and the frontend current, and don't update Jovimetrix past 1.7.48 if you rely on the nodes that split into the Jovi_* packs. SAVE OUTPUT isn't one of the refugees.

    CategoryJOVIMETRIX πŸ”ΊπŸŸ©πŸ”΅/UTILITY

    Inputs (5)

    NameTypeDefaultDescription
    imageoptIMAGEβ€”
    pathoptSTRINGDestination path to save the output
    fnameoptSTRINGoutputFilename of the output
    metadataoptJSONExtra metadata to save in the file
    usermetaoptSTRINGCustom user metadat to save with the file

    Outputs (0)

    No outputs