RedNode Save
A save node that files your images and writes the prompt down beside them
- images
- image
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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | the finished images to file | |
| config | STRING | {"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 |
| seedopt | INT | for the seed token and the record. Without it the first seed in the queued graph is used. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |