Text Combiner 🧩
Build one prompt from many pieces, without editing five text boxes
- COMBINED_TEXT
- COMBINED_PREVIEW
Modular prompting is the trick of splitting a prompt into named pieces - subject, clothing, lighting, camera - so you can swap one piece without retyping the rest. The problem is that ComfyUI's text encoder takes one string, so every modular setup ends with a pile of String nodes manually concatenated by a clumsy Text Concatenate. IkkiPromptCombiner is the cleaner version: plug in as many text inputs as you need, it joins them with commas, and hands you one finished prompt.
The mechanism is deliberately boring, which is the point. Each text_N input is stripped, cleaned of stray commas, and joined with ",\n". The only real toggle is trailing_comma (on by default), which appends a comma at the end - a convenience for when the combined prompt is itself a segment in a larger chain. Outputs are COMBINED_TEXT (the joined prompt) and COMBINED_PREVIEW (the same thing, so you can wire the text into a node and keep a visible copy). Outputting the same string twice might look redundant until you realize the preview output is what you'd normally lose - a wire to a text encoder hides the actual text from you.
The genuinely nice part is the frontend: the list of inputs grows dynamically as you connect more strings. Wire a fourth piece of text and a text_4 input appears; disconnect it and the empty slot collapses. No adding/removing inputs by hand, no one hundred text_1..text_100 sockets sitting there empty. (The Python side can technically handle up to 100; the UI only shows what's connected.)
Where it fits
Pair it with the pack's own prompt nodes for a real modular setup: IkkiPromptParser splits an LLM-written prompt into category outputs (Quality, Character & Series, Clothing…), each of those feeds an IkkiTextBoxSwitch, and the switches feed this combiner to reassemble a full positive prompt before the CLIP Text Encode. The pack's example Anima upscaler workflow uses exactly this pattern, and honestly it's the pattern the KB's prompt-engineering essay recommends - block structure and word order instead of CLIP-era AND/BREAK hacks.
Install
Via ComfyUI Manager (search "ikki") or:
cd ComfyUI/custom_nodes
git clone https://github.com/RedsAnalysis/comfyui-ikki-pack
# restart ComfyUI
No extra dependencies.
Small print
- It doesn't add weight syntax or AND/BREAK. This is pure comma joining. If you want
(tag:1.2)weighting, put it in the source text. - Empty inputs are skipped, so a disconnected "clothing" slot won't produce a dangling comma.
- The combined output is a plain STRING - it feeds CLIP Text Encode like any other text. Some prompt-engineering workflows want a
CONDITIONINGdirectly; this is not that, and that's fine.
Honestly, a good Text Concatenate with a bit of cleaning does 80% of this job. The combiner earns its keep when you're assembling many pieces - the dynamic inputs alone save you from counting sockets. For a small utility node it's well done, and it's one of the nodes the README explicitly documents, which is more than the detailer half of this pack gets.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| trailing_comma | BOOLEAN | true | — |
| text_1opt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| COMBINED_TEXT | STRING | — |
| COMBINED_PREVIEW | STRING | — |