π Text Input
The text box ComfyUI should have shipped β nothing more, nothing less
- text
Here's a node that needs zero hand-waving to explain. The Text Input is a multiline text box with one output. You type a prompt, a filename, a caption, a note - anything - and it comes out the other side as a clean STRING. That's the whole feature list, and honestly, a lot of ComfyUI work is built out of exactly this.
Why does something this dumb need to exist? Because a plain text widget on a node only holds its own value, and once you start building larger workflows you keep wanting a text value that's a first-class object - something you can route to a CLIP text encoder, concatenate with other strings, or feed into a script. ComfyUI has text inputs all over the place, but this pack treats text as a standalone data type with a named output you can grab from anywhere. It's the "source of truth" node for a prompt you want to reuse across several consumers without duplicating the widget.
How it works
The implementation is as boring as it sounds. One multiline STRING widget (default text: "Your text here..."), and the node returns that string untouched on its text output every run. No processing, no encoding tricks, no hidden state. What you type is what comes out.
The value is also part of the saved workflow, which is the quietly important part: like every widget value in ComfyUI, whatever you type gets embedded in the PNG metadata when you save an output. Type your prompt here and the workflow you share carries it automatically - the community's whole "workflow included" convention depends on exactly this mechanism (see the KB's image-io-metadata doc for how deep that rabbit hole goes).
Inputs and outputs
- Input:
text(STRING, multiline) - the editable content, default"Your text here...". - Output:
text(STRING) - the same content, passed through.
One widget in, one wire out.
Where it fits
This is the pack's basic building block for text. Wire it into a CLIP Text Encode for a positive or negative prompt, feed it into the Text Road concatenator when you're assembling prompts from fragments, or drop it into a Logger to sanity-check what a string actually contains. It's also handy for storing a label or a filename component you want visible at a glance rather than buried in a script node.
Troubleshooting
About the only thing that can surprise you: the value is not cleared between runs, and it's stored per-node, so copy-pasting a workflow brings the text along. If you're reusing a template, double-check the box actually holds what you think it does - a stale prompt in an invisible Text Input has sent more than one person down a debugging rabbit hole.
Installing it
It ships with Orion4D_MetaNode, like all the nodes in this pack:
cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_MetaNode
Or install via ComfyUI Manager (search "Orion4D_MetaNode") and restart. It shows up under Orion4D_MetaNode β UI Widgets. No dependencies beyond what ComfyUI already installs, no models to download. Fair context: this is a young, one-developer pack with a small footprint, so treat the node as a handy utility rather than a standard you'll see in every shared workflow.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Your text here... | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | β |