DaSiWa Metadata Image Saver (Full)
Every metadata port on one node
- images
- metadata_config
- extra_metadata
- node_positive
- node_negative
- node_model
- node_latent
- node_noise
- node_sigmas
- node_sampler
- filename
- metadata
This is the same Civitai-ready saver as DaSiWa's plain Metadata Image Saver, except every metadata source is exposed directly on the node instead of hiding behind a separate config node. If you want to wire your actual sampler, model, and conditioning nodes straight into the saver and skip building a metadata chain, or you want to override specific fields by hand without touching your real graph, this is the variant for that.
What it does and why you'd reach for it
ComfyUI's default Save Image node writes almost nothing useful into the file - no prompt, no sampler settings, nothing Civitai or A1111-style tools can parse. DaSiWa's saver family fixes that by writing the standard parameters text block that Civitai, Hugging Face, and A1111-lineage tools all read automatically to reconstruct your generation settings, plus it detects LoRAs used anywhere in your workflow and appends the <lora:name:weight> triggers Civitai expects. The Full variant is the one to reach for when auto-detection isn't enough - say your positive/negative conditioning comes from a text node the saver can't trace back through, or you want to manually stamp a specific sampler/seed into the metadata that doesn't match what actually ran (useful for reproducibility notes, less useful for honesty - use your judgment).
The inputs and outputs that matter
Required, same as the base saver:
images,filename_prefix(defaultDaSiWa_%date:yyyyMMdd%_%seed%- supports%seed%,%date%,%model%,%width%, and%height%placeholders),file_format(webporpng),compression(0–100),save_output.
Everything else is optional, and this is where "Full" earns the name. Two ways to feed it data:
- Wire the real nodes:
node_positive/node_negative(CONDITIONING),node_model(MODEL),node_latent(LATENT),node_noise(NOISE),node_sigmas(SIGMAS),node_sampler(SAMPLER) - connect these directly to the actual nodes in your graph and the saver reads the real values off them. - Type it manually:
text_positive/text_negative(multiline STRING),text_steps,text_cfg,text_sampler,text_scheduler,text_seed,text_model- plain override fields for when you'd rather type a value than wire a connection, or when nothing upstream has the value you want recorded.
Plus model_hash (STRING, for the hash Civitai matches checkpoints against), save_workflow (BOOLEAN, default true - embeds the full workflow JSON for drag-and-drop reconstruction; turn it off if you're sharing an image and don't want your whole graph exposed), metadata_config (accept a config bundle from a DaSiWa_MetadataConfig node if you'd rather build settings there), and extra_metadata (custom key/value pairs from DaSiWa_CreateExtraMetadata).
Outputs: filename (STRING, the path written) and metadata (STRING, the actual parameters block - useful to pipe into a log or a display node to sanity-check what got embedded before you post the image anywhere).
How to install it
ComfyUI Manager - search DaSiWa-Nodes, install, restart. Manual: git clone https://github.com/darksidewalker/ComfyUI-DaSiWa-Nodes into custom_nodes, then pip install -r requirements.txt, restart. No model downloads for this node - it's pure metadata plumbing.
Common issues & troubleshooting
LoRA detection missed one. Auto-detection scans the graph topology; if a LoRA is applied through a node type it doesn't recognize (a heavily customized loader, for instance), it won't show up. Add it manually via extra_metadata rather than fighting the scanner.
Image opens in Civitai/A1111 but shows no prompt. Check save_workflow and confirm you actually wired something into either the node_* ports or the text_* overrides - with everything left empty, the parameters block has nothing to write.
WebP vs PNG for drag-and-drop. Both formats support full workflow reconstruction per the README, so pick based on file size (WebP) versus universal compatibility (PNG) rather than worrying about losing metadata either way.
Inputs (24)
| 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 | — | |
| save_workflowopt | BOOLEAN | true | — |
| model_hashopt | STRING | — | |
| node_positiveopt | CONDITIONING | — | |
| node_negativeopt | CONDITIONING | — | |
| node_modelopt | MODEL | — | |
| node_latentopt | LATENT | — | |
| node_noiseopt | NOISE | — | |
| node_sigmasopt | SIGMAS | — | |
| node_sampleropt | SAMPLER | — | |
| text_positiveopt | STRING | — | |
| text_negativeopt | STRING | — | |
| text_stepsopt | INT | 00–10000 | — |
| text_cfgopt | FLOAT | 0.00–100 | — |
| text_sampleropt | COMBO | 13 options: , euler, euler_ancestral, heun, dpm_2, dpm_2_ancestral, +7 | |
| text_scheduleropt | COMBO | 6 options: , normal, karras, exponential, simple, ddim_uniform | |
| text_seedopt | INT | 00–18446744073709550000 | — |
| text_modelopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| filename | STRING | — |
| metadata | STRING | — |