AGSoft Text Input Switch X8
Eight prompt presets behind one selector — a style menu for your workflow
- STRING
A workflow that serves eight different styles, subjects, or prompt presets usually ends up as a tangled wall of if-this-then-that. AGSoft Text Input Switch X8 is the tidy answer: eight multiline text fields, one integer selector from 1 to 8, one output. It's the pack's biggest fixed text switch, and it turns "I have eight saved prompt presets" into "I have a dial."
How it works
Inputs text1–text8 plus input_selector (INT, 1–8, default 1). The output is whichever string the selector points at, passed through unchanged. Same integer-index design as the X2 and X4 - there's genuinely nothing else to it, which is the appeal: no dropdown, no hidden state, just "index into a list."
Because the selector is a number, it plays perfectly with upstream logic. Drive it from a Loop Integer, a batch index, or a workflow-control integer, and one X8 becomes a rotating preset menu - run eight batches, and each one picks the next style automatically. That "preset menu" framing is the use case the node's description leans on ("many discrete text choices"), and it's the honest one: this is for known options, not for text you compute on the fly.
X8 or the dynamic concatenate?
They sound similar but do opposite jobs. The X8 switch selects one of eight; the AGSoftTextConcatenate joins eight into one. Don't grab the wrong one when you're building a workflow - a common mix-up that produces baffling output until you notice the switch is dropping six of your strings. Also note the fixed X8 has no number_of_inputs widget; the fields are always all eight, so leave unused ones empty and keep the selector within 1–8.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/Art-xmaster/comfyui-AGSoft
Restart ComfyUI, or ComfyUI Manager → "comfyui-AGSoft". No models, no extra deps. Same clamping caveat as its siblings: out-of-range selectors clamp to the nearest edge (0 → text1, 9 → text8) instead of erroring, so validate the driving node if your presets are precious.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| text1 | STRING | The first text option. Первый текстовый вариант. | |
| text2 | STRING | The second text option. Второй текстовый вариант. | |
| text3 | STRING | The third text option. Третий текстовый вариант. | |
| text4 | STRING | The fourth text option. Четвертый текстовый вариант. | |
| text5 | STRING | The fifth text option. Пятый текстовый вариант. | |
| text6 | STRING | The sixth text option. Шестой текстовый вариант. | |
| text7 | STRING | The seventh text option. Седьмой текстовый вариант. | |
| text8 | STRING | The eighth text option. Восьмой текстовый вариант. | |
| input_selector | INT | 11–8 | Select which input text to output (1-8). Выберите, какой входной текст выводить (1-8). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |