DaSiWa Metadata Image Saver
Civitai-ready output with auto LoRA detection
- images
- metadata_config
- extra_metadata
- filename
- metadata
This is the everyday version of DaSiWa's Civitai-ready saver: point it at your images, it writes a PNG or WebP with an A1111-style metadata block baked in, auto-detects the LoRAs you used, and gets out of your way. If you want manual override control over every field, there's a Full variant of this node - this one is for when auto-detection is good enough, which is most of the time.
What it does
ComfyUI's built-in Save Image writes nothing that Civitai, Hugging Face, or any A1111-lineage tool can parse - no prompt, no sampler, nothing. This node writes the standard parameters text block those tools all read automatically, so an image you upload gets its generation settings reconstructed on the other end without you typing anything into a description box. It also scans your workflow graph for LoRA nodes and appends <lora:name:weight> triggers to the metadata automatically - Civitai specifically looks for that syntax to link an image to the LoRAs used, and getting it right by hand is tedious enough that most people just don't bother, which is presumably why this exists.
Both WebP and PNG support full drag-and-drop workflow reconstruction, so the format choice is really about file size versus universal compatibility rather than metadata capability.
The inputs and outputs that matter
images- required, obviously.filename_prefix(defaultDaSiWa_%date:yyyyMMdd%_%seed%) - supports%seed%,%date%,%model%,%width%, and%height%placeholders, so your output folder stays organized without you renaming anything manually.file_format-webp(default) orpng.compression(0–100) - quality/size tradeoff; higher squeezes the file smaller at the cost of quality for lossy WebP, or just takes longer to write for PNG's lossless compression.save_output- whether the file actually gets written, versus this just being a pass-through step in a test graph.
Two optional ports for going beyond auto-detection: metadata_config (accepts a bundle from a DaSiWa_MetadataConfig node - wire actual sampler/model/conditioning nodes there if you want the saver to record exact values rather than inferred ones) and extra_metadata (custom key/value fields from DaSiWa_CreateExtraMetadata, for anything you want stamped that isn't a standard generation parameter).
Outputs: filename (STRING, the actual path written) and metadata (STRING, the parameters block itself - pipe it into a display node if you want to sanity-check what got embedded before sharing).
How to install it
ComfyUI Manager - search DaSiWa-Nodes, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/darksidewalker/ComfyUI-DaSiWa-Nodes
pip install -r ComfyUI-DaSiWa-Nodes/requirements.txt
Restart. No model downloads, no GPU requirement - this is a metadata-writing node, not a generation one.
Common issues & troubleshooting
Civitai doesn't pick up my LoRAs. Confirm the auto-detection actually found them - if a LoRA is loaded through a custom or heavily wrapped node type, the scanner may not trace it, and you'll need extra_metadata or the Full variant's manual text fields to add it by hand.
Want to keep an image private but still save locally. There's no dedicated privacy toggle on this base node - that lives on DaSiWa_MetadataConfig's save_workflow field (or directly on the Full saver). Route through one of those if you want to strip the embedded workflow JSON before sharing.
Filename placeholders aren't resolving. Double-check the exact %placeholder% syntax - a typo just gets written literally into the filename instead of erroring, so a silently wrong filename is usually a typo, not a bug.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| filename_prefix | STRING | DaSiWa_%date:yyyyMMdd%_%seed% | — |
| file_format | COMBO | webp | 2 options: webp, png |
| compression | INT | 00–100 | — |
| save_output | BOOLEAN | true | — |
| metadata_configopt | METADATA_CONFIG | — | |
| extra_metadataopt | EXTRA_METADATA | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| filename | STRING | — |
| metadata | STRING | — |