LayerUtility: PrintInfo
PrintInfo — a debug probe you plug into anything to see what's actually there
- anything
- text
Every complex graph eventually has a point where you genuinely don't know what's flowing through a wire - is that mask actually populated, is this an image or a batch of five, did that upstream node silently produce something unexpected? PrintInfo is the "just show me" node: wire literally anything into it - image, mask, string, number, a whole model object - and it dumps useful information about it to the console, while also passing a text version of that information out as an output you can view directly in the UI without even checking the console.
How it works
Its input, anything, is genuinely untyped - ComfyUI lets a node accept a wildcard type, and this is exactly where that's useful, since a debug probe that only worked on images would be a lot less useful than one that works on whatever you happen to be confused about at the moment. It's marked as an output node, which is what makes it show its result directly in the ComfyUI interface rather than requiring you to dig through server logs - though the console output is there too if you want the raw detail. Because it doesn't consume its input in any destructive way, you can splice it into the middle of an existing chain - connect it as a side-branch off any wire - without disturbing whatever that wire was already feeding.
The inputs and outputs that matter
One input - anything - that's the whole interface. One output, text (STRING), which is the same information rendered as text, so you can chain it into a Save Text node, display it in the UI, or just glance at it while iterating on a workflow.
How to install it
Search ComfyUI Layer Style in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle
pip install -r ComfyUI_LayerStyle/requirements.txt
Restart; find it under 😺dzNodes → LayerUtility → Data. No dependencies beyond the base pack.
Common issues
There's very little to go wrong with a debug node by design, but a couple of things are worth knowing before you rely on it in a busy graph. First, it's meant to be temporary - a lot of people leave PrintInfo nodes scattered through a "final" workflow after they've finished debugging, which adds clutter and a bit of unnecessary execution overhead to every run; strip them out once you're done diagnosing. Second, because the input is a genuine wildcard, connecting it to something ComfyUI doesn't have a clean way to represent as text (certain complex model objects) can produce a fairly unhelpful, generic-looking dump rather than a nicely formatted report - if the printed info isn't telling you what you need, it's often more useful to probe an output one step earlier or later in the chain than to expect this node to fully introspect an opaque object type.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| anything | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |