Yumil Text Join
Join up to seven text inputs with a delimiter — empty ones just vanish
- text
The unglamorous workhorse of the pack. Yumil Text Join takes up to seven text inputs and concatenates them with a delimiter, skipping anything empty. That's the whole job, and it's the job you constantly need once prompts start living in multiple places.
Where it actually shows up in this pack: the regional-prompt workflow. Yumil MPM stores per-region prompt text, and at some point those separate strings have to become one string for whatever combines them - Attention Couple or a similar regional-prompting setup takes a single text input and wants your regions joined in order. Seven slots is exactly the number of regions that workflow juggles. But it's genuinely general: combine a quality tag list with a subject tag list, glue a style fragment onto a base prompt, or fold a few text fragments from different branches into one line. Any place you'd otherwise hand-type a comma.
The inputs
delimiter- the separator, default", "(comma-space, the tag-prompt convention). It's multiline-capable, so you can use a newline as a delimiter if you're building something line-oriented.text_0…text_6- the seven slots, all optional and all forceInput (they're meant to be wired, though you can also convert them to widgets).
The single text output is the joined result.
The "skip empties" behavior is worth calling out because it's what makes the node safe to wire promiscuously: text.strip() decides empty, so whitespace-only or unconnected inputs are silently dropped. You don't get a, , , b - you get a, b. That means you can leave most slots unwired and the node degrades gracefully, which is exactly what you want in a workflow where a region might not exist this run.
A couple of honest notes
The inputs are all STRING, so numbers need converting first - this isn't a universal "join anything" node, and it doesn't coerce. If you're joining exactly two things, a core primitive or a template-text node could do it, but once you're past two or three sources with empties mixed in, the skip-blank behavior here earns the install.
Install is just the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/maigonia/comfyui-yumil-mpm.git
cd comfyui-yumil-mpm
pip install -r requirements.txt
or ComfyUI Manager → search comfyui-yumil-mpm → restart. It's trivial code - a join over the provided texts - so there's nothing to download beyond the pack and no failure modes worth losing sleep over. If the joined output looks wrong, it's almost always a delimiter you forgot to check: comma-space is the default, and if your target wants no spaces or a newline, that's a one-widget fix.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| delimiter | STRING | , | Delimiter to join texts |
| text_0opt | STRING | — | |
| text_1opt | STRING | — | |
| text_2opt | STRING | — | |
| text_3opt | STRING | — | |
| text_4opt | STRING | — | |
| text_5opt | STRING | — | |
| text_6opt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |