Nodes/ComfyUI-YogurtNodes/LoRA Merge Full Rank (Yogurt Nodes)
ComfyUI Node

LoRA Merge Full Rank (Yogurt Nodes)

Merge up to five LoRAs into one file — exactly, not approximately

By yogurt7771·Created 2 years ago·Updated 9 days ago· 1
LoRA Merge Full Rank (Yogurt Nodes)
  • lora1
  • lora2
  • lora3
  • lora4
  • lora5
  • merged_lora
  • merged_pairs_count
  • report
strength11.00
strength21.00
strength31.00
strength41.00
strength51.00

Stacking LoRAs in a workflow works, but it doesn't travel. The moment you want to hand someone a workflow with three LoRAs baked into one file - or ship a single LoRA to CivitAI - you need an actual merge, not "apply all three and hope." YogurtLoraMerge is the pack's answer: it merges up to five standard LoRAs into one by concatenating their rank dimensions. The result is a single LoRA whose model-side effect is exactly the sum of the inputs.

That "exactly" is the whole pitch, and it's why this is the better tool than the pack's YogurtLoraSimpleAdd when correctness matters. It's part of ComfyUI-YogurtNodes (yogurt7771's 150+ node all-in-one, MIT-licensed, auto-generated README, no community footprint) - and honestly, this corner of the pack is where the value hides.

How it works

Five input slots, each with a strength: lora1/strength1 (required), then lora2 through lora5 (optional). Feed them from YogurtLoadLoraOnly, and each gets a strength between -10 and 10.

The mechanism is rank concatenation: a LoRA's delta is written as A·B where A is down-projection and B is up-projection. Merging stacks the A's and B's side by side along the rank axis. Because the math works out to A1·B1 + A2·B2 + ..., the combined LoRA reproduces the summed effect of the inputs exactly - no SVD, no approximation, and it's fast. The trade-off is right there in the name: Full Rank. Output rank is the sum of input ranks, so file size grows. Five rank-32 LoRAs become one rank-160 LoRA that's roughly five times the size.

Three outputs: merged_lora (the result), merged_pairs_count (how many .lora_down/.lora_up pairs actually got merged), and report (a text summary of what happened - read it to confirm nothing was skipped).

Where you'll use it

  • Baking a character + style + concept stack into a single portable file.
  • Reducing a workflow from three LoRA slots to one, at the cost of disk space.
  • Merge-then-compress: use this for exactness, then YogurtLoraRankCompress to shrink the result back down.

The caveats

The node's own description is blunt: it does not support DoRA or LoCon/reshape variants. If your LoRA has non-standard keys, the pairs won't merge - run it through YogurtLoraStatViewer first and check for standard .lora_down/.lora_up layout. And since rank grows, this is the wrong tool if your goal is a smaller file - that's the compressor's job, used after.

Install

ComfyUI Manager, search ComfyUI-YogurtNodes, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes
cd ComfyUI-YogurtNodes
pip install -r requirements.txt

Restart, look under "Yogurt Nodes". No model downloads - the inputs are LORA objects you loaded yourself. Save the result to a new filename with YogurtSaveLora; the original files stay untouched.

CategoryYogurtNodes/Models

Inputs (10)

NameTypeDefaultDescription
lora1LORAFirst LoRA.
strength1FLOAT1.00-10–10
lora2optLORASecond LoRA.
strength2optFLOAT1.00-10–10
lora3optLORAThird LoRA.
strength3optFLOAT1.00-10–10
lora4optLORAFourth LoRA.
strength4optFLOAT1.00-10–10
lora5optLORAFifth LoRA.
strength5optFLOAT1.00-10–10

Outputs (3)

NameTypeDescription
merged_loraLORA
merged_pairs_countINT
reportSTRING