Nodes/ComfyUI_LC123_nodes/LC Save Metadata 🏷️
ComfyUI Node

LC Save Metadata 🏷️

Fill in the details LC Save Image embeds

By lonecatone23Β·Created about a month agoΒ·Updated about 20 hours agoΒ· 12
LC Save Metadata 🏷️
  • pipe
  • metadata
  • parameters
β—„positiveβ–Ί
β—„negativeβ–Ί
β—„seed_value-1β–Ί
β—„steps0β–Ί
β—„cfg0.00β–Ί
β—„samplerβ–Ί
β—„schedulerβ–Ί
β—„modelsβ–Ί
β—„civitai_airβ–Ί
β—„width0β–Ί
β—„height0β–Ί
β—„denoise0.00β–Ί
β—„extra_paramsβ–Ί

LC Save Image πŸ’Ύ does the heavy lifting of writing PNGs that Civitai's uploader can auto-link. What it doesn't do is know your prompts, seed, sampler, or model names - that's this node's job. LC Save Metadata 🏷️ is the companion that collects all the "what made this image" details into an LC_SAVE_META object, hands it to LC Save Image over one wire, and also prints the human-readable parameter string so you can check it before committing.

It's deliberately a separate node rather than more widgets on the saver. The metadata collector takes an optional LC_PIPE input - the bundle type the pack's LC Sampler Configure and pipe nodes carry - and pulls whatever it can out of it: positive and negative prompts, seed, total steps, CFG, sampler, scheduler, size, denoise. That's the clean path: run your sampler through a pipe, feed it in here, and the metadata fills itself. There's no pipe output - it's a dead end in the pipe chain by design, because its only job is to collect and emit metadata.

Then come the widget overrides, and the rule is simple and consistent: a widget overrides the pipe when set, and falls back to the pipe when it isn't. Concretely:

  • positive / negative - multiline text. Set them to override the pipe's prompts.
  • seed_value - a plain INT where -1 means "use the pipe seed." Note it has no control-after-generate randomize - the author left that off deliberately; this is metadata capture, not a seed source.
  • steps and cfg - 0 means "use the pipe's total_steps / cfg_1."
  • sampler / scheduler - empty means "use the pipe's."
  • models - checkpoint names as one comma-separated string. The pack supports two-model dual-pass workflows, so this is literally "Model 1, Model 2" in a single field.
  • civitai_air - a single Civitai AIR or model-page URL, the primary model only. No hash lookup, no multiple entries - LC Save Image turns this into the civitaiResources JSON chunk.
  • width / height / denoise - 0 means "use the pipe." And even if you leave them unset, the save node still writes the real pixel size of the image it saved, so Size: in the parameters line is always honest.
  • extra_params - free text appended to the end of the parameters line, for LoRA tags, notes, or anything the widgets don't cover.

What comes out: metadata (the LC_SAVE_META socket) wires into LC Save Image's metadata input, and parameters is the actual A1111-style text block - positive prompt, Negative prompt:, then Steps: / Sampler: / CFG scale: / Seed: / Size: / Model: plus the Civitai resources JSON. Wire parameters into LC Show Text and you can eyeball exactly what's about to be embedded before you run. That flat string is the dialect Civitai's auto-detection reads, which is the whole reason this two-node setup exists: the built-in saver writes a graph nobody else parses, and this pair writes both the graph and the readable, hash-matched parameters. If you've ever uploaded a ComfyUI image to Civitai and watched it fail to credit the checkpoint, this is the fix.

The mental model for troubleshooting: empty widget + no pipe = that field simply isn't in the metadata, which is fine - nothing errors, the parameters line just lacks it. A seed of -1 with no pipe stays absent rather than randomizing. And because LC Save Image skips muted and bypassed branches when it collects hashes, feed this node from the live path of the graph, not a branch you've turned off.

Install is the pack-wide routine: ComfyUI Manager β†’ search "LC123" (repo ComfyUI_LC123_nodes), or clone https://github.com/lonecatone23/ComfyUI_LC123_nodes into ComfyUI/custom_nodes, then restart. No extra pip dependencies or model files. Mind the nested-folder warning if you unzip a release inside an existing clone, and on hosted ComfyUI the pack generally needs to be installed by the platform before these nodes will appear.

CategoryLC123/io

Inputs (14)

NameTypeDefaultDescription
pipeoptLC_PIPELC_PIPE in. Fills prompts, seed, steps, CFG, sampler, scheduler, size, denoise. Widgets override.
positiveoptSTRINGOverride pipe positive prompt.
negativeoptSTRINGOverride pipe negative prompt.
seed_valueoptINT-1-1–18446744073709550000Seed. -1 = use pipe seed if present. Plain INT β€” no control-after-generate.
stepsoptINT00–100000 = use pipe total_steps.
cfgoptFLOAT0.000–1000 = use pipe cfg_1.
sampleroptSTRINGEmpty = use pipe sampler_name.
scheduleroptSTRINGEmpty = use pipe scheduler.
modelsoptSTRINGCheckpoint names. Model 1 and Model 2 in one field, comma-separated.
civitai_airoptSTRINGPrimary Civitai AIR or model URL only. No hash lookup.
widthoptINT00–655360 = use pipe width (save node still writes the real pixel size).
heightoptINT00–655360 = use pipe height.
denoiseoptFLOAT0.000–10 = use pipe denoise if set.
extra_paramsoptSTRINGAppended to the parameters line (LoRAs, hashes, notes).

Outputs (2)

NameTypeDescription
metadataLC_SAVE_METAβ€”
parametersSTRINGβ€”