Nodes/comfyui-lumi-tools/Lumi Show Text
ComfyUI Node

Lumi Show Text

See what that text node actually output — a debug window that stays in the save

By illuminatianon·Created 9 months ago·Updated 4 months ago· 0
Lumi Show Text
    • text
    text
    displayed_text

    Lumi Show Text is the pack's answer to "what did that node actually produce?" You hook any STRING output into it and it displays the value right on the node, which sounds trivial until you're debugging a wildcard chain that resolved to something you definitely did not write. Then it's the difference between fifteen seconds of confusion and fifteen minutes.

    The trick that separates it from a plain display node: it writes the text back into the workflow. The displayed value gets pushed into its own displayed_text widget and patched into the saved workflow data, so when you save the graph and reopen it, the last-resolved text is still there on the node. That's a surprisingly big deal for reproduction - you can look at a shared workflow and see exactly what a wildcard picked, not just the wildcard syntax that produced it.

    The inputs and output

    • text - the STRING you want to view. It's force-input, so this is a terminal node: connect the output of an LLM processor, a shuffle, or a wildcard here to inspect it.
    • displayed_text (optional) - the editable copy of the value that the node updates as it runs. This is the widget you see, and it's how the value survives the save.
    • Output: text, the same string passed through as a list - handy if you want to keep the value flowing into something else while also viewing it.

    It's an output node, so it's meant to sit at the end of a text branch and be the last thing in that chain.

    Installing

    cd ComfyUI/custom_nodes
    git clone https://github.com/illuminatianon/comfyui-lumi-tools
    cd comfyui-lumi-tools
    uv sync
    

    Restart ComfyUI, or search "Lumi Tools" in ComfyUI Manager. No extra dependencies.

    Where it shines and where it doesn't

    The shining case: debugging. If your wildcard processor is resolving to garbage, or your LLM rewrite came back with a formatting mess, park a Lumi Show Text on that output and you'll see exactly what went downstream. The "stays in the save" behavior is the reason to prefer it over core Show Text for anything you plan to share.

    The caveat: it displays, it doesn't format. A huge multiline block from an LLM arrives as one big blob - there's no JSON pretty-printing or syntax highlighting. And since it's a terminal output node, don't expect it to be part of the compute path; if you're checking a value mid-pipeline, wire its pass-through output forward so the branch keeps living. One thing to expect: it pushes the value to the node through the pack's feedback channel (lumi-node-feedback), so the widget updates as part of execution - if the display looks stale, rerun the queue rather than staring at an old value.

    CategoryLumi/Utils

    Inputs (2)

    NameTypeDefaultDescription
    textSTRING
    displayed_textoptSTRING

    Outputs (1)

    NameTypeDescription
    textSTRING