JLC LoRA Loader - Multi-Model / Block Weight
Per-LoRA block weights, no CLIP to babysit
- model
- model
Most LoRA loaders default to patching both the diffusion model and the text encoder, and a lot of the time that's unnecessary. If you're on a pipeline where LoRAs are pure style/content (or you've already got your conditioning dialed and don't want a LoRA's text-encoder weights anywhere near it), the extra CLIP handling is just wiring you have to route around. JLC LoRA Loader - Multi-Model / Block Weight is the pack's per-slot block-weight loader with the CLIP side stripped out: up to ten LoRAs, each with its own MODEL strength and its own block vector, and a single MODEL output.
It's the MODEL-only sibling of the CLIP + Block Weight variant, from the same jlc-comfyui-nodes pack by J. L. Córdova (Damkohler). Everything about the dynamic-slot design carries over: ten predeclared slots, slot_count controls visibility and is authoritative, hidden slots are ignored but their values survive in the workflow JSON, active slots apply sequentially.
The MODEL-only difference
The meaningful behavior difference is in the loader core, and it's worth understanding before you trust it: MODEL-only loaders filter out clearly text-encoder/CLIP-side keys from each LoRA file before applying it to the model. So if you load a LoRA that was trained with CLIP weights, this node doesn't touch the text encoder and doesn't make you wade through misleading warnings - it just applies the model side. Ambiguous keys are preserved so genuine MODEL-side issues still surface. That's the pack's explicit design, not a side effect.
Each slot's inputs are exactly three:
lora_XX- dropdown over yourmodels/lorasfolderstrength_model_XX- the LoRA's force on the diffusion model (−10 to 10; 0–1 is the normal band)block_vector_XX- that slot's per-LoRA CSV profile, e.g.1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1
Vector semantics are the pack standard: vector[0] is the base ratio for unmatched MODEL keys, vector[1:] maps across block indices (input_blocks, middle_block, output_blocks, double_blocks, single_blocks), the last value repeats if the vector runs out, zeros suppress patches, nonzeros scale that slot's strength. Since there's no CLIP here, nothing is block-weighted but the MODEL side - which is everything this node touches.
The single model output feeds your KSampler. Wiring is short, and that's the point of this variant: for a stack of pure image-model LoRAs on Flux or SDXL, there's no CLIP to route, no strength to forget to zero, one cable out.
Install and gotchas
ComfyUI Manager (search JLC ComfyUI Nodes) or:
cd ComfyUI/custom_nodes
git clone https://github.com/Damkohler/jlc-comfyui-nodes.git
Restart ComfyUI after install/update. No model downloads, no extra pip dependencies.
Two things to remember. First, default strengths are 0.0 - the node is a pass-through until you actually set values. Second, per-slot vectors are the visually dense end of the block-weight family; if every LoRA in the stack is going to share one profile anyway, the Shared Block Weight MODEL-only variant gives you a single vector for the whole stack and a much calmer node. Pick this one when individual LoRAs need genuinely different treatment - and if you find yourself wanting text-encoder influence too, the MODEL+CLIP version of this node is the same thing with clip re-added.
Inputs (32)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| slot_count | INT | 11–10 | Authoritative active LoRA slot count. The frontend may hide rows above this value; the backend ignores them. |
| lora_01 | COMBO | 1 options: None | |
| strength_model_01 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_01 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_02 | COMBO | 1 options: None | |
| strength_model_02 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_02 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_03 | COMBO | 1 options: None | |
| strength_model_03 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_03 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_04 | COMBO | 1 options: None | |
| strength_model_04 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_04 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_05 | COMBO | 1 options: None | |
| strength_model_05 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_05 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_06 | COMBO | 1 options: None | |
| strength_model_06 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_06 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_07 | COMBO | 1 options: None | |
| strength_model_07 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_07 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_08 | COMBO | 1 options: None | |
| strength_model_08 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_08 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_09 | COMBO | 1 options: None | |
| strength_model_09 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_09 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
| lora_10 | COMBO | 1 options: None | |
| strength_model_10 | FLOAT | 0.00-10–10 | MODEL LoRA strength for this slot. |
| block_vector_10 | STRING | 1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 | MODEL block-weight vector for this LoRA slot. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |