Text String
A one-line reusable text constant for your graph
- TEXT
- TEXT_B
- TEXT_C
- TEXT_D
- TEXT_E
- TEXT_F
- TEXT_G
- TEXT_H
- TEXT_I
- TEXT_J
- TEXT_K
- TEXT_L
- TEXT_M
- TEXT_N
- TEXT_O
- TEXT_P
- TEXT_Q
- TEXT_R
- TEXT_S
- TEXT_T
- TEXT_U
- TEXT_V
- TEXT_W
- TEXT_X
Text String is about as simple as ComfyUI nodes get: it holds a single line of text and outputs it as a STRING. No processing, no logic - just a value you type once and can wire to as many downstream nodes as you want.
Why bother with a dedicated node for this
ComfyUI's native STRING widgets are usually tied directly to whatever node they live on - if three different nodes need the same filename prefix or the same short label, you're typing it three times and hoping you don't typo one of them. Text String gives you a standalone value with its own output socket, so you set it once and route it wherever it's needed: into a filename, into Text Add Tokens as a value to substitute, into a Text Concatenate chain, or into anything else expecting a STRING. It's a small thing, but it's the difference between "one source of truth" and "three copies that can drift out of sync."
How it compares to its siblings
The suite has a few text-input flavors and it's worth knowing which is which. Text String is a single line. Text Multiline is the same idea but for paragraph-length text - full prompts, notes, anything spanning more than one line. Text List is different again: it holds multiple separate string entries as a list, for nodes further downstream that iterate over several values rather than consuming one. If you just need one short reusable value, this is the lightest option of the three.
Installing it
Through ComfyUI Manager: search "WAS Node Suite", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui
cd was-node-suite-comfyui
pip install -r requirements.txt
Nothing extra needed for this node specifically - no models, no special dependencies.
Troubleshooting
There's genuinely very little to break here - it's a static value. The one thing to watch for is accidentally leaving trailing whitespace or a stray newline in the field if you copy-pasted the text in; that can produce confusing mismatches downstream in nodes doing exact string comparisons, like Text Compare or Text Find.
The suite-wide caveat still applies even to a node this simple: WAS Node Suite hasn't been actively developed since December 2023, so if it's missing from your node menu entirely after a ComfyUI update, that's a whole-pack import failure (usually a pinned legacy dependency like BLIP support conflicting with the newer core) rather than anything wrong with this specific node. Check your startup console before assuming Text String itself is the problem.
Inputs (24)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Text for the first output. Tokens such as `[time]`, `[user]` and `[hostname]` are replaced with their values, so this is a convenient source for file name prefixes and captions. | |
| text_bopt | STRING | Text for the second output, expanded the same way. | |
| text_copt | STRING | Text for the third output, expanded the same way. | |
| text_dopt | STRING | Text for the fourth output, expanded the same way. | |
| text_eopt | STRING | Text 5, emitted on its own output. Tokens are substituted. | |
| text_fopt | STRING | Text 6, emitted on its own output. Tokens are substituted. | |
| text_gopt | STRING | Text 7, emitted on its own output. Tokens are substituted. | |
| text_hopt | STRING | Text 8, emitted on its own output. Tokens are substituted. | |
| text_iopt | STRING | Text 9, emitted on its own output. Tokens are substituted. | |
| text_jopt | STRING | Text 10, emitted on its own output. Tokens are substituted. | |
| text_kopt | STRING | Text 11, emitted on its own output. Tokens are substituted. | |
| text_lopt | STRING | Text 12, emitted on its own output. Tokens are substituted. | |
| text_mopt | STRING | Text 13, emitted on its own output. Tokens are substituted. | |
| text_nopt | STRING | Text 14, emitted on its own output. Tokens are substituted. | |
| text_oopt | STRING | Text 15, emitted on its own output. Tokens are substituted. | |
| text_popt | STRING | Text 16, emitted on its own output. Tokens are substituted. | |
| text_qopt | STRING | Text 17, emitted on its own output. Tokens are substituted. | |
| text_ropt | STRING | Text 18, emitted on its own output. Tokens are substituted. | |
| text_sopt | STRING | Text 19, emitted on its own output. Tokens are substituted. | |
| text_topt | STRING | Text 20, emitted on its own output. Tokens are substituted. | |
| text_uopt | STRING | Text 21, emitted on its own output. Tokens are substituted. | |
| text_vopt | STRING | Text 22, emitted on its own output. Tokens are substituted. | |
| text_wopt | STRING | Text 23, emitted on its own output. Tokens are substituted. | |
| text_xopt | STRING | Text 24, emitted on its own output. Tokens are substituted. |
Outputs (24)
| Name | Type | Description |
|---|---|---|
| TEXT | STRING | The text field, with its tokens replaced. |
| TEXT_B | STRING | The text_b field, with its tokens replaced. |
| TEXT_C | STRING | The text_c field, with its tokens replaced. |
| TEXT_D | STRING | The text_d field, with its tokens replaced. |
| TEXT_E | STRING | Text 5, with its tokens substituted. |
| TEXT_F | STRING | Text 6, with its tokens substituted. |
| TEXT_G | STRING | Text 7, with its tokens substituted. |
| TEXT_H | STRING | Text 8, with its tokens substituted. |
| TEXT_I | STRING | Text 9, with its tokens substituted. |
| TEXT_J | STRING | Text 10, with its tokens substituted. |
| TEXT_K | STRING | Text 11, with its tokens substituted. |
| TEXT_L | STRING | Text 12, with its tokens substituted. |
| TEXT_M | STRING | Text 13, with its tokens substituted. |
| TEXT_N | STRING | Text 14, with its tokens substituted. |
| TEXT_O | STRING | Text 15, with its tokens substituted. |
| TEXT_P | STRING | Text 16, with its tokens substituted. |
| TEXT_Q | STRING | Text 17, with its tokens substituted. |
| TEXT_R | STRING | Text 18, with its tokens substituted. |
| TEXT_S | STRING | Text 19, with its tokens substituted. |
| TEXT_T | STRING | Text 20, with its tokens substituted. |
| TEXT_U | STRING | Text 21, with its tokens substituted. |
| TEXT_V | STRING | Text 22, with its tokens substituted. |
| TEXT_W | STRING | Text 23, with its tokens substituted. |
| TEXT_X | STRING | Text 24, with its tokens substituted. |