ZML_多文本输入_三
Three text boxes, one clean prompt — with built-in punctuation cleanup
- 文本
The small one in the ZML multi-text-input family: three multiline boxes, joined with a separator you set, with the pack's punctuation formatter on top. It's the "I have a subject, a style, and some quality tags I want assembled into one prompt" node - and for that job it's honestly better than the built-in alternatives, because it does the tidying for you.
The family tree: ZML_MultiTextInput3 (three boxes), ZML_MultiTextInput5 (five), and ZML_MultiTextInput5V2 (five single-line inputs with individual outputs). The pack's founder is a prompt-first user - the README's origin story is literally "the whole pack started from wanting to save image prompts" - so these are the daily-driver nodes, which means they've been polished by real use.
The inputs that matter
- 文本1 / 文本2 / 文本3 - your prompt fragments. Multiline, so you can paste whole blocks. Empty boxes are dropped from the join, so leaving one blank never produces a dangling comma.
- 分隔符 (default
,\n\n) - what goes between fragments. The default is the pack's signature style: comma plus two blank lines, which keeps fragments readable and plays well with CLIP encoding. - 格式化标点符号 (default on) - the interesting one. When enabled, the merged result is run through
format_punctuation_global, the pack's prompt-cleanup function. It fixes stray commas, normalizes spacing, and converts NAI-style weight syntax into SD/SDXL-friendly form (there's a whole sibling node, 文本转格式, for the full conversion). Leave it on unless you're feeding something exotic that the formatter would mangle.
The single output is 文本 (STRING) - ready to wire into a CLIP Text Encode.
When you'd reach for it
This is a prompt-building node, full stop. Three fragments is a nice sweet spot: quality tags in box 1, subject in box 2, style/artist in box 3. You get the combinatorial freedom of swapping fragments between runs (try box 3 = "watercolor" vs "cyberpunk") without rebuilding the prompt string by hand each time.
The honest alternative to mention: ComfyUI lets you do this with plain text primitives and a concat, but you'd lose the empty-slot skipping and the punctuation cleanup. This node packages the fiddly bits so you don't have to remember them.
Install
Part of ComfyUI-ZML-Image, the usual one-install-gets-all-160:
cd ComfyUI/custom_nodes
git clone https://github.com/zml-w/ComfyUI-ZML-Image
# restart ComfyUI
or ComfyUI Manager → search "ComfyUI-ZML-Image". No special dependencies. Chinese-first UI - 格式化标点符号 is "format punctuation," 分隔符 is "separator" - with the translation patch at https://github.com/zml-w/ZZZ_ZML_English_Patch for English speakers.
No real gotchas here beyond the usual one-person-pack caveat. One thing to know: if you ever want the individual outputs rather than the merged string, step up to the V2 five-input node - the 3 and 5 variants only give you the combined result.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| 格式化标点符号 | COMBO | true | 2 options: true, false |
| 分隔符 | STRING | ,\n\n | — |
| 文本1opt | STRING | — | |
| 文本2opt | STRING | — | |
| 文本3opt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| 文本 | STRING | — |