Const String (multi line)
A plain textarea that outputs its own text
- STRING
There's no trick here, and I'd rather tell you that up front than dress it up. Const String (multi line) is a big text box that outputs exactly what you type into it. That's the entire node. What makes it worth knowing about is where it's useful, not what it does.
How it works
One input, string, set to multiline, so you get a proper resizable textarea instead of a single-line field. It passes the text through unchanged as its output. No parsing, no templating, no weighting - that's what the rest of this pack's nodes are for. This one exists purely so you have somewhere to put a block of text that you want to see, edit, and reuse as its own labeled node in the graph, instead of it living buried as a widget inside a bigger node.
Inputs and outputs that matter
- string - the only field, multiline. Paste or type as much as you want.
Output is a single STRING, unmodified, ready to feed CLIP Text Encode, Join String List, Format String, or any of the preset/tag nodes elsewhere in this pack that take a string input.
Installing it
Search ComfyUI-PromptUtilities in ComfyUI Manager, or:
cd ComfyUI/custom_nodes && git clone https://github.com/nkchocoai/ComfyUI-PromptUtilities
Restart, and it'll be sitting under the PromptUtilities category. It's pure Python, no models or dependencies to worry about - genuinely the lowest-risk install in this pack.
Where it actually earns a spot on your graph
Two real uses. First: on the current wave of LLM-encoded models - Flux.2, Z-Image, Qwen-Image - prompting works better as full, natural-language sentences rather than comma-tag lists, and those sentences run long. A dedicated multiline node keeps that paragraph readable and editable in one place instead of squeezed into a single-line widget.
Second: any of this pack's other nodes with a plain string field - the choice_preset box on Random Preset, say, or a pattern in Replace or Insert Tag - can have that widget converted to an input (right-click the node → convert widget to input, standard ComfyUI behavior). Once it's an input, you can wire a Const String (multi line) into it, which is handy if you're maintaining the same block of text in more than one place and want to edit it once rather than in five different node bodies.
Where people get burned
Honestly, not much to trip over - it's a text box. The one thing worth remembering is that it does nothing with weighting syntax like (tag:1.2). If you're pasting a block that includes attention-weighted terms for an SDXL or SD1.5 workflow, that's fine, they pass through untouched; just don't expect this node to validate or format them. That job belongs to Prompt Weight and Round Prompt Weight elsewhere in the pack.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| string | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |