Symbiotica Prompts Split
One JSON array in, ten clean desc_ sockets out
- desc_1
- desc_2
- desc_3
- desc_4
- desc_5
- desc_6
- desc_7
- desc_8
- desc_9
- desc_10
LLMs like to hand back one list. Edit nodes like ten sockets. Symbiotica PromptsSplit is the adapter between the two: it takes an enhanced-prompts list and splits it into desc_1..desc_10 STRING outputs, in region order.
This is a pure utility node, and it earns its place because of a specific failure mode the KB documents well: an LLM asked for structured output often returns a preamble, markdown scaffolding, or the wrong shape entirely. PromptsSplit is strict on purpose - it accepts a JSON array of one prompt per region, or numbered lines - so a messy reply fails loudly instead of silently mis-wiring.
How it works
One input, prompts, which is the LLM output: a strict JSON array of prompts in region order, or numbered lines. It parses and distributes to the ten desc_N outputs. Empty slots come out empty, and downstream ERPK nodes treat an empty desc_N as "leave the region's original description untouched." So you don't need all ten regions populated - a four-region template just uses the first four outputs and ignores the rest.
The inputs and outputs
prompts(required) - the text to split. JSON array or numbered lines, region order.desc_1..desc_10- one per region. Wire them into ERPK'sdesc_Nsockets, or wherever the per-region text goes.
That's the whole node. No optional inputs, no config.
Install
The whole pack installs together:
cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt
Restart after - or use ComfyUI Manager and search Symbiotica. No key, no model download.
Gotchas
If your LLM replies with Here are the enhanced prompts: before the JSON, this node will refuse it. That's not a bug - it's the guard against chat-scaffolding bleeding into a prompt. Strip the preamble upstream (a prompt that says "output ONLY the JSON array, nothing else" goes a long way), or feed it the numbered-lines format, which is more forgiving of LLM habits. And remember the ordering contract: position in the list is region order. If your template has nine regions and the LLM returns nine prompts, desc_9 is the ninth region - get the order from the template right, and the sockets stay honest.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| prompts | STRING | LLM output: JSON array of one prompt per region (region order), or numbered lines |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| desc_1 | STRING | — |
| desc_2 | STRING | — |
| desc_3 | STRING | — |
| desc_4 | STRING | — |
| desc_5 | STRING | — |
| desc_6 | STRING | — |
| desc_7 | STRING | — |
| desc_8 | STRING | — |
| desc_9 | STRING | — |
| desc_10 | STRING | — |