Titled Text
The prompt node that tucks a title into its pocket
- titled_text
Titled Text is where a StringKit workflow starts. You type a prompt, you type a short title for it, and out comes a single STRING that is both - the prompt text plus a title riding along invisibly. The point isn't the typing, it's what the title lets you do downstream: name the folder you save into, name the file, seed the generation, label a batch. If you've ever saved forty images and spent ten minutes figuring out which one was the "sunset smiling" one, you already know why this exists.
The name is accurate - it makes titled text - but the mechanism is the clever part. The output's value is just your prompt: any other node sees an ordinary string and handles it normally. The title isn't merged in with a separator character, so there's no % or , or / you can trip over. It travels as metadata on the string itself, and only StringKit nodes (notably Unpack Text) know how to pull it back off.
The inputs that matter
- title - single-line. This is what becomes your folder name later, so keep it filesystem-friendly:
sunset_beach, notsunset:the sequel/remix. - prompt - multi-line, the real body of your prompt.
- append_prompt - optional, link-only input. Text appended after your prompt with
,(comma-space), the same rule Loop Texts uses for its general prompt, just on the other side. Leave it unconnected and nothing changes.
One nice touch: if your prompt already ends in a comma, StringKit adds a space instead of a double comma. And if append_prompt is all it has, it stands alone without a leading separator.
Where people get burned
The title only survives inside StringKit. Run your titled_text through another pack's text node - a wildcard processor, a concatenator, anything that does string math - and the result is a plain string. No error, no warning, the title just silently evaporates. If Unpack Text later hands you an empty title, that's almost certainly what happened. Keep StringKit nodes in a straight line until you've unpacked what you need.
Install
StringKit is a single pack with zero dependencies - no models, no API keys, no pip extras, just Python and a little frontend JS. Install it from ComfyUI Manager (search ComfyUI-StringKit) or:
cd ComfyUI/custom_nodes
git clone https://github.com/luku756/ComfyUI-StringKit
Then restart ComfyUI completely. The pack ships JS extensions, and a hot reload won't pick those up. Find all seven nodes under the StringKit category in the node search.
You'll usually pair this node with Unpack Text and Build Path: title in, prompt out to your CLIP encoder, title out to the filename. If you only ever install one string pack, this family is a good pick - small, opinionated, and it doesn't call any API.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| title | STRING | — | |
| prompt | STRING | — | |
| append_promptopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| titled_text | STRING | — |