A name the model puts in backticks (`Hair Color` or `[[Hair Color]]`) is now a chip like any other mention. Variables read the way the editors draw them: accessors in amber, .neg in red, and the variables the run sets ($iteration, $model_family and the other WP Model Info ones) marked read-only. A list of three or more items shows as an item list with each item's kind, name and category chip.
Wildcard Pipeline
Random prompts for ComfyUI that actually make sense together.
Plain wildcards pick every part of a prompt on its own, so you get a snowy beach at noon under the stars. Wildcard Pipeline builds the prompt step by step, and each step can see what the earlier ones picked. If the weather comes out as rain, the mood can lean gloomy and the lighting can follow. Every Generate gives you a fresh prompt that still hangs together.
Install
Needs a ComfyUI with the V3 node API and Python 3.10 or newer. The canvas
side is built against ComfyUI frontend 1.42 (the
@comfyorg/comfyui-frontend-types version in package.json); it uses some
frontend internals, so a much older or newer frontend may break parts of it.
- ComfyUI Manager (recommended): search for Wildcard Pipeline by dumiflex, click Install and restart ComfyUI.
- By hand: download the zip from the
latest release,
unzip it into
ComfyUI/custom_nodes/and restart ComfyUI.
Installing from source
A git clone has no built frontend, so you need Node.js and pnpm:
cd ComfyUI/custom_nodes
git clone https://github.com/DumiFlex/ComfyUI-Wildcard-Pipeline
cd ComfyUI-Wildcard-Pipeline
pnpm install
pnpm build
Quick start
- Open the Wildcard Pipeline manager from the ComfyUI sidebar and create a
wildcard called
subjectwith three options:a cat,a dog,a fox. - On the canvas, chain WP Context → WP Prompt Assembler →
CLIP Text Encode. Add your wildcard to the Context node and type
a photo of $subjectinto the Assembler. - Queue a few times. Each run picks a new subject.
The Quick Start wiki page walks through a fuller example.
How it works
You stack modules inside a WP Context node. Each module sets one or more
$variables, and the WP Prompt Assembler drops them into your template.
| Module | What it does |
|---|---|
| Wildcard | Picks one option from a weighted list. |
| Fixed Values | Sets variables to values you choose, like a style or quality tags. |
| Combine | Builds one variable out of others, e.g. $style $subject. |
| Derivation | If/else rules: "if $weather is rain AND $time is night, set $lighting to neon". Conditions can be grouped with AND / OR. |
| Constraint | Makes an earlier pick change the odds of a later one, or rule options out entirely. |
| Bundle | A saved group of modules you can drop in as one piece. |
An option can draw from another wildcard: type @ in the option and pick it from
the list, and it goes in as a reference chip (@{…}). If the module you want
doesn't exist yet, pick Placeholder from the @ list and connect it later.
Nodes
| Node | What it does |
|---|---|
| WP Context | Holds your module stack and outputs the picked variables. Chain several together. |
| WP Prompt Assembler | Fills $variables in a template and collects their negative words into a second output. |
| WP Context Loop + WP Seed List | Run the whole chain N times from one Generate, each with its own prompt and seed, or sweep every combination of chosen wildcard options. |
| WP Context Injector | Turns any ComfyUI output (text, a number) into a $variable. |
| WP Model Info | Reads the loaded checkpoint into $model_family / $model_variant (Pony, Illustrious, …) so rules can pick LoRAs and tags per model. |
| WP Image Filter | Pauses the run so you pick which images go on to the upscaler. Their latent, conditioning, prompt text and Context are filtered with them, and you can edit a prompt or paint a mask before they go on. |
| WP Prompt Cleaner | Tidies the final prompt: spacing, stray commas, empty (), nested weights, LoRA tags, duplicates, a blocklist. |
| WP Debug | Shows what happened during a run (see below). |
| WP Var → Int / Float / Bool | Use a variable to drive a number or switch, like image size or steps. |
Most nodes have a help page in ComfyUI's node info panel, and the wiki covers nodes, modules and concepts in depth.
The manager
Open it from the ComfyUI sidebar. It's where your modules live between workflows.
- Library: create, edit and search your modules, bundles and prompt templates. The Tags page groups them into collections, and you can rename or merge a tag across the whole library.
- Test Runner: try a set of modules over many seeds without generating images. See how often each option comes up and which rules fired, save a baseline, and after an edit see exactly which outputs changed.
- Community: browse and install modules other people have shared on the community site, and publish your own.
- Import / Export: move modules between machines as JSON files, or bring in
wildcard packs from A1111 or Forge (Dynamic Prompts, PPP, Impact Pack and Umi AI
.txt,.yaml,.jsonor a.zip, or an installed extension's wildcard folder) on the Wildcard packs tab. Variables, template arguments and if-conditions become stacks. You review the plan and sample prompts before anything is imported. - AI assistant (optional, off by default): connect a model you run yourself (Ollama, LM Studio, llama.cpp) or your own Claude or OpenAI key. It drafts and edits modules in every editor, answers questions about your library in a chat, explains Test Runner runs, organizes your library and builds whole packs from a description. Every change comes back for you to review, and nothing is saved until you apply it.
- Constraint preview: a table of each target option's chance for every source option, so you can see what a constraint does before running it.
- Documentation: the full guide, built into the app.
Checking a run
Connect WP Debug to a Context node and generate. It shows:
- Variables: every value, and which step set it.
- Trace: each step, and why it did what it did: which derivation rule fired, a wildcard's odds and what re-weighted them, where a nested pick came from.
- Warnings: anything that went wrong, linked to the step that caused it.
- Raw: the underlying data, for bug reports.
Help and sharing
Discord is the place for all of it: there are channels for questions, bug reports, feature requests and showing what you made. You can also report bugs on GitHub Issues.
Made something you like? Post your images and workflows on Discord, and publish your modules on the community site so others can install them from the manager's Community page.
Privacy
Everything runs locally. The extension only goes online to check for updates (you can turn this off in Settings), when you open the Community page, or when you choose to download the optional tag list for autocomplete. The optional AI assistant is off until you turn it on, and then talks only to the model server you choose (a local one keeps everything on your PC), plus the search engine, page reader or Danbooru lookup if you set those up. Details are in docs/network-access.md.
Contributing
PRs are welcome. CONTRIBUTING.md explains the dev setup.
License
Copyright (C) 2026 DumiFlex.
Wildcard Pipeline is free software, released under the GNU General Public License v3.0 or later.
