ComfyUI Node

Beautify

The debug node this pack is secretly loved for

By Trung0246·Created 3 years ago·Updated about a year ago· 137
Beautify
  • data
    mode

    Beautify is the pack's debug node, and - funnily enough - the node people actually gush about. When the author posted the JunctionBatch + Loop update back in 2023, a reply called it "the most powerful debug node we have to date. I finally can see exactly what's happening with any output on the workflow," and someone else chimed in with "I use beautify everywhere now." For a pack that describes itself as "random nodes ... have varying quality," that's a decent reputation to have.

    It solves a real ComfyUI pain. When you wire a custom pipe type - a Highway pipe, a Junction pipe - into a normal node, ComfyUI can't show you what's inside; you just get a wire and a guess. Beautify takes whatever you connect to data (it's a * wildcard, so it accepts anything) and recursively prints the structure as text in the UI. No outputs, because it's an output/display node: it exists to be the last thing on a wire while you're figuring out what that wire actually carries.

    How it works

    The mode enum picks how deep the inspection goes:

    • basic - the minimal view: types and keys, not contents.
    • more - everything from basic plus the actual values, but it stops expanding when it hits a non-iterable object (like a tensor or a model).
    • full - recursively expands as much as possible. This is where you'll actually find the RevisionDict innards of a Highway or Junction pipe.
    • json - tries json.dumps on the input. Clean output when the data is serializable; if it isn't, you get "Cannot convert to JSON." straight from the source.
    • wat - dumps the object through wat-inspector, which shows everything, including memory-ish internals. This is the "I have no idea what this thing is" escape hatch.

    The heavy lifting is beautify_structure in the pack's utils.py - a recursive formatter that walks lists, dicts, and the pack's internal RevisionDict pipe structures and lays them out as readable text.

    The inputs that matter

    There's genuinely one input that matters: mode (the five-way enum above). The optional data is a wildcard that accepts any single output - stick it on the end of a Highway pipe, a Junction pipe, a list, a dict, or a plain tensor and hit run. Start with more for day-to-day checks, jump to full when you're debugging the pack's own pipes.

    How to install it

    Standard for this pack - ComfyUI Manager, search "ComfyUI-0246", or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Trung0246/ComfyUI-0246
    

    then restart. No models, no heavy deps. One caveat: wat mode needs wat-inspector, which is in the pack's requirements.txt but is very much an optional extra - if it's not installed you'll get an import error when you pick wat. If you never use that mode, don't worry about it.

    Common issues & troubleshooting

    "Cannot convert to JSON." Expected - your data has tensors or custom objects in it. Switch to full, which doesn't try to serialize, just print.

    wat mode errors out / nothing shows. wat-inspector isn't installed or your ComfyUI Python env lost it. It's the only dependency this mode needs; pip install wat-inspector into ComfyUI's Python fixes it.

    Nothing appears in the UI. Beautify's output goes through the node's ui text result - check that the node isn't muted or bypassed. A muted output node prints nothing and tells no one.

    Category0246

    Inputs (2)

    NameTypeDefaultDescription
    modeCOMBO5 options: basic, more, full, json, wat
    dataopt*

    Outputs (0)

    No outputs