Nodes/ComfyUI-easygoing-nodes/Save Image With Prompt
ComfyUI Node

Save Image With Prompt

PNGs that remember what you told the model

By easygoing0114·Created 12 months ago·Updated 5 days ago· 5
Save Image With Prompt
  • images
    filename_prefixComfyUI
    positive_prompt
    additional_prompt
    negative_prompt
    caption
    seed
    numberstrue

    Every ComfyUI user eventually hits the wall this node is built for: you run a batch of prompts, and two hours later you're staring at 300 nearly identical PNGs with no idea which prompt made which. ComfyUI does embed the full workflow JSON in every output, but digging through minified JSON in a text editor is miserable. Save Image With Prompt is a drop-in replacement for the stock Save Image node that writes your prompts out as separate, human-readable PNG metadata fields, right alongside the workflow JSON.

    It's the cleanest way to keep a searchable prompt history, and it's the node from this pack a beginner will actually reach for. People who batch-iterate prompts in ComfyUI use exactly this trick - save the image with the prompt string wired in, so every output carries its own recipe (that's the standing advice whenever someone asks how to keep track of a big prompt run).

    What it does

    Same job as Save Image: takes your images, writes PNGs to ComfyUI/output, and reports them in the UI. The difference is the metadata. For every file it also embeds, as separate PNG text chunks:

    • positive_prompt and additional_prompt (two positive slots, in case you keep a base prompt and a per-image add-on separate)
    • negative_prompt
    • caption
    • seed

    Each is JSON-encoded, so any metadata-savvy viewer shows them as clean fields. The author recommends XnView MP or digiKam - both surface PNG text chunks in a side panel, which turns your output folder into a searchable catalog of "what did I actually type here."

    The inputs that matter

    Most of them are plain strings you'd already have lying around in your workflow. Two things are worth knowing:

    • seed wants a string. ComfyUI seeds are integers, and the README's tip is right: run the seed through a "Preview as Text"-style node to convert it before wiring it in. Skip that and you'll get a type mismatch, not a silent fail.
    • filename_prefix behaves like the stock node - use a trailing / (e.g. portraits/model_a/) and the file lands in a subfolder. The pack's "Load Checkpoint (with Name Clean)" nodes feed a cleaned model name straight into this for per-model folders.
    • numbers (default on) appends the _00001_-style counter to the filename. Turn it off for clean names if you're overwriting a fixed file.

    It's an output node - no outputs, you wire images in and it's the end of the line.

    Installing it

    This pack is registered in the ComfyUI Registry, so the easy route is Manager → Nodes Manager → search Easygoing → install. Manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/easygoing0114/ComfyUI-easygoing-nodes.git
    

    Restart ComfyUI. There are no model downloads and no extra dependencies - the whole pack runs on ComfyUI's own bundled libraries (PIL, numpy, torch). One real requirement: these nodes are written against the newer V3 node API (comfy_api.latest), so you need a reasonably recent ComfyUI. On an old build they won't register at all, which the author says plainly in the README.

    Common issues

    The seed-as-string thing is the main footgun. After that: if you launch ComfyUI with metadata disabled, the prompts quietly don't get written - the node checks the same --disable-metadata flag ComfyUI's own save node does. And don't expect to read the fields in a plain file browser's hover tooltip; use a viewer that actually reads PNG text chunks. One thing to like: since it still writes the workflow JSON, dragging the PNG back onto the canvas reconstructs the whole graph like always - you lose nothing by switching.

    If you've been keeping prompt spreadsheets, this is the upgrade. Free yourself.

    Categoryimage

    Inputs (8)

    NameTypeDefaultDescription
    imagesIMAGE
    filename_prefixSTRINGComfyUI
    positive_promptSTRING
    additional_promptSTRING
    negative_promptSTRING
    captionSTRING
    seedSTRING
    numbersBOOLEANtrue

    Outputs (0)

    No outputs