Text Prompt (JPS)
A labeled text box for tidier prompt wiring
- text
There's no trick here, and that's fine - sometimes you just want a multiline text box with a clear label sitting in your graph, and this is it. One required field, text (multiline), one output, also called text, typed STRING. Whatever you type goes out unchanged.
What it's actually for
ComfyUI already ships primitive string nodes that do the same job functionally. The reason to reach for this one instead, in a JPS-built workflow, is organizational: in a graph with a dozen text nodes feeding different destinations, an anonymously-named "Text Multiline" box tells you nothing at a glance, while a node clearly labeled Text Prompt (JPS) does. It's also handy any time you want to stage a block of text once and fan it out to several consumers - feed the same text output into two different CLIP Text Encode nodes, or into this pack's CLIPTextEncode SDXL Plus (JPS) node, without retyping or copy-pasting the string itself.
Think of it as a labeled staging point rather than a functional transformation - everything it does is describable in one sentence, and that's the whole appeal. If you find yourself wanting the same idea but with a set of preset options alongside the free-text field - a dropdown of saved snippets rather than a blank box every time - the pack also ships a Text Prompt Combo variant built for exactly that; this node stays deliberately simpler, a plain box and nothing else.
Installing it
Comes with the rest of the pack. ComfyUI Manager: search JPS Custom Nodes for ComfyUI, install, restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git
Restart ComfyUI afterward, and remove any earlier install of the pack first. Nothing to download - it's a text widget, no models, no dependencies.
Where people get tripped up
Honestly, not much to trip on. The one thing worth knowing: the text field starts empty, there's no built-in default prompt or placeholder text baked into the node - you're typing your own prompt in from scratch, same as any other multiline text box. If you're expecting this node to do anything beyond hold and pass through a string (formatting, token counting, wildcard expansion, whatever), it doesn't - for that you'd want a different node in the pack or elsewhere in your custom-node stack.
The output is a plain STRING, not a CONDITIONING - this node stages text, it doesn't encode it. You still need a CLIP Text Encode node (stock, or this pack's own CLIPTextEncode SDXL Plus (JPS)) downstream to actually turn that string into something a KSampler understands. Skipping that step is the one genuine way to get stuck: the wire connects fine type-wise into anything expecting a string, but a string on its own does nothing to a generation.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |