Nodes/ComfyUI-LoraBlockWeight/LoRA Block Weight (SD3.5 Large)
ComfyUI Node

LoRA Block Weight (SD3.5 Large)

SD3.5 Large LoRAs get 38 dials instead of one

By Baldwinzc·Created 4 months ago·Updated 3 months ago· 24
LoRA Block Weight (SD3.5 Large)
  • model
  • clip
  • model
  • clip
  • info
lora_name
target_blockJ00
target_value1.00
baseline_weight1.00
clip_strength1.00

SD3.5 Large is the model Stability shipped to redeem the SD3 disaster - 8B, genuinely better, but its ecosystem never fully recovered its footprint. So when an SD3.5 LoRA overpowers your prompt or bleeds style, the community muscle memory isn't there to help; you're usually on your own. LoRA Block Weight (SD3.5 Large) is a drop-in LoraLoader replacement that gives you per-block control over all 38 MMDiT joint blocks (J00J37), which is exactly the tool you need when a standard strength scalar isn't enough.

Same family as the FLUX.1 and Qwen-Image variants in this pack, same idea as the A1111 sd-webui-lora-block-weight technique that started all of this: load the LoRA, group its state-dict keys by block index, and apply each group with its own strength instead of one global weight.

Why the block anatomy is different here

SD3.5's blocks aren't like FLUX's double/single streams. Each J block is a joint MMDiT block with a context_block (text) half and an x_block (image) half that share joint attention. The node treats each joint block as one unit, which is the right granularity for LoRA weighting - the LoRA keys land on both halves, and you sweep the pair. That shared-attention structure is also why the author's demo found SD3.5 spreads its LoRA signal more redundantly than FLUX: the top/bottom MSE ratio was 47×, the most extreme of the three models.

The inputs that matter

  • target_block - J00..J37 (default J00). Empty or unknown means no target: the whole LoRA sits at baseline_weight, a useful control cell.
  • target_value - the strength for that one block, 0–2.
  • baseline_weight - everything else. 1.0 is knock-out ("what breaks when this block is removed?"), 0.0 is solo ("what does this block contribute alone?").
  • clip_strength - the text-encoder side of the LoRA, applied uniformly. SD3.5's triple encoder (CLIP-L + CLIP-G + T5-XXL) means the clip half is more than an afterthought.

Outputs are patched model and clip (into a KSampler, typically with cfg=4.5, euler, sgm_uniform, ~20 steps for SD3.5 Large), plus an info STRING reporting how many patches applied and which keys got skipped.

This node is a diagnostic instrument, not your everyday loader. Use it to find which blocks carry a LoRA's effect - driven by an Efficiency XY Plot for a 38×5 grid - then move the findings into the Custom variant for the final recipe. For a faster first pass, USAGE.md suggests scanning a sparse 10–12 block subset before committing to the full 190-image sweep.

Install

Via ComfyUI Manager, search "LoraBlockWeight". Or:

cd <ComfyUI>/custom_nodes
git clone https://github.com/Baldwinzc/ComfyUI-LoraBlockWeight.git

Restart ComfyUI. No extra dependencies, no model downloads, no key. The pack relies on comfy.lora / comfy.sample internals, so a ComfyUI refactor can break loading - that's a known risk the author flags.

Gotchas

Block rankings are experiment-specific: one prompt, seed, and resolution. A block that reads negligible in your sweep isn't proven useless everywhere - re-check on a couple of prompts before you zero it permanently. And remember that with SD3.5's redundant joint blocks, knocking out one "critical" block often does far less than it would on FLUX; the group variant is usually the better instrument here.

CategoryLoraBlockWeight

Inputs (7)

NameTypeDefaultDescription
modelMODEL
clipCLIP
lora_nameCOMBO0 options:
target_blockSTRINGJ00Block tag: J00..J37. Empty / unknown -> no target, all blocks at baseline_weight.
target_valueFLOAT1.000–2
baseline_weightFLOAT1.000–2Knock-out: 1.0 (others stay full, target varies). Solo: 0.0 (others off, only target varies).
clip_strengthFLOAT1.00-2–2

Outputs (3)

NameTypeDescription
modelMODEL
clipCLIP
infoSTRING