📄 LoRA Loader → Selected LoRAs (Text)
Get your active LoRAs out as Civitai-ready text — without typing them by hand
- model
- text
If you've ever uploaded a ComfyUI image to Civitai and watched it show up with no LoRAs listed, this is the node for you. Civitai reads LoRA info from a specific little string in the image's metadata - the <lora:name:hash:strength> block - and ComfyUI's default save nodes don't write it. The 📄 LoRA Loader → Selected LoRAs (Text) node reads the actual LoRA stack that's feeding your model and hands it to you as plain text, hashes included, ready to paste into a metadata saver.
How it works
The clever bit is that it doesn't ask you to list anything. You connect the model input to the MODEL wire that flows out of your LoRA loader - the same one you'd feed into KSampler - and the node reads the graph structure to figure out which LoRAs are actually active upstream. It recognizes three kinds of source:
- rgthree's Power Lora Loader, reading the
lora_*entries that are toggled on, - LocalLoraGallery nodes (via their
selection_data), - and plain LoraLoader chains, walking the model wire backwards.
For each active LoRA it prints one line in the exact A1111-style format Civitai expects: loraname: hash: strength,. The hash is a 10-character SHA256 prefix computed from the actual .safetensors file - no guessing, no lookups - and results are cached in a lora_gallery_metadata.json file that the node hunts for anywhere under your custom_nodes folder, so it only pays the hashing cost once.
Wiring it up
One input, one output, nothing to configure:
- model (MODEL) - connect the model output that passes through your LoRA loader.
- text (STRING) - the assembled
name: hash:strength,lines, one per LoRA.
Feed text into the metadata side of your save node. It pairs naturally with this pack's own 📝 Image Metadata Saver, or with edelvarden's ComfyUI-ImageMetadataExtension - the extension the pack README points to for Civitai-friendly PNG metadata. One note the author makes elsewhere in this pack: Civitai only reads CFG from metadata, so keep guidance and CFG equal if you want the number displayed to be honest.
Gotchas
- Empty output? Check that the
modelwire actually passes through the loader. If you connect the raw checkpoint output instead, there's nothing upstream to discover. The node'sIS_CHANGEDreturnsNaN, so it always reruns rather than caching a stale result - that's a feature, not a bug, though it does mean this node always executes. UNKNOWNas the hash means the file couldn't be hashed - usually the LoRA file is missing from disk.- LoRAs with strength 0 are skipped, and lines are deduplicated per name. For a LoRA stack you also need the file present, obviously, but that's true of the loader anyway.
Install
Search "ComfyUI-Lightx02-Nodes" in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Light-x02/ComfyUI-Lightx02-Nodes
Then restart ComfyUI. No model downloads, no extra dependencies beyond what ComfyUI already ships. This is part of Light-x02's single catch-all pack - the author consolidated everything into one repo - so if you have the old standalone LoRA nodes from a separate repo, uninstall those first or you'll hit "node already registered" errors on startup.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |