ComfyUI Node

String Output

The tiny node that shows you what's actually in the wire

By mullakhmetov·Created 2 years ago·Updated 2 years ago· 0
String Output
    • STRING
    text

    When something's wrong in a ComfyUI workflow, the hardest question is usually "what value is actually flowing through this wire right now?" You built a prompt out of three other nodes and the output isn't what you typed. String Output is the node that answers that question instantly: wire any string into it, and it displays the text in a floating panel while passing the value straight through to whatever comes next.

    That's the whole job, and it's the same family as WAS's Show Text and rgthree's Display Any - the "let me see what's in the graph" tier of the ecosystem. The difference here is the form factor: dead simple, one input, one output, no settings to fiddle with.

    How it works

    String Output is an output node - its FUNCTION returns {"ui": {"text": text}, "result": (text,)}. The ui part is what ComfyUI renders in that panel; the result part is what gets passed down the wire. So it's simultaneously a monitor and a passthrough.

    Two details in the source are worth knowing. First, it sets INPUT_IS_LIST = True, meaning it accepts a list of strings, not just one - handy if you're feeding it a batch of prompts. Second, its output is advertised as a string list too (OUTPUT_IS_LIST), so it's happiest feeding nodes that accept a STRING list rather than something expecting a single value. If you only have one string, that's fine; it just wraps it.

    Inputs and outputs

    There's exactly one input: text (STRING). Notice the source sets forceInput: True and no default value - there's no text box, nothing to type. This is a pure socket: it only ever shows what you wire into it. The one output is STRING.

    Because it's an output node, there's a second, less obvious payoff. When you run a workflow through ComfyUI's API (which is what a script does when it POSTs a workflow JSON and reads back the result), output nodes get included in the response. So if you're building an automated pipeline, String Output is how you surface a value out of the run - a filename, a prompt, an error message - without screenshotting the UI. That's exactly the "dynamic workflow" angle this pack is built for.

    Installing it

    The pack ships with no requirements.txt and no models - it only uses os, plus the torch/PIL/numpy that ComfyUI already has. So install is two minutes, no dependency roulette:

    • ComfyUI Manager: search comfyui_dynamic_util_nodes (search by the pack title, not "String Output" - that name shows up in a dozen packs). Install, restart.
    • Manual:
      cd ComfyUI/custom_nodes
      git clone https://github.com/mullakhmetov/comfyui_dynamic_util_nodes
      
      Then restart ComfyUI.

    One honest caveat: this is a very young project - the README is essentially a title and nothing else, and the pack is at version 0.0.1. The code is small and readable if you want to sanity-check it before trusting it, which given the ecosystem's malware history is never a bad reflex.

    Where people get tripped up

    • "I can't type anything in it." Correct - that's by design. If you need a string source, wire in a text node from another pack or a CLIP Text Encode's string, not this node.
    • "The text isn't showing." Output-node panels can be easy to miss; check the workflow's output/queue area, and make sure the node is actually connected to something that runs.
    • "It says it's a list." If a downstream node rejects the connection, that's usually the list-vs-single mismatch - insert a node that unpacks lists, or just read the panel and move on. For a debug node, that's the honest use.
    Categoryutils

    Inputs (1)

    NameTypeDefaultDescription
    textSTRING

    Outputs (1)

    NameTypeDescription
    STRINGSTRING