ComfyUI Node

LoRA Metadata Hub

Get your random LoRAs into the saved image metadata

By Santodan·Created about a year ago·Updated 2 months ago· 28
LoRA Metadata Hub
  • model
  • MODEL
  • combined_loras
loras_1
loras_2
loras_3
extra_metadata_text

The problem this node solves only exists because the rest of the pack is random. When a Random LoRA node rolls the dice, the exact winners and strengths live in that run's outputs - and unless you bake them into the saved image's metadata, they're gone the moment you rerun. The LoRA Metadata Hub exists to make sure the LoRAs that actually won get written into your image file alongside the normal prompt/settings metadata, so you can look at a render later, see exactly what made it, and reupload it to CivitAI with the metadata intact.

It's a passthrough with a side job. MODEL goes in, MODEL comes out untouched; the real work is collecting LoRA strings and handing them to the metadata writer.

How it works

You connect the applied_loras string outputs from the pack's random nodes into loras_1 / loras_2 / loras_3 (three slots, so you can combine a couple of selector nodes and an extra text blob). The node concatenates them into one combined_loras string, passes the model through, and - this is the subtle part - stashes combined_loras in a runtime cache keyed by the node's ID and emits a ui value. That's so the image metadata extension can read the LoRA info at save time even though the string connections are dynamic and can't be resolved reliably mid-graph. It's the glue, not the writer.

The writer is comfyui_image_metadata_extension (edelvarden's pack) - the README is explicit that this node is useless without it. That extension also stopped working after a ComfyUI update, which is exactly why the author maintains a "revived" fork (Santodan/revived_comfyui_image_metadata_extension). If you're using the revived version, this all works as intended. If you insist on the original, you may need to hand-edit modules/defs/ext/SantodanNodes.py to add the ext definition the README links to - the original author stopped updating it.

Inputs / outputs

  • model (required) - passed straight through; the Hub just wants a spot in the graph.
  • loras_1 / loras_2 / loras_3 (optional) - the applied_loras strings from your random nodes.
  • extra_metadata_text (optional) - arbitrary extra text to fold into the metadata.
  • Outputs: MODEL and combined_loras (the joined string, for previewing or logging).

That's it. No randomization, no weights - just collection.

Gotchas

  • Not useful on its own. Install the metadata extension first; without it, this node is a fancy text joiner. The pack's README's compatibility chain is: random node → this Hub → comfyui_image_metadata_extension (or its revived fork).
  • Version hell is real. The original extension broke on a ComfyUI frontend update and the author shipped a revived fork; there's also an "ext defs" edit for the original. If metadata stops appearing in saved images, the first thing to check is which extension you actually have installed.
  • It's an OUTPUT_NODE. It forces execution even when only the MODEL output is consumed downstream, which is deliberate - the metadata read needs the node to have run.

Install

The node ships with the pack: ComfyUI Manager (search "Santodan") or git clone https://github.com/Santodan/santodan-custom-nodes-comfyui into custom_nodes, then restart. Separately install comfyui_image_metadata_extension (or the revived fork) or the metadata half of the chain is missing.

CategorySantodan/Metadata

Inputs (5)

NameTypeDefaultDescription
modelMODEL
loras_1optSTRING
loras_2optSTRING
loras_3optSTRING
extra_metadata_textoptSTRING

Outputs (2)

NameTypeDescription
MODELMODEL
combined_lorasSTRING