ComfyUI Node

RedNode Save

A save node that files your images and writes the prompt down beside them

By RedNodeAI·Created 26 days ago·Updated 15 days ago· 0
RedNode Save
  • images
  • image
config{"root": "", "subfolder": "%date%/%preset%", "name": "%date%_%time%", "numbering": "counter", "pad": 4, "split_drafts": true, "keep": false, "write_text": true, "write_json": false, "embed_png": true, "prompts_folder": "", "format": "png", "quality": 90, "compress": 4}
seed

ComfyUI's stock save node dumps everything into one output folder with an opaque timestamp name, and finding "the good one" from a session is archaeology. RedNode Save is the filing system: it builds a folder tree for you - date, preset, model, size - splits drafts from keepers, and writes a plain-text record of the prompts and settings next to every image. Name and folder come from tokens, so a session files itself.

The standout feature is that text record. PNG metadata exists, but it's invisible until you go looking, and it dies the moment a frontend strips it. Here the prompt and settings get written as a .txt beside the image - readable by eye, searchable, and it survives moving files between ComfyUI, other frontends, or an archive. The node's own description calls this out explicitly: plain text you can read is the whole point.

How it works

A config string holds the filing rules - base folder, subfolder, name, numbering, drafts split, format, quality, what to write. You edit it through the node's panel, not by hand. The name and folder use tokens:

  • %date%, %time%, %year%, %month%, %day% - when.
  • %preset%, %seed%, %model% - what.
  • %w%, %h%, %size% - how big.

The default, %date%/%preset% for the folder and %date%_%time% for the name, is a sensible starting point. Numbering runs counter, time, seed, or none, and there's a pad width. The drafts/keepers split is a real folder split: keep split_drafts on and you get a drafts/ and keepers/ tree, with the draft-vs-keeper choice made in the panel - so a session's near-misses don't pollute the keepers. A seed input (optional) feeds the %seed% token and the record; without it, the first seed in the queued graph is used.

The inputs

  • images - the finished images to file.
  • config - the panel's settings (edited on the node, not pasted by hand).
  • seed (optional) - for the seed token and the text record.

Output: image - the images pass through, so you can chain a save in the middle of a branch without breaking it. This is an output node, so it always runs when reached.

Installing it

git clone https://github.com/RedNodeAI/ComfyUI-RedNodeStudio.git ComfyUI/custom_nodes/ComfyUI-RedNodeStudio

Restart ComfyUI, or search RedNode Studio in ComfyUI Manager. No pip deps, no model downloads. Python 3.10+.

The honest take

The token system is the power and the learning curve - the default layout is fine, but you'll want %model% in the folder tree the first time you run three checkpoints in one session and can't tell which came from what. And the draft/keeper split only works if you actually use it: keep the toggle on, and remember the save browser the pack ships with (via the Workspace) is what makes culling a session possible without leaving the graph. One thing the text record won't do is reconstruct a full workflow - it records prompts and settings, not the graph. Treat it as an index, not a backup.

CategoryRedNode/Image

Inputs (3)

NameTypeDefaultDescription
imagesIMAGEthe finished images to file
configSTRING{"root": "", "subfolder": "%date%/%preset%", "name": "%date%_%time%", "numbering": "counter", "pad": 4, "split_drafts": true, "keep": false, "write_text": true, "write_json": false, "embed_png": true, "prompts_folder": "", "format": "png", "quality": 90, "compress": 4}the panel's settings; edited through the node, not by hand
seedoptINTfor the seed token and the record. Without it the first seed in the queued graph is used.

Outputs (1)

NameTypeDescription
imageIMAGE