◎ Radiance Show Text
Stop squinting at JSON strings in the node graph
- any_input
- text
Some of the most useful things in a workflow are strings: a QC report, a sigma schedule summary, a model's metadata, a prompt. And ComfyUI's default way of showing you those is... a wire you can't see into. ◎ Radiance Show Text fixes that: connect anything and the node renders it as text right on the canvas, and hands it back out as a string.
This is the Radiance version of a utility that every serious pack ships - the "show me what's in this pipe" node. It's a debugging tool first, and once you've used it to inspect a model_meta JSON or a QC verdict you'll keep one permanently parked at the end of your telemetry wires. It's also handy for a workflow that ends in text: instead of a silent node, you get the output visible where you're looking.
How it works
The any_input socket is a * wildcard, so it accepts strings, numbers, dictionaries, lists, tensors, whatever - same escape-hatch mechanism the KB's plumbing doc describes for any-type nodes. On execution it serializes what it received: strings pass through as-is, numbers are stringified, dicts and lists get pretty-printed as indented JSON, and anything else falls back to str(). The rendered text is sent to the frontend and drawn on the node (via the ui payload), and the same text comes back out as the text STRING output.
One structural detail worth knowing: INPUT_IS_LIST is set, and the node processes its input as a list of values, concatenating them. So a batch of strings, or several inputs feeding the same socket, all show up - which is exactly what you want when you're dumping per-frame data. The output type is a plain STRING, so you can chain it into a file-write node or feed it somewhere else that expects text.
The inputs that matter
Genuinely one input: any_input (wildcard, required, forced as an input socket - you connect it, you don't type into it). And the one output, text (STRING), which is both the display payload and a passable value.
How to install it
It's in the radiance pack. ComfyUI Manager → "Radiance", or:
cd ComfyUI/custom_nodes
git clone https://github.com/fxtdstudios/radiance.git
cd radiance
pip install -r requirements_windows.txt
Restart, and it's under FXTD Studios/Radiance/Utilities. There's a small frontend component (the node renders text on the canvas), so if the text isn't showing after an update, hard-refresh the browser tab.
Common issues
The one gotcha is expectation around big data: this node is for reading, not for plumbing gigabytes. Feed it a giant tensor and str() will produce an unreadable wall of brackets - that's user error, not a bug; stick to strings, numbers, and JSON-serializable structures. Also, because it's a wildcard node with forceInput, you can't just type a value into the widget like a text node - it must be wired, so it's useless as a "manual note" node. For that, the pack has Radiance Note. And since the output is text you can pass onward, don't forget it's not just a display: you can use it to re-format or re-dump a JSON string into a downstream node.
For the "what is actually coming out of this thing" moment, it's the fastest answer in the pack.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| any_input | * | Connect any string, number, dictionary, or list to display it. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |