ComfyUI Node

TextBox (UTK)

A plain multiline text box that just holds a string

By whmc76·Created about a year ago·Updated 2 months ago· 72
TextBox (UTK)
    • text
    texttext

    This is a node that gives you a big multiline text box and passes whatever you type straight through. That's it. It's the most boring node in the pack, and it earns its place for one specific reason: a lot of ComfyUI nodes only accept text as an input connection, not as something you can type into directly. When a node like Text Concatenate (UTK) forces its string fields to be wired, a dedicated text box is the natural thing to feed them.

    It's also just a nice way to keep prompts, base descriptions or batch prefixes in one visible, editable place in your graph instead of buried in a small single-line widget. One text box, one wire, and the rest of the workflow reads from it.

    How it works

    It's a one-line implementation: a STRING input marked multiline, and a function that returns that string unchanged. There's no processing, no formatting, no trimming - the text goes in and the same text comes out the text output. The default value is the string "text", so if you forget to type anything, that's literally what you'll get downstream. Worth knowing before you wire it into a prompt and wonder why everything generates "text".

    The input and output

    • text (input) - multiline string, default "text". This is the box itself; type here.
    • text (output, STRING) - the same string, unmodified. Wire it to any text-consuming node: CLIP Text Encode, Text Concatenate, a captioning node, whatever.

    That's the whole interface. No knobs to mis-set.

    Installing it

    Standard pack install - ComfyUI Manager, search "ComfyUI-UniversalToolkit", install and restart, or:

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

    Pure Python, no dependencies beyond what ComfyUI already ships.

    Where people get burned

    • It's a passthrough, not a store. It holds the current value while the graph runs; it's not a persisted variable that updates when something else changes.
    • Default value is "text". If your prompts come out as the word "text", this is why. Blank it out or set a real default.
    • Don't expect it to do what a note node does - if you just want an annotation stuck to the canvas, this isn't it, because it emits a STRING and will happily feed that string into whatever you wire it to.

    It's a genuinely thin utility, but when you hit the "this input needs a wire, not a widget" wall it's the difference between adding a whole prompt-builder pack and adding one node.

    CategoryUniversalToolkit/Text

    Inputs (1)

    NameTypeDefaultDescription
    textSTRINGtext

    Outputs (1)

    NameTypeDescription
    textSTRING