Nodes/ComfyUI-DonutNodes/Donut Detailer XL Blocks
ComfyUI Node

Donut Detailer XL Blocks

Per-block weight and bias control over every SDXL block — all 76 knobs

By DonutsDelivery·Created about a year ago·Updated about 23 hours ago· 25
Donut Detailer XL Blocks
  • model
  • MODEL
input_blocks_0_weight1.000
input_blocks_0_bias1.000
input_blocks_1_weight1.000
input_blocks_1_bias1.000
input_blocks_2_weight1.000
input_blocks_2_bias1.000
input_blocks_3_weight1.000
input_blocks_3_bias1.000
input_blocks_4_weight1.000
input_blocks_4_bias1.000
input_blocks_5_weight1.000
input_blocks_5_bias1.000
input_blocks_6_weight1.000
input_blocks_6_bias1.000
input_blocks_7_weight1.000
input_blocks_7_bias1.000
input_blocks_8_weight1.000
input_blocks_8_bias1.000
middle_block_0_weight1.000
middle_block_0_bias1.000
middle_block_1_weight1.000
middle_block_1_bias1.000
middle_block_2_weight1.000
middle_block_2_bias1.000
output_blocks_0_weight1.000
output_blocks_0_bias1.000
output_blocks_1_weight1.000
output_blocks_1_bias1.000
output_blocks_2_weight1.000
output_blocks_2_bias1.000
output_blocks_3_weight1.000
output_blocks_3_bias1.000
output_blocks_4_weight1.000
output_blocks_4_bias1.000
output_blocks_5_weight1.000
output_blocks_5_bias1.000
output_blocks_6_weight1.000
output_blocks_6_bias1.000
output_blocks_7_weight1.000
output_blocks_7_bias1.000
output_blocks_8_weight1.000
output_blocks_8_bias1.000
out_weight1.000
out_bias1.000

Where the smaller Donut detailer nodes patch three regions with nine knobs, Donut Detailer XL Blocks goes the full length of the SDXL UNet: a weight and a bias slider for every block group - input_blocks_0 through input_blocks_8, middle_block_0 through middle_block_2, output_blocks_0 through output_blocks_8, and the final out - 76 inputs total. It's the heavy version of the pack's model-patch idea, and the honest use case is: you've identified one specific block that's doing the wrong thing and you want to reach exactly that far in.

The mechanism is the same as its siblings. It clones your model, walks the diffusion model's named parameters, and for each block prefix multiplies .weight tensors by that block's weight value and .bias tensors by its bias value, via ComfyUI's patch system. Everything defaults to 1.0 (no-op), and it outputs the patched MODEL for your sampler.

The mental model that makes this usable

You can't meaningfully tune 76 knobs by feel, so don't try. Think of the SDXL UNet in thirds: input blocks (early, high-res structure), middle block (the bottleneck, composition), output blocks (progressive reconstruction of fine detail). The overwhelming majority of useful adjustments live in two places: input_blocks_0 - the first layer, where boosting weight is a classic way to add crispness - and the output_blocks range, where per-block gains shape texture. If you've come from the LoRA-block-weight world (A1111's block weight UI), this is the same idea expressed as a model patch: a block-weight LoRA tunes adapters; this tunes the model's own weights.

Keep gains small. A 1.05 on output_blocks_4_weight is a reasonable starting nudge; a 1.2 is a statement. The node gives you no safety rails - no normalization, no damping - and overshooting a block yields crunchy, oversharpened output that's hard to unsee.

How it relates to the rest of the pack

The pack's Donut Block Calibration node exists precisely because hand-tuning 76 sliders is miserable: it analyzes two models and derives block magnitudes automatically, then emits the calibration info you'd otherwise have to find by hand. If your goal is "make merged model A behave like reference model B in terms of block energy," you want calibration, not this node's slider marathon. This node is the manual instrument; calibration is the automated one.

Note the naming, again: "detailer" here means model patch, not face-detailer. There's no detection, no mask, no inpaint. If a face came out mangled, this isn't the node - Impact Pack's FaceDetailer is. This is for shaping how the whole model renders detail across a batch.

Installing

Ships with the pack: ComfyUI Manager → search DonutNodes, or git clone the repo into custom_nodes/ and pip install -r requirements.txt with the same Python that launches ComfyUI. No model downloads. Patches apply at run time, so change a slider, re-run the graph, and compare - and if you're testing several blocks, change one at a time so you know which knob moved the needle.

CategoryModel Patches

Inputs (45)

NameTypeDefaultDescription
modelMODEL
input_blocks_0_weightFLOAT1.000-10–10
input_blocks_0_biasFLOAT1.000-10–10
input_blocks_1_weightFLOAT1.000-10–10
input_blocks_1_biasFLOAT1.000-10–10
input_blocks_2_weightFLOAT1.000-10–10
input_blocks_2_biasFLOAT1.000-10–10
input_blocks_3_weightFLOAT1.000-10–10
input_blocks_3_biasFLOAT1.000-10–10
input_blocks_4_weightFLOAT1.000-10–10
input_blocks_4_biasFLOAT1.000-10–10
input_blocks_5_weightFLOAT1.000-10–10
input_blocks_5_biasFLOAT1.000-10–10
input_blocks_6_weightFLOAT1.000-10–10
input_blocks_6_biasFLOAT1.000-10–10
input_blocks_7_weightFLOAT1.000-10–10
input_blocks_7_biasFLOAT1.000-10–10
input_blocks_8_weightFLOAT1.000-10–10
input_blocks_8_biasFLOAT1.000-10–10
middle_block_0_weightFLOAT1.000-10–10
middle_block_0_biasFLOAT1.000-10–10
middle_block_1_weightFLOAT1.000-10–10
middle_block_1_biasFLOAT1.000-10–10
middle_block_2_weightFLOAT1.000-10–10
middle_block_2_biasFLOAT1.000-10–10
output_blocks_0_weightFLOAT1.000-10–10
output_blocks_0_biasFLOAT1.000-10–10
output_blocks_1_weightFLOAT1.000-10–10
output_blocks_1_biasFLOAT1.000-10–10
output_blocks_2_weightFLOAT1.000-10–10
output_blocks_2_biasFLOAT1.000-10–10
output_blocks_3_weightFLOAT1.000-10–10
output_blocks_3_biasFLOAT1.000-10–10
output_blocks_4_weightFLOAT1.000-10–10
output_blocks_4_biasFLOAT1.000-10–10
output_blocks_5_weightFLOAT1.000-10–10
output_blocks_5_biasFLOAT1.000-10–10
output_blocks_6_weightFLOAT1.000-10–10
output_blocks_6_biasFLOAT1.000-10–10
output_blocks_7_weightFLOAT1.000-10–10
output_blocks_7_biasFLOAT1.000-10–10
output_blocks_8_weightFLOAT1.000-10–10
output_blocks_8_biasFLOAT1.000-10–10
out_weightFLOAT1.000-10–10
out_biasFLOAT1.000-10–10

Outputs (1)

NameTypeDescription
MODELMODEL