Awesome
ComfyUI-DynamicPrompts Custom Nodes
<img src="images/example.png"/>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: <img src="images/menu.png"/>
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:
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 toFalse
, 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.