Debug Data (Any Input)
See exactly what's flowing through that wire
- any_input
- debug_text
Debug Data (Any Input) is the "what is this wire actually carrying?" node. ComfyUI is a black box in the worst moments - a node's feeding you something, but is it an image or a latent? What resolution? What batch size? What dtype? This node takes any input and prints a human-readable summary straight onto the node, covering Python type, tensor shape, dtype, device, image resolution, aspect ratio, batch size, and latent pixel size. It's the first node you reach for when a workflow is producing garbage and you don't know which connection to suspect.
How it works
The input port accepts any type (*), and the analysis is a friendly if statement cascade:
- 4D tensor with channels last (HWC) → detected as an image: resolution, aspect ratio, batch size, channels.
- 4D tensor, channels first (NCHW) → flagged as raw latent: latent size plus the pixel resolution at ~8× (since latents are stored 8× smaller than pixels).
- 3D tensor → detected as a mask: resolution and batch.
- A dict with a
sampleskey (the standard latent format) → latent size, pixel res, aspect ratio, batch. - Lists → length and a sample of the first element.
- Numbers, bools, strings → type and value.
- Anything else → type and a truncated string.
The output is debug_text (STRING), so you can also wire it to a save node or the console if you want the report in a file rather than on the node. It's marked as an output node, meaning it renders its text on-screen without needing a display node.
This is especially handy in a pack that deals in stateful and type-preserving tricks - when a match-type node has silently coerced your IMAGE into something else, Debug Data is how you find out in two seconds instead of twenty minutes of guessing.
Installing
Part of ComfyUI-Flow-Assistor - ComfyUI Manager (search "Flow Assistor") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Merserk/ComfyUI-Flow-Assistor.git
Restart after cloning. Current ComfyUI required (V3-only pack); no extra dependencies.
Where people get burned
It's a diagnostic, not a passthrough - route the wire to the debug node (or branch it), don't build your pipeline through it, because the only output is text. Also, its type detection is heuristic, and the corners it can't confidently identify it labels conservatively ("RAW LATENT/NCHW" is a guess based on channel count, not certainty), so treat the labels as strong hints rather than gospel. And a practical note: the on-node display updates on execution, so if the text looks stale, re-run the graph - the node doesn't live-update as you drag wires around.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| any_input | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| debug_text | STRING | — |