Nodes/ApoStudio/ApoStudio Display
ComfyUI Node

ApoStudio Display

Show Any, without the third-party node — ApoStudio Display prints anything in the node body

By ApoloniArt·Created 4 months ago·Updated 5 days ago· 5
ApoStudio Display
  • anything
  • text

If you've ever wired an LLM node and wondered where the answer actually went, this is the node that answers it. ApoStudio Display takes any input you throw at it - a string, a number, a list, a dict, even ApoStudio's own APO_HISTORY type - and renders it as readable text right in the node body after each run. It's the pack's built-in "Show Any," which saves you hunting down a third-party display node just to debug a chat workflow.

How it works. The input is typed as the wildcard (ANY), ComfyUI's escape hatch that accepts a connection from any socket - the same trick every switch and "any" node uses. Whatever arrives, the node renders it: strings pass through, lists and dicts get pretty-printed as JSON with indentation, everything else gets str()'d. A small bit of frontend JavaScript (shipped with the pack, served automatically) then draws the text into a read-only multiline widget on the node itself. It's also an output node, which means it runs every time its branch is live - that's exactly what you want from a display, and it's what keeps the branch from being skipped by ComfyUI's cache.

There's a nice touch under the hood: the last displayed text gets written back into the workflow JSON, so the output survives a save/reload of your workflow. Handy when you come back to a saved chat graph and want to see what the last run said.

Inputs and output. One input, anything (accepts any type, optionally left unconnected - it just renders empty). One output, text (STRING), which passes the displayed text downstream for chaining. So you can Display a response and keep feeding that text into whatever's next.

Install. ComfyUI Manager (search "ApoStudio") or:

cd ComfyUI/custom_nodes
git clone https://github.com/apoloniart/ApoStudio
pip install -r custom_nodes/ApoStudio/requirements.txt

Just requests and Pillow, no models. Restart and it's under the ApoStudio category (search "apo").

Where it fits. In practice, this is the node you wire Chat's response, full_context, and token_usage into - or History's history_md if you want the whole conversation as readable Markdown. It's a debug-and-read tool, not a logger: the text lives in the workflow, so it won't accumulate a log across runs. And since it's an output node, be aware that leaving it wired keeps that whole branch live - fine for a chat graph, mildly annoying if you chain it into something you're trying to silence. For a node whose entire job is making invisible data visible, it's about as painless as this gets.

CategoryApoStudio

Inputs (1)

NameTypeDefaultDescription
anythingopt*

Outputs (1)

NameTypeDescription
textSTRING