ComfyUI-DynamicPrompts Custom Nodes
ComfyUI-DynamicPrompts is a custom nodes library that integrates into your existing ComfyUI Library. It provides nodes that enable the use of Dynamic Prompts in your ComfyUI. The nodes provided in this library are:
Random Prompts – Implements standard wildcard mode for random sampling of variants and wildcards.
Combinatorial Prompts – Iterates through every possible combination of random values in a prompt.
I’m Feeling Lucky – Uses the given prompt to download a related prompt from Lexica.art.
Magic Prompt – Employs a neural network to add relevant modifiers to your prompt.
Jinja2 Templates – Allows you to write prompts using Jinja2 templates.
Nodes can be found in the Dynamic Prompts menu:
Useful Links
Dynamic Prompts Home
Dynamic Prompts Syntax
Dynamic Prompts Extension for Auto1111
Tutorial
Online Resources
CHANGELOG
Stable Diffusion SDXL Wildcards and ComfyUI
Installation
Using ComfyUI-Manager
Install ComfyUI-Manager if it isn’t already.
Press Install Custom Nodes from the ComfyUI-Manager menu
Search for dynamicprompts
Click install
Manual installation
Follow the steps below to install the ComfyUI-DynamicPrompts Library. These commands assume the your current working directory is the ComfyUI root directory.
Clone the repository:
“`
git clone https://github.com/adieyal/comfyui-dynamicprompts custom_nodes/comfyui-dynamicprompts
“`
Install the required Python packages:
“`
python -m pip install -r custom_nodes/comfyui-dynamicprompts/requirements.txt
“`
Run install.py:
“`
python custom_nodes/comfyui-dynamicprompts/install.py
“`
mkdir custom_nodes/comfyui-dynamicprompts/wildcards
(Optional) download a wildcard collection and copy it into this new wildcards folder.
Restart your ComfyUI.
Example workflows can be found in custom_nodes/comfyui-dynamicprompts/example_workflows.
Wildcards
The extension looks for wildcard files in custom_nodes/comfyui-dynamicprompts/wildcards. It supports wildcard files in .txt, .json and .yaml (example format).
There are many pre-built wildcards collections available. Here are a few to get you started:
SD Dynamic Prompts built-in
Civitai wildcard packs
Node Outputs
All nodes in this library produce a String output that can typically be passed into Clip Text Encode Prompts. Both positive and negative nodes are supported.
Please note, since ComfyUI is inherently stateless, some nodes might have a slightly unexpected behavior:
The Combinatorial Prompt generation iterates through all possible values in a cycle. For example, A {red|green|blue} ball will generate the following sequence:
A red ball
A green ball
A blue ball
A red ball
…
The I’m Feeling Lucky, Magic Prompt, and Jinja2 nodes have an optional auto refresh parameter. If set to True, a new prompt is generated for every iteration. However, if set to False, a prompt will be downloaded once and used for subsequent generations.
Roadmap
This is a quick and dirty release with some known limitations such as non-configurable random seeds, inability to select the MagicPrompt model, and absence of several other configuration features.
Currently, the only way to view the generated prompt is through console output. A future release will introduce nodes to display the generate prompt on screen and to write it to a file.
It is not currently possible to chain generators, this functionality will be added in future releases.
The installation script will be automated in the future for ease of use.