Nodes/ComfyUI-DonutNodes/Donut Detailer LoRA 5
ComfyUI Node

Donut Detailer LoRA 5

A detailer that patches the LoRA itself, not the model

By DonutsDelivery·Created about a year ago·Updated about 15 hours ago· 25
Donut Detailer LoRA 5
  • lora
  • LoRA
Weight_down1.100
Bias_down1.000
Weight_mid1.100
Bias_mid1.000
Weight_up1.100
Bias_up1.000

Every other node in the pack's detailer family patches the model. This one patches the LoRA. Donut Detailer LoRA 5 takes a loaded LoRA - the actual low-rank tensors, not the file path - and multiplies its weights and biases in three groups: down, mid, and up. The idea is to boost or dampen specific parts of a LoRA's internal structure so the adapter itself becomes stronger or subtler at different stages of its projection, before it ever touches a checkpoint.

The input is lora (a LoRA object, the kind of thing produced by a LoRA loader or by one of the pack's own LoRA stack nodes), and the six knobs are Weight_down/Bias_down, Weight_mid/Bias_mid, and Weight_up/Bias_up. Defaults are 1.1 for the weights and 1.0 for the biases - so unlike the model-patch nodes, this one does something out of the box: it nudges the whole adapter up ~10% in every group. Output is a patched LoRA that you then feed to a normal LoRA apply node.

How it works, honestly

A LoRA is a pair of low-rank matrices (down, up) that sandwich a middle; the down/mid/up grouping here follows the tensor names in the file. The node deep-copies the LoRA dict, multiplies each group's weight tensors by the corresponding Weight_*, biases by Bias_*, and returns the copy. That's the entire mechanism - it's a pre-application gain control for the adapter, letting you strengthen the encoding side (down), the middle, or the reconstruction side (up) independently.

Why would you want that? Same reason block weights exist: not all parts of a LoRA contribute equally, and a single flat strength either under-fires the part you care about or over-fires the rest. This is especially useful for Z-Image character LoRAs, where people running DonutsDelivery's workflow stack several adapters and find that per-LoRA shaping beats a global strength. It's a power-user knob, and the defaults reflect that - 1.1 across the board is a gentle "make it stronger" that you can tune per group.

The honest verdict

This is the least-deprecated-feeling node in the detailer lineup (it's not in the deprecation list), and it's the only LoRA-input one in the family, so there's no "use X instead" guidance. Its real competition is just using the LoRA loader's own strength_model slider, which does the flat version of the same job. Reach for this node when you've dialed the flat strength and still want more control over which part of the adapter does the work - or when you want to pre-patch a LoRA and save the result for reuse.

Where people get burned: the input type is LoRA, not LoRA_STACK and not a filename. If you try to wire a stack in, it errors. And because the patch happens before application, changing the 1.1s to 0.9s subtracts from the adapter - negative effects in the sense of weakening, not inversion. Keep the values between roughly 0.5 and 1.5; beyond that you're likely crushing or amplifying noise inside the adapter.

Install: it ships with the pack - ComfyUI Manager → search DonutNodes, or git clone into custom_nodes/ plus pip install -r requirements.txt with the same Python as ComfyUI. No model downloads.

CategoryLoRA Patches

Inputs (7)

NameTypeDefaultDescription
loraLoRA
Weight_downFLOAT1.100-10–10
Bias_downFLOAT1.000-10–10
Weight_midFLOAT1.100-10–10
Bias_midFLOAT1.000-10–10
Weight_upFLOAT1.100-10–10
Bias_upFLOAT1.000-10–10

Outputs (1)

NameTypeDescription
LoRALoRA