Nodes/comfyui_bmad_nodes/LoraLoader (dirty)
ComfyUI Node Runs on cloud

LoraLoader (dirty)

Type your LoRA name instead of picking it — when your workflow runs itself

By bmad4ever·Created 3 years ago·Updated 9 months ago· 70
LoraLoader (dirty)
  • model
  • clip
  • MODEL
  • CLIP
lora_name
strength_model1.00
strength_clip1.00

The "(dirty)" is the author's own label, and it's accurate: this is a LoRA loader that takes the model name as a plain text string instead of the usual dropdown. No file picker, no autocomplete, no list of your LoRAs anywhere. You type my_lora and it loads it. That sounds like a downgrade until you remember why this pack ships a whole family of "dirty loaders" - the Bmad API nodes want to be driven by strings so a script (or an API request) can tell the workflow what to load without you re-selecting a dropdown for every run.

What it actually does

Under the hood it's a thin wrapper around ComfyUI's own LoraLoader - the same node you'd use normally, same model and clip patching. The trick is in how the name is resolved. You hand it a string, and it matches it against the files in your ComfyUI/models/loras folder ignoring the file extension. So flat2_anime.safetensors, flat2_anime, even flat2_anime.foo all resolve to the same file. It's deliberately loose so API callers don't have to know or care about extensions.

The inputs are exactly what you'd expect: model and clip in, lora_name (STRING), strength_model and strength_clip (both default 1.0, and both go from -10 to 10). It returns MODEL and CLIP out, ready to wire into a sampler. Negative strengths work, which is handy for that "turn the LoRA off / push the style away" trick.

Where you'd reach for it

Interactive tweaking? No - use the normal LoraLoader, the dropdown is nicer. But if you're building an API-facing workflow, a batch of images where each row should use a different LoRA, or a template you hand to someone who shouldn't touch the graph, a string input is a feature. It also plays nice with the pack's string handling nodes (String, Add String to Many) if you want to compose names programmatically.

Installing it

Same as any node from this pack:

cd ComfyUI/custom_nodes
git clone https://github.com/bmad4ever/comfyui_bmad_nodes

then restart ComfyUI. Or use ComfyUI Manager → Install Custom Nodes → search for comfyui_bmad_nodes and let it handle the pip dependencies. No model files to download - the LoRAs are yours already, in the standard folder.

The gotchas

Typing is a contract. If your string doesn't match a file in models/loras (by base name), the node errors out with File '...' not found. There's no dropdown to save you, no fuzzy match - a typo is a hard failure. And because it silently strips the extension, two LoRAs with the same base name but different extensions will collide (one wins, whichever the folder lists first). Keep your LoRA filenames unique and you'll never hit that.

If the pack doesn't load at all, check the console banner - it prints a friendly "From Bmad Custom Nodes" message with loaded-node counts, and will tell you if a module failed. That's your first stop for "why is this node missing."

CategoryBmad/api/dirty loaders

Inputs (5)

NameTypeDefaultDescription
modelMODEL
clipCLIP
lora_nameSTRING
strength_modelFLOAT1.00-10–10
strength_clipFLOAT1.00-10–10

Outputs (2)

NameTypeDescription
MODELMODEL
CLIPCLIP