LoRA Elemental Matrix (Knobs)
Knobs for your LoRA — cut the elements you don't want
- model
- clip
- model
- clip
- report
LoRA Elemental Matrix (Knobs) is the tactile half of the pack's per-key LoRA feature. Its text sibling, LoRA Elemental Apply (Recipe), makes you type strength rules; this one hands you the same synth-style knob matrix you get from the merge nodes and says "turn down the stuff you hate." If you already like the matrix UI from Elemental Matrix Merge (Knobs), this is that exact panel, re-tasked for LoRA strength.
The important difference from the merge matrix is the starting state. The merge version begins with every knob at 0 (model1 untouched). This one begins with every knob at 1.0 - meaning a freshly-added node is just a normal full-strength LoRA apply. You don't build a merge up from nothing; you start from "the LoRA, as the author intended" and cut down from there. Every knob you drop reduces how strongly the LoRA touches that block+element, and a knob at 0 disables the LoRA for that key entirely. Set them all to 0 and the LoRA is effectively off.
How it works
Same core as the recipe version: load the LoRA, walk its UNet keys, and for each one look up the block+element strength from the matrix - attn1/attn2/ff/norm/proj/other columns, plus the sub-element columns (to_q/to_k/to_v/to_out under the attn tabs, net.0/net.2 under ff, norm1–norm3, proj_in/proj_out) with the same "sub-knob at 0 follows its parent" rule. The report output shows exactly how many keys each knob's value reached.
The one thing this node can't do: knobs are clamped to 0–1. The recipe version allows negatives and over-1 boosts (for things like attn2:1.2 prompt-response emphasis), and the matrix UI doesn't. If you need those, use the recipe node - the two share the same engine, so your mental model carries straight across.
Inputs, outputs, and the usual gotchas
Inputs: model, lora_name (dropdown from models/loras), the hidden matrix JSON widget the knob UI writes, and strength_clip - the uniform strength for the text-encoder side, only effective when you connect the optional clip input (recommended for trigger-word character LoRAs, same advice as the recipe version). Outputs: model, clip, report.
Presets work exactly like the merge matrix: save the whole matrix under a name (stored in ComfyUI's user/ data, independent of your workflow), reload later, and share presets by exporting JSON, importing, or dragging the file onto the node. The bundled classic MBW curves apply here too, though for LoRA-cutting you'll mostly save your own "keep this, kill that" states.
And the gotcha that bites everyone once: a LoRA only has the keys it trained. Most LoRAs contain only attn1/attn2/ff; norm and proj columns often have no keys to act on, so twiddling them does nothing and the report will say so (★一致キーなし). That's not a bug or a typo - it's the LoRA's actual shape.
Install
No dependencies, Manager-searchable as "ComfyUI-RecipeMerge", or:
cd ComfyUI/custom_nodes
git clone https://github.com/galigali-san/ComfyUI-RecipeMerge
then restart ComfyUI. It's under advanced/model_merging, and the interface labels are currently Japanese (author galigali is a Japanese dev; an English pass is coming). If you'd rather dial in precise per-key values or go past 1.0, the LoRA Elemental Apply (Recipe) node is the text version of exactly this.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| lora_name | COMBO | 0 options: | |
| matrix | STRING | {} | — |
| strength_clip | FLOAT | 1.00-10–10 | テキストエンコーダ部分の適用強度(clip未接続なら無視) |
| clipopt | CLIP | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| report | STRING | — |