ScarlotSoft Save Image
A save node that names your files for you — checkpoint, seed, and date baked into the filename
- image
- IMAGE
ScarlotSoft Save Image is the output node from the ComfyUI_ScarlotSoft suite that stops you from drowning in ComfyUI_00042_.png. Instead of a bare auto-incrementing name, it fills the filename for you: the default prefix is ScarlotSoft/%date%/%checkpoint%/%seed%, which becomes an actual folder structure with the date, the checkpoint that made the image, and the seed as a folder. Drag this in and your output/ folder starts organizing itself - date folder, checkpoint subfolder, one PNG per seed.
The trick that makes it interesting is that it reads your own graph to get those values. Core SaveImage just takes a literal prefix; this node walks the workflow, finds the checkpoint loader and the KSampler (or ScarlotSoft's own KSampler Config), resolves their widget values even across node links, and substitutes them into %checkpoint%, %seed%, %steps%, %cfg%, %sampler%, and %scheduler%. %date% is always MM-DD-YYYY - a deliberate choice in the README to keep the date from accidentally spawning directory trees. If it can't find a checkpoint it quietly writes unknown_checkpoint, which is better than crashing but means your filename lies to you, so check that.
The inputs that matter are just two:
image- the IMAGE you want saved.file_name_prefix- the token template. You can drop the folders and use%seed%_%checkpoint%if you'd rather have flat files.
It also passes the image through as an IMAGE output, so you can chain it in the middle of a workflow and keep the pixels flowing - unusual for a save node, but harmless.
Install
Same as every node in the ScarlotSoft suite - ComfyUI Manager, search "ScarlotSoft", install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/scarlotsoft/ComfyUI_ScarlotSoft
Restart ComfyUI and you're done. No model downloads - this node touches no models, just folders.
The catch you need to know
Here's the part nobody warns you about: this node strips metadata. Look at the source and the save call passes pnginfo=None, which means the workflow/prompt chunks that ComfyUI normally embeds in a PNG are not written. In this ecosystem the image is the project file - drag a core-saved PNG back onto the canvas and your whole graph rebuilds (see the KB's image-io doc for how load-bearing that is). With this node, that trick is gone: the file is pixels only. If you post to CivitAI and rely on auto-detected generation data, or if you like being able to reconstruct a workflow from a saved image, that's a real trade for the pretty filenames.
The path is also hardened - the author added an anti-path-traversal guard (commit "Prevent path traversal vulnerabilities in SaveImage and Loaders"), so a prefix like ../evil gets blocked with a red console warning and the file lands in a scarlot_blocked_path_save fallback folder instead. And files never overwrite: a _000001 counter increments until the name is free.
If you want self-organizing filenames and embedded metadata, this node only gives you one of those. Know which one you're giving up.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| file_name_prefix | STRING | ScarlotSoft/%date%/%checkpoint%/%seed% | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |