Nodes/ComfyCollectorNodes/LoRA Split Loader (CCN)
ComfyUI Node

LoRA Split Loader (CCN)

LoRA Split Loader (CCN)

By valkymaera·Created 4 months ago·Updated 10 days ago· 1
LoRA Split Loader (CCN)
  • model
  • clip
  • model
  • clip
  • triggers
enabledtrue
balance0.50
strength_multiplier1.00

LoRA Split Loader (CCN) is the two-LoRA blender: one slider named balance splits strength between LoRA A and LoRA B. At 0.0 you get A at full strength and B at none. At 1.0 it's the reverse. At 0.5 both run at half strength. It's the answer to the eternal "I want the character from this LoRA but the style from that one" problem, and it does it with a single control instead of two knobs you're forever nudging against each other.

Why this beats two chained LoraLoaders: with separate loaders, "60% of A and 40% of B" means doing arithmetic across two widgets that don't know about each other. Here the blend is explicit - one slider, and the sum of the two strengths is always 1 (before the multiplier). The visual and mental model match. This is exactly the kind of QoL nicety that the whole ComfyCollectorNodes pack is built around, and it's the version I'd actually reach for when I'm A/B-ing the style/character split.

The mechanism is straightforward math: strength_a = (1 - balance) * strength_multiplier and strength_b = balance * strength_multiplier. Each side has its own enable toggle - disabling one side skips it without renormalizing the other, so you can prep a two-LoRA blend and then audition each half alone. The node-wide strength_multiplier scales both final strengths together (0 disables both), and the enabled toggle bypasses the entire node with model/CLIP passing through untouched. Patching is standard load_lora_for_models; connect a clip and the strengths apply to the text encoder too.

There's also a triggers string output, which joins the top trigger words of whatever LoRAs actually applied, pulled from their embedded training metadata (tag frequency first, explicit trigger fields as fallback). Skipped sides contribute nothing. If you blend two character LoRAs, you get both trigger sets on one socket to feed into your prompt.

The inputs you'll actually set:

  • balance - the blend, 0 to 1. Start at 0.5 and move in small steps.
  • strength_multiplier - a master scale for both sides; leave at 1 and use balance to blend.
  • model (required), clip (optional), enabled (master bypass).

Outputs: model, clip, triggers.

Install

ComfyUI Manager → "ComfyCollectorNodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/valkymaera/ComfyCollectorNodes

Restart ComfyUI; the node is in the "CCN" category. Its two rows are rendered by a bundled JS extension, so give it a hard refresh after installing. No extra Python dependencies, no model downloads, MIT.

Common issues

The blend is linear, and LoRA effects aren't - 0.5/0.5 can feel like 80% of each because both are pushing the same layers. Dial from one extreme rather than trusting the midpoint. And watch the strength_multiplier: it's global, so if you've been running your whole workflow at 0.8 strength on individual loaders, this node's 0.5 blend times 1.0 multiplier is a different total than you're used to. If the rows don't render, that's the JS again - hard refresh and restart. Missing trigger words just means the file shipped without metadata, not that the blend is broken.

CategoryCCN

Inputs (5)

NameTypeDefaultDescription
modelMODELModel to patch.
clipoptCLIPOptional; strengths also apply to the text encoder when connected.
enabledoptBOOLEANtrueWhen off, the model and CLIP pass through unchanged and no triggers are emitted.
balanceoptFLOAT0.500–1Blend between the two LoRAs: 0.0 = A only, 1.0 = B only, 0.5 = both at half strength.
strength_multiplieroptFLOAT1.00-10–10Multiplies both final strengths; 0 disables both LoRAs.

Outputs (3)

NameTypeDescription
modelMODEL
clipCLIP
triggersSTRING