Save Image (Deprecated)
Why it still works, and why you shouldn't start here
- images
- filename
- sidecar_text
This is the original AUN image saver, and the "Deprecated" in its name is doing a lot of honest work. The AUN pack renamed it and moved on, but it's still in the package - not out of laziness, but because a ton of existing workflows saved with it would break otherwise. That's a pattern worth understanding: AUN's V2 family was a compatibility-first migration, not a rewrite.
What it is
AUNSaveImage takes an images batch, resolves a filename template, saves to a path subfolder, and embeds metadata into the PNG/JPG/WebP. It's a full-featured saver - token placeholders, prompt metadata, sidecar output - and it still works perfectly today. The difference from the V2 node is purely the input contract: V2 uses one combined path_filename string, while this one asks for separate path and filename widgets.
So if you load an older AUN workflow and see this node, nothing is broken. Run it. It'll save fine. But if you're building a new graph, search for "AUN Save Image V2" and use that instead - one less widget to keep in sync, and the same machinery underneath.
The inputs that matter
Required: images, filename, path, extension (png / jpg / webp).
The filename field is where the power is. It supports the canonical %token% placeholders and the legacy %token forms, and the full list is long: %date%, %time%, %model%, %modelname%, %basemodelname%, %model_short%, %sampler_name%, %scheduler%, %steps%, %cfg%, %seed%, %batch_num%, %loras%. The default is %date%_%basemodelname%_%seed%, which is a genuinely good starting point.
Then there's a big pile of optional inputs that feed those tokens and the metadata: steps, cfg, modelname, sampler_name, scheduler, seed_value, positive_prompt, negative_prompt, and selected_lora. Two legacy fields stand out as deprecation-era fossils: time_format (a legacy alias for date_format) and save_sidecar_to_file (kept in the old widget slot so old workflows load; the modern control is sidecar_format).
Outputs: filename (the resolved name) and sidecar_text (a text or JSON summary of parameters, controlled by sidecar_format).
How it saves
It writes to the ComfyUI output directory, under whatever subfolder path gives it. Metadata gets embedded straight into the file - PNG info, EXIF for JPEG - so the generation parameters survive alongside the image. save_image defaults to true; flip it false and the node only renders previews to the temp directory, which is handy when you're testing a batch and don't want a thousand files yet.
Installing and troubleshooting
Same as every AUN node - install the pack once:
cd ComfyUI/custom_nodes
git clone https://github.com/loz2754/AUN-ComfyUI-Nodes
then restart ComfyUI, or use ComfyUI Manager (search "AUN"). If you see ModuleNotFoundError: piexif after a manual clone, the requirements didn't get installed:
pip install -r custom_nodes/AUN-ComfyUI-Nodes/requirements.txt
The one gotcha to know about: because the filename and path are separate widgets here, it's easy to build a filename that silently includes a / and end up with files nested in an unexpected subfolder. The V2 node's single string makes that mistake more visible. That's exactly the kind of friction the migration was meant to remove - another reason to use V2 for anything new.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | Input images to save. Can be single image or batch. | |
| filename | STRING | %date%_%basemodelname%_%seed% | Filename pattern. Supports canonical %token% placeholders, legacy %token placeholders, and %date:<format>% / %time:<format>% forms. Common tokens: %date%, %time%, %model%, %modelname%, %basemodelname%, %model_short%, %sampler_name%, %scheduler%, %steps%, %cfg%, %seed%, %batch_num%, %loras%. %loras_group remains an alias of %loras for compatibility. |
| path | STRING | Subfolder path within the output directory. | |
| extension | COMBO | png | Image format to save in. |
| stepsopt | INT | 201–10000 | Number of sampling steps. |
| cfgopt | FLOAT | 8.000–100 | CFG scale. |
| modelnameopt | STRING | Model name for %model, %modelname, %basemodelname, %model_short, %modelname_short, %basemodelshort, %basemodelname_short placeholders. | |
| sampler_nameopt | STRING | Sampler name for metadata and %sampler_name placeholder. | |
| scheduleropt | STRING | Scheduler name for metadata and %scheduler placeholder. | |
| seed_valueopt | INT | 00–18446744073709550000 | Seed value for %seed placeholder and metadata. |
| time_formatopt | STRING | %Y%m%d-%H%M%S | Legacy alias for date_format. Older workflows may still provide this value. |
| previewopt | COMBO | enabled | Enable/disable image preview on the node. |
| loras_delimiteropt | STRING | ; | Delimiter between LoRA entries in %loras%. Allowed: + - _ . space , ; |
| save_sidecar_to_fileopt | BOOLEAN | false | Legacy sidecar file toggle kept in the old widget slot so existing workflows still load. When enabled and sidecar_format is left at its default, sidecars are written as text files. |
| save_imageopt | BOOLEAN | true | True: save images to output path. False: only generate previews (saved into temp directory). |
| positive_promptopt | STRING | Positive prompt text to embed in metadata. | |
| negative_promptopt | STRING | Negative prompt text to embed in metadata. | |
| selected_loraopt | STRING | Selected LoRA name from AUNRandomLoraModelOnly or similar nodes to include in sidecar metadata. | |
| date_formatopt | STRING | %Y%m%d-%H%M%S | Date format for %date and %time placeholders. Explicit %date:<format>% / %time:<format>% placeholders override this per token. |
| sidecar_formatopt | COMBO | Output text | Sidecar output format and file saving: choose Output (text/json) or also Save to file (text/json). |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| filename | STRING | — |
| sidecar_text | STRING | — |