Nodes/BV Node Pack/πŸŒ€ BV Inspect Any
ComfyUI Node

πŸŒ€ BV Inspect Any

BV Inspect Any Is Your ComfyUI Text Probe

By BlackVortexAIΒ·Created 9 months agoΒ·Updated about 18 hours agoΒ· 6
πŸŒ€ BV Inspect Any
  • value
  • text

ComfyUI is one of the most opaque image programs you'll ever run. Every wire in the graph is a black cable carrying something you can't see - even after you hit Queue, nothing tells you what actually flowed through it. When a workflow breaks or quietly does the wrong thing, you can't just print(). That's the gap BV Inspect Any plugs: a text probe you hang on any wire, run, and read a clean, bounded dump of whatever arrived.

What it is

BV Inspect Any comes from the BV Node Pack (BlackVortexAI), and it's about as simple as a debug node gets: one input socket that accepts anything, one STRING output, and an in-node preview after you run. The pack changelog calls it "readable in-node previews and string pass-through of arbitrary values." The "pass-through" part is the sleeper feature: unlike a plain Show Text node that only displays, this one also passes the text out on a wire you can feed to BV Text Log Writer.

Why you'll actually reach for it

The plumbing layer of ComfyUI exists to fight repetition and illegibility, and this node is squarely on the legibility side. The ecosystem's biggest debugging controversy, the "Please Stop using Anything Anywhere" backlash, was about nodes that erase type information until a graph becomes unreadable. BV Inspect Any is the opposite philosophy: it reads a wire and tells you the truth about it, in text, without changing what flows through. When a Smart Pipe, a regional prompt, or a text-encoding node hands you garbage, this is how you find out where it started.

The classic case: your workflow renders but the image is wrong, and you suspect a prompt or LoRA name is getting mangled upstream. Wire BV Inspect Any onto the text output, run, and you'll see the exact string (or exact JSON) the next node received. Same deal for a seed or a pipe's contents - any value, anywhere in the graph.

How it works

The input is typed * - ComfyUI's ANY wildcard - and it's forceInput, so you can't type a value in; you have to wire something to it. It only ever reports on real data.

Under the hood it walks the value with a strict budget so it never explodes on you:

  • Strings pass through as-is, capped at 16,384 characters and 256 lines, with a … truncated marker when they hit a limit.
  • Numbers survive the nasty cases: NaN and infinity print as themselves, and a 100,000-bit integer collapses to <int bits=100001> instead of stringifying a monster.
  • Dictionaries and lists render as pretty-printed JSON, bounded to a depth of 6 and 128 items, with cycle detection so a self-referencing object can't hang the graph.
  • Bytes become a short hex dump of the first 32 bytes plus the length.
  • Tensors and model objects (torch/numpy tensors, ModelPatcher, CLIP, VAE, conditioning) get a compact summary like <torch.Tensor shape=[1, 4, 64, 64] dtype=float32 device=cuda:0> - deliberately not dumped in full, since materializing a latent's samples would eat your VRAM.

Because it's an output node, it always executes each run like Preview Image and Save Image - no stale-cache surprises. The preview header shows the value's type name and a "truncated" flag, plus a copy button.

Install

Install it the standard way: in ComfyUI Manager, search "BV Node Pack" and hit install, or clone:

cd ComfyUI/custom_nodes
git clone https://github.com/BlackVortexAI/bv_nodepack.git

Then restart ComfyUI and hard-refresh the browser - the README is explicit about both. There's no requirements.txt and no model download involved; the inspect node itself has zero extra dependencies. One honest caveat: it's a small tool inside a big pack - BV Node Pack is primarily a visual regional-prompting suite. If you only want a text probe, that's a lot of machinery; if you use any BV node, it rides along for free.

Common issues & troubleshooting

Most "problems" with this node are expectations, not bugs:

  • The preview is empty until you run the graph. It sits on "Waiting for execution" before the first run - by design, since there's nothing to inspect until a value arrives.
  • Tensors don't show their contents. You get shape, dtype, and device, not the data - it tells you what kind of thing is on the wire and whether it's sane, not what a latent holds.
  • You can't type into it. The input is force-input only; typing a value and getting nothing is not a bug.
  • It's read-only. The node never alters what passes through, so it can't fix anything - purely diagnostic.

The one real gotcha is the pack's frontend machinery: the README's repeated "hard-refresh the browser" advice exists because stale cached UI has confused people after updates. Do it after installing or updating, and the probe will behave.

CategoryπŸŒ€ BV Node Pack/utils

Inputs (1)

NameTypeDefaultDescription
value*β€”

Outputs (1)

NameTypeDescription
textSTRINGβ€”