Y7 Show Anything
The 'what is actually flowing through this wire?' node
- anything
- output
ComfyUI is great at hiding its internals. You wire something into a node, hit run, and if the output is wrong you have no idea whether the wire carried what you thought it carried. Y7 Show Anything is the node you drop on a wire to find out. Connect anything - a string, an image tensor, a mask, a latent, a conditioning list - and it shows you a readable description of what's actually there, then passes the input through unchanged so your workflow keeps working while you inspect it.
It's not a node you build workflows with. It's a node you build workflows while looking at. Think of it as the print statement ComfyUI never gave you.
What it displays
The rendering rules are straightforward and worth knowing so you can predict the output:
- Strings, ints, floats, booleans - shown as their literal value. This is the killer feature for prompt chains: wire a generated prompt in and you can see exactly what text your enhancer actually produced.
- IMAGE tensors - shape, data type, value range, mean, and standard deviation. Mean and range tell you immediately whether an image is in 0–1 or 0–255 territory, which is the classic mismatch that produces black or washed-out results downstream.
- MASK tensors - same stats, and it distinguishes the [H,W], [1,H,W], and [B,C,H,W] layouts, which matters because different nodes expect different mask shapes.
- Latents - the shape, dtype, range, mean, and std of the
samplestensor. - Lists and dicts - serialized to JSON, with tensors summarized by shape so the dump stays readable.
There's a Copy Text button on the node, which the author added on purpose: it's the "long generated prompts, for editing or use elsewhere" button. And because the node is an output node, the display persists on the graph after a run.
How it works
Under the hood it's a wildcard input (* - it matches any socket type) with INPUT_IS_LIST set, so it can accept a batch of values at once. The backend is borrowed from two well-known predecessors, and the author says so plainly: it's based on "Show Any" from yolain's ComfyUI-Easy-Use and "Show Any To JSON" from crystian's ComfyUI-Crystools, with the formatting and copy button added. If you've used those, the behavior will feel familiar. The pass-through output is a genuine wildcard too, so you can drop this node anywhere in a chain without breaking the typing.
The one input, the one output
- anything - optional wildcard, the thing you want to inspect. Leave it unconnected and it reports "No input provided."
- output - the pass-through. Connect the wire onward from here as if the node weren't there.
That's the whole schema. Simple by design.
Installing it
It lives in ComfyUI-Y7Nodes ("Y7Nodes for ComfyUI"). ComfyUI Manager → Custom Nodes Manager → search Y7Nodes → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/yushan777/ComfyUI-Y7Nodes
pip install -r requirements.txt
The pack's requirements pull in heavier stuff (transformers, sentencepiece, lmstudio) for its other nodes; Show Anything itself is pure Python + PyTorch. No model downloads.
Common issues
Two honest limitations. First, for tensors it shows stats, not a picture - there's no image preview here. If you want to actually see an image, right-click → Preview or a compare node; this one is for numbers. Second, latents are shown as their samples tensor summarized, so you'll see shape and range rather than anything visually meaningful. Neither is a bug; they're the nature of a debugging readout. The one real gotcha: leave the output unconnected and the node still runs and displays, which is fine - but if you meant to pass the value onward and forgot to wire the output, you'll wonder why the next node got nothing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| anythingopt | * | Any input type that you want to inspect or debug |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | * | — |