Concatenate String
The glue that makes dynamic prompts possible
- concatenated_string
IsekaiConcatenateString joins up to ten text inputs into one string with a delimiter. It sounds too boring to be interesting, and then you realize it's the node that turns ComfyUI into a prompt-building machine. Take a base prompt from one node, a character name from a dropdown, a style tag from a CSV, an LLM output from IsekaiClaude - glue them together with spaces or commas, and feed the result into a CLIP Text Encode. Without a concat node, every one of those combinations means editing text by hand.
How it works
Straightforward: up to ten optional inputs (text_a through text_j) get joined in order using your delimiter. Two behaviors worth knowing:
- It skips empty inputs. Only non-empty strings make it into the result, so you can leave slots dangling and the output stays clean - no double spaces, no stray commas at the end. That's the difference between this and pasting strings together with
+in your head. - Ordering is alphabetical (
abeforebbeforec...), which is exactly the order you'd expect. Empty slots are skipped, not turned into blank spaces.
The delimiter defaults to a single space. Set it to , if you're building booru-style tag lists (SDXL-era models still want comma-separated tags), or \n if you're assembling a block for an LLM prompt. The forceInput flag on the text fields means you can wire any STRING output into them - that's what makes it glue rather than just a text box.
The inputs that matter
delimiter- the string put between parts (default: space).text_athroughtext_j- up to ten string inputs, all optional.
Output is concatenated_string, a single STRING. Wire it to a CLIP Text Encode, another concat node (yes, you can chain), or an LLM prompt.
Installing it
Ships in isekai-comfy-node:
ComfyUI Manager: search "isekai" → install isekai-comfy-node → restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/isekai-sh/isekai-comfy-node
cd isekai-comfy-node
pip install -r requirements.txt
Restart and it's under Isekai → Dataset. Pillow and requests are the only deps - this node doesn't even need Pillow to function, it's pure Python string work.
Common issues
The failure modes here are conceptual, not technical. If your generated prompt looks wrong, check the delimiter first: a space vs a comma changes everything for tag-based models. And remember that ComfyUI evaluates the graph once per queue run - if you're building prompts from a random or dynamic source, the concat node will faithfully assemble whatever came out of that source, garbage and all. Garbage in, garbage out is not a bug.
One genuinely useful combo: concat the output of IsekaiDynamicString (random selection) with a fixed style suffix, so the style stays constant while the subject varies per seed. That's the pattern half the dynamic-prompt workflows in the wild are built on, and it's two nodes doing one trivial job each.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| delimiter | STRING | — | |
| text_aopt | STRING | — | |
| text_bopt | STRING | — | |
| text_copt | STRING | — | |
| text_dopt | STRING | — | |
| text_eopt | STRING | — | |
| text_fopt | STRING | — | |
| text_gopt | STRING | — | |
| text_hopt | STRING | — | |
| text_iopt | STRING | — | |
| text_jopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| concatenated_string | STRING | — |