PVL Txt
A no-frills text box that plays nice with dynamic prompts
- text
PVL_Txt is about as minimal as a node gets: one multiline text box in, the same string out. It doesn't transform anything, it doesn't call any API - the whole implementation is a function that returns the text it was given. Which raises the fair question: why would you install a pack for this when ComfyUI has text primitives built in?
Because of one flag: this node enables dynamic prompts on its text field. That means the text you type supports the wildcard and variation syntax - {red|blue|green} random picks, __filename__ wildcard lists, seeded randomization - and ComfyUI expands it at run time. It's a dedicated, wired text source with a stable STRING output, which is often exactly what you want when the built-in primitive is buried or you're building a workflow to share with people who find the default text nodes fiddly.
What it's actually for
The practical use in a real graph is feeding strings into things. A PVL_Txt output wires into a prompt concatenation, a string switch, or - the pairing the pack seems designed for - the switch_condition input of a PVL_Switch node (same pack, x5 or x15). That turns the switch's selector into a live, editable text box: change one field and the whole graph retargets.
It's also handy as a plain input surface for templates. Because the field is multiline and dynamic-prompt-aware, you can drop a chunk of prompt text in with wildcards, wire it to the CLIP text encoder, and get randomized variations per render without touching the sampler's seed workflow.
Inputs and output
One input, text (STRING, multiline, dynamic prompts on). One output, text (STRING). That's the entire surface - there's genuinely nothing else to configure, which for a text passthrough is a feature.
Gotchas worth knowing
The dynamic-prompt expansion only happens if dynamic prompting is active in your ComfyUI run; if you're using the node as a plain string source, that flag doesn't hurt you either way. The output is a raw string, so wire it to nodes that accept STRING - most text encoders and string utilities do.
One thing to keep honest about: this node ships inside pvlprk/comfyui-pvl-api-nodes, a pack whose README only describes its namesake OpenAI-assistant node. PVL_Txt is one of the pack's local utility nodes - no API, no key, no network. It's a personal pack by a single author with no real community discussion behind it, so don't expect support threads; the code is four lines, so if something's off you can read the whole thing in a minute.
Install
Same as the rest of the pack. In ComfyUI Manager, search ComfyUI Assistant Node and install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/pvlprk/comfyui-pvl-api-nodes
Restart ComfyUI and it appears under the PVL category. No models to download, no keys, and this particular node needs nothing beyond what ComfyUI already has - the pack's long requirements.txt exists for its API nodes, not for this one. If you already use the pack's switches or text overlay, this is a free add; if all you need is a text box, the built-in primitives probably suffice, but this one costs you nothing extra and its dynamic-prompt flag is the reason to grab it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |