DaSiWa Create Extra Metadata
Bolt custom fields onto your saved images
- extra_metadata
- EXTRA_METADATA
The standard Civitai/A1111 metadata block has a fixed shape - prompt, negative, steps, CFG, sampler, seed, model. This node is how you attach anything outside that shape: a batch identifier, a client name if you're doing paid generation work, a style tag, a version number for your own workflow - whatever key/value pair you want permanently stamped into the saved image alongside the standard fields.
How it works
One key, one value, both plain strings. key defaults to CustomField so you remember to change it; value starts empty. Wire the output into any DaSiWa saver's (or DaSiWa_MetadataConfig's) extra_metadata port and that key/value pair rides along in the file's embedded metadata.
The genuinely useful part is the optional extra_metadata input: it accepts the output of another DaSiWa_CreateExtraMetadata node, which means you chain them. Each node in the chain adds one more field, so five chained nodes get you five custom fields in the final metadata, all feeding into one saver. There's no built-in multi-key node for this - chaining single-key nodes is the intended pattern, not a workaround.
The inputs and outputs that matter
key(STRING, defaultCustomField) - the field name that shows up in the metadata.value(STRING, default empty) - what you're stamping. Plain text; if you need something structured, you're responsible for formatting it yourself (a JSON string works fine as a value).- Optional
extra_metadatainput - chain from another instance of this node to accumulate multiple custom fields. - Output:
EXTRA_METADATA- feed it into a saver's orMetadataConfig'sextra_metadataport.
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. This is one of the lightest nodes in the whole pack - a couple of string fields and a chain port, nothing to configure beyond that, no dependencies of its own beyond what the rest of the pack already needs.
Common issues & troubleshooting
Only the last field in my chain shows up. Check the chain direction - each node's extra_metadata input should connect to the previous node's EXTRA_METADATA output, building up the bundle link by link. If you've accidentally wired them in parallel into the saver instead of in series into each other, only one connection actually reaches the saver's single extra_metadata port and the rest are silently unused.
Custom field doesn't show up in the saved file at all. Confirm the chain actually terminates into a saver's extra_metadata port (or into MetadataConfig, which then needs to reach the saver through its metadata_config port) - a chain of CreateExtraMetadata nodes that isn't connected to anything downstream computes a value that never gets used.
Value looks truncated or malformed on the parsing side. Some tools that parse embedded metadata are stricter than others about special characters in custom fields - if you're storing something like a JSON blob as the value, keep it simple (no unescaped quotes) or test the round-trip before relying on it for anything automated.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| key | STRING | CustomField | — |
| value | STRING | — | |
| extra_metadataopt | EXTRA_METADATA | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| EXTRA_METADATA | EXTRA_METADATA | — |