Silver Lora Model Loader
The LoRA 'Loader' That Cycles Through Your Whole Folder So You Don't Have To
- COMBO
- STRING
- lora_tags
- example_prompts
- example_images
The name is a half-lie. Silver Lora Model Loader doesn't load a LoRA into your model at all - it selects one from your loras folder and hands you the name, which you then feed into a regular LoraLoader. Think of it as a shuffle button for your LoRA stack. You point it at a folder of style LoRAs, set it to increment, and every queue run advances to the next one. Batch-testing twenty style LoRAs becomes "queue it and walk away" instead of editing the dropdown between each render.
How it works
On each run it scans ComfyUI/models/loras, filters the list with your regex, and picks a position based on action. The repeat_count/current_repeat pair is the clever bit: with repeat_count set to 3, it holds the same LoRA for three runs before advancing - handy when you want a few generations per model. A tiny bundled JS extension then writes the selected name back into the node's lora_name widget, so the next run in the queue picks it up automatically. That's the whole cycle; no rerouting wires.
The second trick is fetch_lora_info. When it's on (it is by default), the node hashes the LoRA file (SHA-256), asks CivitAI's by-hash API what this LoRA is, and caches the answer in a lora_cache/ folder next to the pack. You get back the trained words, the example prompts from the model page, and the example image URLs. If you're testing someone else's LoRA cold, that's a lot of context you didn't have to go hunting for. If you're offline, the calls just fail quietly and you get empty strings - generation doesn't break, you just lose the bonus info.
The inputs that matter
- regex_filter - defaults to
.*(everything)."style.*"matches only LoRAs whose names start with "style". Case-insensitive. - action -
fixed,increment,decrement, orrandomize. This is your cycling behavior. - repeat_count - how many runs to stay on one LoRA before moving.
- fetch_lora_info - flip it off if you don't want the CivitAI round-trip slowing each run.
The lora_name input is a plain dropdown of your installed LoRAs, so leave it on something real; the position math starts from whatever's selected.
Wiring the outputs
Five outputs, but you really care about the first two. COMBO is the selected LoRA name typed as a wildcard - wire it straight into a stock LoraLoader's lora_name input and ComfyUI accepts it. STRING is the same name as plain text, for nodes that want a string rather than a combo. lora_tags, example_prompts, and example_images are the CivitAI metadata: trained words, a list of prompts, and image URLs, mostly useful for a Display Text node or to pull trigger words into your prompt (see the KB's notes on trigger words being the usual reason "LoRA not working").
Install
ComfyUI Manager → search "ComfyUI Silver Nodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/SilverAndJade/comfyui-silver-nodes
Then restart ComfyUI. The pack needs requests for the CivitAI lookup - it's in the requirements.txt, and it's already a ComfyUI dependency, so you'll almost certainly have it. The one gotcha to expect: if the lora_name dropdown shows nothing, you have no LoRAs in models/loras, and the node has nothing to cycle. That's a setup problem, not a bug.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| regex_filter | STRING | .* | — |
| lora_name | COMBO | 0 options: | |
| action | COMBO | increment | 4 options: fixed, increment, decrement, randomize |
| repeat_count | INT | 11–100 | — |
| current_repeat | INT | 11–100 | — |
| fetch_lora_info | BOOLEAN | true | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| COMBO | * | — |
| STRING | STRING | — |
| lora_tags | STRING | — |
| example_prompts | * | — |
| example_images | * | — |