Nodes/babydjac Nodes/LoraFcKingLoader
ComfyUI Node

LoraFcKingLoader

One Node, Five LoRAs, Zero Stacking Headaches

By babydjac·Created 8 months ago·Updated 6 months ago· 12
LoraFcKingLoader
  • model
  • clip
  • MODEL
  • CLIP
◄lora_count1►
◄enabled_1true►
◄lora_name_1None►
◄strength_model_11.00►
◄strength_clip_11.00►
◄enabled_2false►
◄lora_name_2None►
◄strength_model_21.00►
◄strength_clip_21.00►
◄enabled_3false►
◄lora_name_3None►
◄strength_model_31.00►
◄strength_clip_31.00►
◄enabled_4false►
◄lora_name_4None►
◄strength_model_41.00►
◄strength_clip_41.00►
◄enabled_5false►
◄lora_name_5None►
◄strength_model_51.00►
◄strength_clip_51.00►

ComfyUI's core LoraLoader does one LoRA at a time. If you run three at once - which is most real workflows - you chain three LoraLoader nodes in a row, each with its own strength sliders, and the graph gets tall and noisy. LoraFcKingLoader is a stacked multi-LoRA loader from the babydjacNODES pack: one node, up to five LoRAs, per-slot strengths, applied in slot order, with the same MODEL + CLIP outputs you'd get from the chain.

The name is a vibe check - the pack is one person's opinionated utility set - but the node itself is solidly built.

How it works

You feed in a base model and clip (from your checkpoint loader), pick a lora_count (1–5), and each slot has enabled, lora_name, strength_model, and strength_clip. It applies the enabled slots in order through ComfyUI's own comfy.sd.load_lora_for_models, so the math is exactly what the core loader does - no magic, no fork.

Two implementation details make it nicer than a manual chain:

  • Weights are cached. Each LoRA file is loaded into memory once (load_torch_file with a per-path cache) instead of re-reading from disk on every queue. If you test a lot of LoRA combos, this is a real speed-up.
  • The UI hides unused slots. A JavaScript extension collapses disabled slots so a 2-LoRA workflow doesn't show you five empty rows.

Order matters, same as chaining loaders: if two LoRAs touch overlapping concepts, the later slot's strength wins the tug-of-war. strength_model and strength_clip can both go negative (-100 to 100) - negative CLIP strength is occasionally useful, negative model strength is a style toy.

The inputs that matter

  • model / clip - required inputs from your checkpoint loader.
  • lora_count - the number of slots to use (1–5).
  • lora_name_N / strength_model_N / strength_clip_N - per slot. The enabled_N checkbox lets you park a LoRA in a slot and toggle it without losing the path.
  • A note on Flux: Flux LoRAs often only move strength_model - the CLIP half is T5, and many Flux LoRAs don't touch it. Setting strength_clip to 0 on a Flux LoRA isn't a bug.

Outputs: MODEL and CLIP, wired into your sampler/encoder exactly like a normal LoraLoader output.

Install

ComfyUI Manager → babydjacNODES, or git clone https://github.com/babydjac/babydjacNODES into ComfyUI/custom_nodes. Restart ComfyUI and hard-refresh the browser (the slot-hiding UI is JS). No extra pip deps.

Gotchas

  • Slots apply in fixed order 1→5, skipping disabled ones. If you want LoRA B applied before LoRA A, move B into a lower slot - the node won't reorder for you.
  • Zero-strength slots are skipped, which is nice, but so are "None" names - so a slot you thought was active might silently not apply. The enabled checkbox is the one to trust.
  • Cache note: the in-memory LoRA cache means hot-reloading a LoRA file you just edited on disk won't pick up the change until you restart ComfyUI. Keep that in mind when iterating on a training job.

For anyone who lives in multi-LoRA territory - style + character + detail at once - this replaces a wall of chained loaders with one tidy node. It's the pack's best "removes friction" play.

CategorybabydjacNODES/Loaders

Inputs (23)

NameTypeDefaultDescription
modelMODELBase diffusion model.
clipCLIPBase CLIP model.
lora_countINT11–5—
enabled_1BOOLEANtrue—
lora_name_1COMBONone1 options: None
strength_model_1FLOAT1.00-100–100—
strength_clip_1FLOAT1.00-100–100—
enabled_2BOOLEANfalse—
lora_name_2COMBONone1 options: None
strength_model_2FLOAT1.00-100–100—
strength_clip_2FLOAT1.00-100–100—
enabled_3BOOLEANfalse—
lora_name_3COMBONone1 options: None
strength_model_3FLOAT1.00-100–100—
strength_clip_3FLOAT1.00-100–100—
enabled_4BOOLEANfalse—
lora_name_4COMBONone1 options: None
strength_model_4FLOAT1.00-100–100—
strength_clip_4FLOAT1.00-100–100—
enabled_5BOOLEANfalse—
lora_name_5COMBONone1 options: None
strength_model_5FLOAT1.00-100–100—
strength_clip_5FLOAT1.00-100–100—

Outputs (2)

NameTypeDescription
MODELMODEL—
CLIPCLIP—