Prompt Text (TJ)
Prompt Text (TJ)
- prompt
There are two ways to manage prompts in ComfyUI: giant text boxes that straddle half the canvas, or a drawer full of little text nodes you have to re-find every time. Prompt Text (TJ) is the middle path - a modular prompt block designed for building character, style, camera, and lighting prompts separately and stitching them together without letting wires take over your workflow.
How it works
At its heart it's a STRING source: you type into the text widget, it comes out on prompt. Simple enough that you might wonder why it exists. The answer is the wireless layer. The node has a setnode_name field - give it a name and its value gets published to the TJ wireless registry, so a TJ Get-style node anywhere on the canvas can pull it without a visible wire. The get_name input works the other way: let a wireless provider feed it instead of typing. And the optional prompt_in socket lets a real wire feed it when you want one.
What makes this worth using in a structured workflow:
- Character prompt, style prompt, camera prompt, lighting prompt - each in its own node, each reusable across workflows. Change "golden hour" once, and every graph that pulls that block sees it.
- Composition-friendly: this is the building block the pack's
Text Concatenate (TJ)node expects - feed several Prompt Text blocks into a concat with a custom delimiter and you get a final prompt assembled from named parts instead of one unreadable blob. - Reload-stable: values hold across workflow reloads, which is the pack's whole "reload-safe" obsession in miniature.
Inputs and outputs
- Inputs:
text(the widget),get_name(optional wireless receive),setnode_name(optional publish name),prompt_in(optional STRING wire input). - Output:
prompt(STRING).
There's no magic here - it doesn't randomize, wildcard, or post-process. It's a text constant with wireless superpowers.
Installing it
Part of the pack, trivial install:
cd ComfyUI/custom_nodes
git clone https://github.com/designloves2/ComfyUI-TJ_NODE
or ComfyUI Manager → ComfyUI-TJ_NODE → restart. Zero extra dependencies.
The honest take
As a standalone node, Prompt Text is nothing you couldn't do with the built-in text node - the value is entirely in the pack's system around it. If you're building section-based workflows with wireless routing, named prompt blocks are how you keep "which prompt is in this generation" answerable six months later. If you're on a small one-off graph, it's redundant. The advice from the README applies here too: give every block a stable, descriptive name (CHARACTER, STYLE, LIGHT), because the wireless registry is only as maintainable as your naming. Name it test and future-you will be annoyed.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| get_name | COMBO | 1 options: (none) | |
| setnode_name | STRING | — | |
| prompt_inopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |