Nodes/Skoogeer-Noise/AnythingToMarkdown
ComfyUI Node

AnythingToMarkdown

Stop Guessing What's in That Socket

By ttulttul·Created 8 months ago·Updated 2 months ago· 14
AnythingToMarkdown
  • anything
  • markdown

Every ComfyUI user has stared at a socket and wondered what's actually inside it. Latents, images, conditioning lists - they all render as opaque little dots until you decode them, and even then you only get a picture, not a story. AnythingToMarkdown is the node that answers "what is this, really?" It takes any value on any socket and formats it as a readable Markdown summary: type, shape, statistics, contents - scaled so you can actually digest it.

It's a debug tool, unapologetically, and the Skoogeer-Noise pack filed it under text/debug for a reason. Where it earns its keep: checking whether a conditioning list has the shape you expect, confirming a latent's dtype and device before a node errors on a mismatch, or dumping a list to see how many items are in it and what they look like. It also doubles as its own output node - it publishes the Markdown to the UI, so you can just drop it on a socket and look at the results panel.

How it works

The node detects common ComfyUI-native structures - LATENT dicts, IMAGE tensors, CONDITIONING lists - and regular Python containers and scalars. Tensors get summarized by shape, dtype, device, element count, min, max, mean, and standard deviation; raw contents are not dumped (you don't want 100k pixel values in your face). Lists are inspected item-by-item, and container summaries are bounded so big inputs stay readable. The markdown output is a single list-aware STRING, so downstream text nodes receive the document itself rather than a wrapped list.

The inputs that matter

  • anything - literally any socket. Wire it up and look.

Output: markdown (STRING).

Installing it

Part of Skoogeer-Noise. Manager → search "Skoogeer-Noise", or:

cd ComfyUI/custom_nodes
git clone https://github.com/ttulttul/Skoogeer-Noise

Restart ComfyUI. Deps are torch, numpy>=1.26, einops, pyyaml>=6.0.3; no model downloads.

Common gotchas

Set expectations: this summarizes, it doesn't excavate. You'll get shape and statistics for a tensor, not its values - which is almost always what you want when debugging a shape mismatch. If you need the Markdown string inside another text node, note it's a list-valued STRING, so feed it through the pack's Join Text List if the downstream node only reads the first item. And don't leave debug nodes in a workflow you render at scale - they're cheap, but they're also not doing anything for your output.

Categorytext/debug

Inputs (1)

NameTypeDefaultDescription
anything*Any ComfyUI or Python value to summarize as Markdown. Tensors are summarized by shape and statistics rather than raw contents.

Outputs (1)

NameTypeDescription
markdownSTRING