Dynamic Prompt [π -π ’π €π π £π ]
Same wildcard-style tag picker, current branding
- STRING
Same node as this pack's plain DynamicPrompt, wearing the circled [N-SUITE] badge the pack adopted after its February 2024 internal rewrite. The schema is identical field for field - this is the version you'll actually find registered on a current install, so if you're starting a workflow from scratch, this is the one to use.
What it does
It's ComfyUI's answer to the old A1111 "wildcards" pattern: give it a pool of comma-separated tags in variable_prompt, and instead of typing a fixed prompt, the node samples a subset of that pool every time the graph runs. Good for batch variation without hand-editing between queues - keep a locked-in subject and style, let the details shuffle.
How the sampling actually works
number_of_random_tag switches between two modes: "Fixed," where fixed_number_of_random_tag sets exactly how many tags get pulled every run, or "Random" (the default), where the count itself varies run to run. fixed_prompt is optional and it's the piece that makes this genuinely useful rather than just chaotic - put your locked-in composition and style there, and let the sampled tags from variable_prompt append on top as the variable layer. cached (default NO) freezes the current selection when set to YES, which matters when you're adjusting something else in the graph and don't want the prompt shifting out from under your comparison.
Output is a single STRING, wired straight into a CLIP Text Encode node the same as any other prompt. Like its predecessor, it's flagged as an output node, so ComfyUI surfaces its generated result directly rather than treating it as a value that only matters if something downstream happens to use it.
Installing the pack
- ComfyUI Manager - search "ComfyUI-N-Nodes," install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Nuked88/ComfyUI-N-Nodes.git, then restart ComfyUI.
No models, no extra dependencies - string manipulation only.
Common issues & troubleshooting
Selection isn't changing between runs. Check cached first - YES deliberately reuses the last pick. Set it back to NO for a fresh roll each queue.
You want more variety than you're getting. If number_of_random_tag is "Fixed" and the count is set close to (or higher than) how many comma-separated entries are actually in variable_prompt, you'll see the same tags recur constantly, since there's nothing else in the pool to pull from. Pad out the tag list, or switch to "Random."
An old workflow with the plain DynamicPrompt node won't load cleanly here. That's the pre/post-rewrite class-name split - run it through the pack's migration tool (migrate.bat on Windows, python libs/migrate.py path/to/workflow.json on Linux) instead of manually rewiring nodes.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| variable_prompt | STRING | β | |
| cached | COMBO | NO | 2 options: YES, NO |
| number_of_random_tag | COMBO | Random | 2 options: Fixed, Random |
| fixed_number_of_random_tag | INT | 1 | β |
| fixed_promptopt | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | β |