Gradient Reporting
See what a merge gradient actually contains
- gradient
- STRING
- IMAGE
Gradient Reporting is a debugging tool masquerading as a report node. It takes a LAYER_GRADIENT and tells you what's in it - which layer keys have ratios, and what those ratios are. If you've been burned by this pack's silent-contract behavior (a gradient that's missing a layer key means that layer just doesn't merge, with zero errors raised), this is the node you attach before a merge to find out what you're actually about to do.
The whole gradient pipeline - Block Gradient, Attention Gradient, Gradient Operations, Gradient Edit - builds and mutates these dicts, and none of them show you the result. This node exists to close that loop. Think of it as "print the dict," but in the graph.
The inputs
- gradient - any
LAYER_GRADIENToutput from the gradient toolchain. - report -
sizeordetails. Both are text dumps, sorted with zero-padded numeric ordering so block 10 sorts after block 2 instead of before it.
The outputs
- STRING - the report text, one
layer: ratioper line. This is the output you'll actually read. Withsizeyou get the compact per-layer listing;detailsis the same shape in the current implementation. You can also wire the string into a text display node so it stays visible on your canvas. - IMAGE - declared as a second output, but the current implementation doesn't fill it for gradient reports, so treat it as a placeholder slot and don't build a workflow that depends on it. (Model Reporting is the report node that actually produces plots.)
When you'd actually use it
Three cases, in order of frequency. First, before your first merge with a hand-built gradient: confirm every layer you intended to include is present, and check you didn't accidentally filter everything down to model A. Second, after a Gradient Edit with wildcards: verify the pattern matched what you thought - unmatched patterns fail silently, and this is the only way to see it. Third, when a merge comes out wrong and you suspect the gradient: dump it, look at the ratios, and check whether the layer you blamed is even in there. It's not glamorous, but it's the difference between debugging a merge in minutes and debugging it in hours.
Install and gotchas
ComfyUI Manager (search "DareMerge") or:
cd ComfyUI/custom_nodes
git clone https://github.com/54rt1n/ComfyUI-DareMerge
Restart ComfyUI. Dependencies are matplotlib, numpy, torch, pillow - nothing to download (and matplotlib, the one dependency you might not have, is only really exercised by the plotting report nodes).
The realistic note: this is a utility node in a niche pack, and nobody writes praise threads about it. It earns its keep exactly once - when a merge mysteriously isn't happening the way the gradient implied. The report reads like a wall of key names, which is fine: you're looking for a specific key or a specific ratio, not reading it top to bottom.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| gradient | LAYER_GRADIENT | — | |
| report | COMBO | size | 2 options: size, details |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |
| IMAGE | IMAGE | — |