๐ท๏ธ CivitAI Metadata Helper
Get your generation metadata into CivitAI's format before you hit upload
- formatted_metadata
- json_metadata
- summary
CivitAI's whole appeal as a gallery was always the metadata - sample images ship with their prompts, sampler, CFG, and LoRA weights, and that's how generations become reproducible. Then the platform made it a requirement: content you upload has to carry generation metadata, prompt included. CivitAI Metadata Helper is the Swiss Army Knife answer - a formatting node that collects the values CivitAI expects and emits them as clean text and JSON you can paste (or wire) into an upload.
You type the values in, basically. The required inputs are the usual suspects: steps (default 20), cfg (default 7), seed, high_sampler and low_sampler (both default euler), lora_high and lora_low (the LoRA names per stage), plus the positive_prompt and negative_prompt text. If those names look Wan-flavored, it's because they are - the pack is built around Wan 2.2's two-pass setup, where the high-noise and low-noise models each have their own sampler and CFG. You fill in both halves and the node does the rest.
There's no API call anywhere in here. It's a pure formatter: it takes what you typed and emits three STRING outputs - formatted_metadata (a readable block for pasting into a model card or post), json_metadata (the same data as JSON, which is what tooling tends to want), and summary (a compact one-liner recap). If you're wiring it into an automated pipeline, json_metadata is the one you feed forward.
The honest caveat: it does not read your generation. Unlike nodes that pull real sampler settings from the KSampler, this one trusts whatever you type. Type steps: 20 when you actually ran 30 and your metadata is a lie that someone will reproduce badly. The pack leans on you being careful here - it's an organizer, not a verifier.
Installing
It rides along with the whole pack:
- ComfyUI Manager: search "Swiss Army Knife", install, restart.
- Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/sammykumar/ComfyUI-SwissArmyKnife.git
cd ComfyUI-SwissArmyKnife
pip install -e .
Practical notes
- The
high_/low_split maps to Wan 2.2's high-noise/low-noise stages. If you're on a single-stage model, just repeat the same values in both slots. - LoRA identifiers in the
lora_high/lora_lowfields should match what CivitAI expects (the LoRA's name or ID) if you want the version-linking to work on upload. A name CivitAI can't resolve just won't link. - Because there's no key, no network, and no model, this node works offline and never fails on rate limits - the failure mode is purely human.
It's a small utility, but it's the kind of small utility that saves you from the ritual of retyping prompts and CFG into a text box every time you post. If you share your Wan 2.2 outputs on CivitAI, slot it in before you export and stop typing metadata by hand.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 201โ200 | Number of sampling steps |
| cfg | FLOAT | 7.00โ30 | CFG Scale (Classifier Free Guidance) |
| seed | INT | 00โ18446744073709550000 | Random seed for generation |
| high_sampler | STRING | euler | High resolution sampler name |
| low_sampler | STRING | euler | Low resolution sampler name |
| lora_high | STRING | High resolution LoRA model name | |
| lora_low | STRING | Low resolution LoRA model name | |
| positive_prompt | STRING | Positive prompt text | |
| negative_prompt | STRING | Negative prompt text |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| formatted_metadata | STRING | โ |
| json_metadata | STRING | โ |
| summary | STRING | โ |