Save Info
Set the folder and format once, for every save in the graph
- config
- save_info
A working graph doesn't have one save node, it has five: raw, upscaled, detail pass, final, and the one you added at 1am to check something. Core's Save Image makes you re-enter filename_prefix, format and metadata settings on every single one of them, and then re-enter them again when you move to a new project. Save Info is the obvious fix - one node holding folder, format and metadata, wired into as many Save Image nodes as you like.
It's a hub with no pixels in it. Nothing in it renders, nothing samples. It's a settings panel with an output socket.
What's actually in it
The whole config lives in one socketless config widget (frontend type NYNXZ_SAVE_INFO_CONFIG) - a smart panel rather than fifteen visible fields - and the node normalises whatever the panel produced into a full dict and emits it over the NYNXZ_SAVE_INFO link. It also tolerates a plain JSON string, and fills every missing key from defaults, so a partial or future-shaped config can never break the downstream saves.
The contract, because it's what you'll actually be setting:
project- a folder to save into, picked from the existing subfolders of your base directory; ornew_project, a name for a folder that doesn't exist yet.subfolder- extra path under the project, so you can getproject/run_a/without making nine projects.filename_prefix- a shared prefix that every downstream Save Image's ownnamegets appended to.format-png,jpgorwebp, plusquality(default 90) for the two lossy ones.embed_metadata- on by default; this is the ComfyUI graph going into the file.save_workflow_json- off by default; writes a sidecar.jsonwith the matching filename.base_directory- an override insideoutput/, empty meaning "use the setting or the output dir".
Two details worth knowing before you wire it
First, the per-node base_directory is deliberately confined to ComfyUI's output directory. That's not paranoia for its own sake: the value comes from the workflow, and the workflow may not be yours - a shared workflow or one embedded in a downloaded PNG could point anywhere on your disk. So a relative value is relative to output/, an absolute one must already be inside it, both checked by realpath so .. and symlinks can't walk out. If you genuinely want to save elsewhere, that's a Settings → Nynxz → base directory value, which only you can set. The priority is: per-node override, then that setting, then ComfyUI's plain output directory.
Second, embed_metadata respects ComfyUI's own kill switch. If you run with --disable-metadata (or the "Disable saving prompt metadata" server setting), no metadata gets written regardless of what this node says. That's the right behaviour - the global flag should win - but it means "I ticked embed_metadata and there's no workflow in my PNG" is usually the launch flag.
Where it fits
Save Info ──save_info──┬──> Save Image (name: raw)
├──> Save Image (name: upscaled)
└──> Save Image (name: final)
Change the project folder on one node and every save follows. Each Save Image still contributes its own name as the filename label, and the full prefix is filename_prefix + name, with a counter keeping files unique - so you get proj/run_a/final_00007_.png.
Optional input: config. Optional output: save_info. That's the whole node. It's also the only one of the pair you can use alone - a Save Image with no Save Info wired falls back to the output directory, PNG, metadata embedded, which is exactly core's behaviour.
Installing it
Manager → search Nynxz → ComfyUI-NynxzNodes, or:
comfy node install comfyui-nynxz-nodes
From source:
cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzNodes
cd ComfyUI-NynxzNodes
pnpm install && pnpm build
Restart. No models, no Python dependencies.
That build step matters more for this node than most things in the pack: the panel is the node's entire interface. Skip pnpm build and web/ - which is gitignored upstream - never exists, so you get a node whose only visible control is a config widget with nothing drawing it. Manager and the registry package ship the build; a raw clone doesn't.
Troubleshooting
"Base directory is outside ComfyUI's output folder." That's the base_directory field doing its job. Use a value inside output/, or set the base in Settings → Nynxz if you actually mean somewhere else.
Saves land in the wrong project. Check new_project isn't still filled in - it wins over the project selection, and an old value from a previous project is easy to forget.
Metadata missing on JPG or WebP. Those two write EXIF rather than PNG text chunks, and WebP is the "metadata diet" option in practice: you may keep the parameters, you won't keep the graph. If the workflow-in-the-file matters to you because you post to CivitAI, keep PNG as the master and convert for sharing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| configopt | NYNXZ_SAVE_INFO_CONFIG | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| save_info | NYNXZ_SAVE_INFO | Wire into one or more Save Image nodes. |