Text
User-provided text input with variable support. (Node type
text-prompt; labeled Text in the editor — searching “prompt” still finds it.)
Overview
The Text Prompt node is the most common starting point for workflows. It provides freeform text that can be connected to any node accepting text input — AI generation prompts, descriptions, captions, or any text-based parameter. Supports node references for dynamic content.
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
| Text | Textarea (5 rows) | — | Freeform text content with node reference support |
Inputs & Outputs
Inputs: None (this is a source node)
Outputs:
- Text — the entered text value, available to all connected downstream nodes
Best Practices
- Write detailed, specific prompts for AI generation nodes — vague prompts produce vague results
- Use separate Text Prompt nodes for different purposes (e.g., one for image prompt, one for negative prompt)
- Keep prompts focused on a single concept or instruction per node
Common Use Cases
- Provide generation prompts for Generate Image, Text to Video, or Generate Text
- Enter descriptions for Text to Speech or Text to Dialogue
- Supply captions for social media output nodes
- Pass configuration text to downstream processing
Tips
- Text Prompt outputs can fan out to multiple downstream nodes simultaneously
- For batch workflows, use a List node instead, which feeds items one at a time
- Node references allow you to dynamically include output from other nodes in your text
- A reference can carry a default:
{Label || fallback}uses the trimmedfallbackwhen nothing providesLabel.{Label || }(empty after||) resolves to nothing; plain{Label}(no||) stays literal when unresolved - In the prompt editor of consumer nodes (config panel and the ⌘E prompt modal),
{Label}variables are highlighted — cyan when a matching upstream node is wired (or for built-in template variables like{userPrompt}), amber when nothing upstream provides that label yet. Amber means “nothing wired”, not “will fail”: a{Label || default}variable still resolves to its default at run time. Inside{Label || default}, the default text renders bright when it will actually be injected (nothing wired, or the wired node’s text is empty) and greyed-out with a strikethrough when a wired node’s value overrides it