π Text
A multiline text box you can actually wire into things
- STRING
Prompts are strings, and ComfyUI is weirdly awkward about just holding a string. π
Text is the pack's answer to "I want a box I can type a prompt into and wire that text somewhere." It's a multiline text widget wrapped in a node: type anything, get a STRING out, done. There's no tokenizing, no encoding, no model involved - and for most of what you'll do, that's precisely the right amount of behavior.
Why you'd reach for it
The honest use case is keeping a prompt (or negative prompt, or a block of wildcard text) as a first-class value in the graph. Wire π
Text straight into a CLIP Text Encode and you've got a prompt box that lives visibly in the workflow instead of being hidden inside a node that's doing other work. It's also the natural input to the pack's own text tooling - feed it into π
Text Concatenate, an π
Text Input Switch, or the π
OpenAI GPT Chat node's prompt fields. Because the pack treats STRING as its lingua franca, almost everything in Ace Nodes plugs together with these text boxes.
How it works
The single text input is a STRING widget with multiline enabled, defaulting to empty. The output is the exact text you typed, unchanged, as a STRING. No trimming, no joining - what goes in comes out. That's the contract, and it means the node is predictable in a way a lot of fancier text utilities aren't.
Inputs and outputs
- text -
STRING, multiline, default"". - Output:
STRING.
If you need a list instead of one blob, the pack has π Text List for splitting on newlines. If you need math or resolution parsing, that's π Text To Resolution and π Expression Eval. This node is the primitive everything else builds on.
Install
Ships in the hay86/ComfyUI_AceNodes pack:
cd ComfyUI/custom_nodes
git clone https://github.com/hay86/ComfyUI_AceNodes
cd ComfyUI_AceNodes
pip install -r requirements.txt
Restart ComfyUI, then find π
Text under Ace Nodes. Manager users can search the pack title ComfyUI_AceNodes.
The caveats
The pack's install tax applies here too: the full requirements.txt pulls in heavy packages (rembg, transformers, boto3, insightfaceβ¦) that this node never touches. And one honest limitation - this is a static value, not a wildcard or a dynamic template. If you want randomized or composed prompts, you'll want to combine this with the pack's text helpers rather than expecting magic from the box itself. For a plain, reliable, wire-able string, though, it does the job with zero surprises.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | β |