Wall of text
Concatenate up to ten prompt fragments, optionally in a blender
- ui_widget
- string
- string_list
Every prompt-builder eventually becomes a pile of text fragments you want to glue together: subject, style, lighting, the negative that never changes. WallOfText is the node that does the gluing - up to ten strings, joined with a separator, with a shuffle option that makes it a poor-man's dynamic prompt.
The name is the joke and the description. You feed it text_1 and text_2 (required, both multiline) plus up to eight more optional fragments, pick a separator (default ", " - change it to ", " for tags or \n if something downstream wants newlines), and it outputs one joined string. All the optional text inputs are defaultInput, so they can accept wires instead of just typed text.
The inputs that matter:
separator- what goes between fragments.", "for prompt tags.text_1…text_10- the fragments; first two required, rest optional.shuffle_inputs- toggle to randomize the order.seed- controls that shuffling so you can reproduce a given order.
Here's where it earns its keep: flip shuffle_inputs on and the node randomizes the fragment order on every run - change the seed and you get a different arrangement. That's the classic way people build lightweight prompt variation without a dedicated dynamic-prompting tool: keep the fragments stable, shuffle the order, and let the model interpret different sentence structures. It's not as powerful as a full wildcard system, but for "randomize the order of my prompt parts" it's zero-config.
Outputs are string and string_list - the single joined prompt and the same as a list type, for nodes that want a batch of one. Wire the string into a CLIP Text Encode and you're done.
Installing LF Nodes - same pack, same steps:
- ComfyUI Manager → search "LF Nodes" → install → restart, or
cd ComfyUI/custom_nodes && git clone https://github.com/lucafoscili/comfyui-lfthen restart.
Two things to keep straight. First, the repo is in legacy mode - frozen while development moved to lucafoscili/lf-nodes - and this node exists there under the same name. Second, shuffle_inputs is all-or-nothing: it shuffles all provided fragments, so if you want some fragments to always lead, keep them out of the shuffle path and put them in a fixed fragment instead. And remember the seed is what makes a shuffled order reproducible - same seed, same order, which matters when you're bisecting "it looked good with this arrangement."
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| separator | STRING | , | Character(s) separating each string apart. |
| text_1 | STRING | The first required string. | |
| text_2 | STRING | The second required string. | |
| text_3opt | STRING | The third optional string. | |
| text_4opt | STRING | The fourth optional string. | |
| text_5opt | STRING | The fifth optional string. | |
| text_6opt | STRING | The sixth optional string. | |
| text_7opt | STRING | The seventh optional string. | |
| text_8opt | STRING | The eighth optional string. | |
| text_9opt | STRING | The ninth optional string. | |
| text_10opt | STRING | The tenth optional string. | |
| shuffle_inputsopt | BOOLEAN | false | Toggle shuffling of input strings. |
| seedopt | INT | 42 | Seed to control the randomness of the shuffling. |
| ui_widgetopt | KUL_CODE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| string | STRING | — |
| string_list | STRING | — |