Nodes/LF Nodes/LoRA selector
ComfyUI Node

LoRA selector

The LoRA picker that shows you the cover art and spits out a ready-to-paste tag

By lucafoscili·Created 2 years ago·Updated 2 years ago· 50
LoRA selector
  • ui_widget
  • lora
  • lora_tag
  • lora_name
  • model_path
  • model_cover
get_civitai_infotrue
weight1.00
randomizefalse
filter
seed42
loraNone
lora_stack

Every LoRA-heavy workflow has the same friction: you've got fifty .safetensors files in your loras folder and the stock LoraLoader shows you a text dropdown with zero context. LF_LoraSelector is the LF Nodes answer - a selector that shows your LoRA collection as cards with their CivitAI cover images, applies a weight, and gives you outputs designed for LoRA testing.

The standout feature is that it loads LoRAs in "tag format." If your LoRA files are named like <lora:silhouette-style:1>, the node hands you a ready-to-paste lora_tag string on one output. That plugs straight into a prompt, which is exactly the pattern in the author's own LoRA-tester workflow - pick a LoRA from the visual gallery, and the tag is ready for your prompt node without you retyping the syntax.

The inputs that matter

  • weight - LoRA strength, −3 to 3, default 1. The usual rules apply: 1.0 is standard, below 1 is subtler, above 1 gets aggressive and eventually starts degrading the image.
  • get_civitai_info - when on, the node fetches model info (including the cover) from CivitAI. This is the feature that makes the cards look great, and also the one that can slow things down or fail when the API is grumpy.
  • randomize, filter, seed - turn on randomize and the node picks a LoRA at random from your folder each run; filter supports wildcards (*) to restrict to, say, *style*. This is a quiet hero for stress-testing: flip randomize on, filter to a style family, and batch through every LoRA you own with the same prompt.
  • lora_stack - an optional string for chaining multiple selector nodes into a sequence. Leave it alone until you're comfortable.

The outputs

lora is the model combo you feed into the KSampler path (via a LoraLoaderModelOnly or similar), lora_tag is the prompt-ready string, lora_name is just the filename, model_path is the full path, and model_cover is the image card. For a beginner the two that matter are lora and lora_tag - the rest are there for automation and for saving CivitAI-style metadata later.

Installing it

It's part of the LF Nodes pack:

cd ComfyUI/custom_nodes
git clone https://github.com/lucafoscili/comfyui-lf

or ComfyUI Manager → search LF Nodes → install → restart. No extra Python deps, no models to download. The CivitAI cover fetch needs an internet connection but no API key.

Where people get burned

  • get_civitai_info hits rate limits. CivitAI throttles anonymous API traffic, so with a big LoRA folder you can see the covers fail to load or the node stall. Turn it off if you just want speed; you lose the pretty cards, not the functionality.
  • Randomize without a filter picks literally anything, including the one test LoRA you forgot to delete. Filter first.
  • Frozen pack, moving target. This repo went legacy in early 2025 when the author moved to lf-nodes. The CivitAI API has changed since (it's been a busy couple of years for the platform), so if get_civitai_info starts misbehaving, that's a legacy-repo reality, not a bug in your workflow.

If you live in LoRA-land, the visual picker plus the tag output is worth the install on its own.

Category✨ LF Nodes/Selectors

Inputs (8)

NameTypeDefaultDescription
get_civitai_infoBOOLEANtrueAttempts to retrieve more info about the model from CivitAI.
weightFLOAT1.00-3–3Lora weight.
randomizeBOOLEANfalseSelects a Lora randomly from your loras directory.
filterSTRINGWhen randomization is active, this field can be used to filter Lora file names. Supports wildcards (*).
seedINT420–18446744073709550000Seed value for when randomization is active.
loraoptCOMBONoneLora model to use.
lora_stackoptSTRINGOptional string usable to concatenate subsequent selector nodes.
ui_widgetoptKUL_CARD[object Object]

Outputs (5)

NameTypeDescription
lora
lora_tagSTRING
lora_nameSTRING
model_pathSTRING
model_coverIMAGE