LoRA Metadata Hub
Get your random LoRAs into the saved image metadata
- model
- MODEL
- combined_loras
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) - theapplied_lorasstrings from your random nodes.extra_metadata_text(optional) - arbitrary extra text to fold into the metadata.- Outputs:
MODELandcombined_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 theMODELoutput 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.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| loras_1opt | STRING | — | |
| loras_2opt | STRING | — | |
| loras_3opt | STRING | — | |
| extra_metadata_textopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| combined_loras | STRING | — |