String (multi-line)
String (multi-line)
- STRING
Same idea as the pack's plain String node, one difference: the text box is multi-line. You get a big resizable box where you can write a prompt the way you'd write a paragraph, instead of a cramped one-liner. It's the node you reach for when a prompt is long enough that reading it in a single-line field makes your eyes bleed.
The output is still a single STRING, and here's the part people get wrong on their first try: the multi-line input does not survive to the output. Every string through this pack gets trimmed, and the trim helper collapses newlines, tabs, and runs of spaces into a single space. So this:
a cozy cabin in the woods,
snow on the roof,
warm light in the windows
comes out as a cozy cabin in the woods, snow on the roof, warm light in the windows - one line, newlines turned into spaces. That's usually exactly what you want: you write for readability, ComfyUI gets a clean single prompt string. It is not a way to get BREAK segments or line-based chunks; if that's your goal, look at Encode (multi-str) in the same pack, which splits lines into separate conditioning chunks on purpose.
Where it genuinely earns its place: writing long natural-language prompts for Flux-class models, where sentences read far better across multiple lines, and where a long prompt is expected rather than truncated. It's also a good home for a big negative prompt block you want to keep readable.
Installing it
ComfyUI-Prompt-Helper ships no dependencies of its own - nothing beyond what ComfyUI already installs (torch, Pillow, yaml). No models to download. Install through ComfyUI Manager by searching for ComfyUI-Prompt-Helper, or:
cd ComfyUI/custom_nodes
git clone https://github.com/elypha/ComfyUI-Prompt-Helper
Restart ComfyUI afterwards and it appears under prompt_helper.
The gotcha to remember
The one input is string (multi-line, default empty), and the one output is STRING. There's no setting to preserve your line breaks - the collapse is unconditional. If you genuinely need newlines in the value that reaches a downstream node, this isn't the node for it; use a plain text primitive and don't route it through this pack's trim. For everyone else: a comfy box, a clean single-line prompt on the other side, and one less thing to clean up before encode.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| string | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |