π§± Text Concatenator (8-Way)
Same glue as the 4-way, just eight slots
- merged_text
"π§± Text Concatenator (8-Way)" is exactly what it says on the tin: the 4-way concatenator with double the inputs. Eight optional slots, one separator, same empty-skip behavior - it joins whatever fragments you wired, drops the empties, strips trailing commas, and hands you one merged_text string. If you've read the 4-way article, you know this node; the only real difference is how many sources you can land on one node before the graph gets silly.
When 8 beats 4
Four slots covers the classic prompt split: subject, lighting, camera, style. You reach for the 8-way when the prompt is genuinely modular - subject, action, setting, time of day, weather, camera, film stock, and a fixed quality block, say - and you want each chunk to come from its own randomizer or its own fixed string. Keeping every fragment on a dedicated input is the ComfyUI way to stay organized, and eight slots means a whole prompt can fan into one node.
It also means you can leave most of the slots unwired. The empty-skip logic is shared with the 4-way, so a node with two wires behaves exactly like a two-input concatenator; the extra sockets cost you nothing at runtime. Don't feel pressured to fill them.
The inputs that matter
- separator - the joiner, default
"; ". Switch to", "for comma-tag prompts. - input_1 through input_8 - all optional, all multi-line. Wire what you need, leave the rest.
Output: merged_text (STRING) β CLIP Text Encode. Clean output guaranteed by the skip-empties rule.
Installing it
Pack-standard, which here means trivially easy: no requirements.txt, no models, pure Python stdlib, README still a "TODO." stub.
ComfyUI Manager β Custom Nodes Manager β search "TextRandomizer" β Install β Restart
or cd ComfyUI/custom_nodes && git clone https://github.com/fls-eugene/ComfyUI_TextRandomizer, then restart.
The honest take
You almost certainly don't need both concatenators. If you're assembling more than four fragments, either pick the 8-way from the start so you never rewire, or start with the 4-way and promote only when a workflow outgrows it. They behave identically, so the choice is purely slot count. The one thing the bigger node can't save you from is the separator: with eight sources, one "; " between them all still reads as a single wall of text, so build your fragments to work with whatever separator you set.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| separator | STRING | ; | β |
| input_1opt | STRING | β | |
| input_2opt | STRING | β | |
| input_3opt | STRING | β | |
| input_4opt | STRING | β | |
| input_5opt | STRING | β | |
| input_6opt | STRING | β | |
| input_7opt | STRING | β | |
| input_8opt | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| merged_text | STRING | β |