DJZ Zero Prompt V1
188 trillion prompts, zero text files, and a seed you can actually share
- prompt
The name is a slight lie, and that's the best thing about it. DJZ Zero Prompt V1 doesn't give you "zero" prompts - it gives you as many as you'll ever need without you maintaining a single text file. Feed it a seed and a prompt_index and it computes a full positive prompt out of thin air. No API, no API key, no model download, nothing to curate. Same two numbers in, same prompt out, on any machine, forever.
What it actually is
Strip the marketing and this is a deterministic random prompt generator. In a ComfyUI world where prompt variety usually means maintaining a growing wildcard text file, or pasting {a knight|a cyborg|a wizard} brackets into a prompt and hoping, this node does something different: instead of selecting a prompt from a file, it computes one from two coordinates. The README calls it "position-is-seed," and the whole pitch is reproducible variety - share seed=42, index=1000 instead of sharing a paragraph of text, and anyone who runs the same node gets the identical string.
It comes from MushroomFleet (author Drift Johnson), the same person behind ComfyUI-ZeroENH and ComfyUI-ZeroEDIT - a family it calls the "Zerobytes 0(1) procedural collection." The vibe is math-as-feature, and here it mostly holds up.
How it works
The mechanism is genuinely simple and fast. It hashes (seed, prompt_index, coordinate) with xxhash32, then maps the hash onto a vocabulary pool with hash % pool_size. Coordinate 0 picks one of 8 sentence templates; coordinates 1–8 each pick a subject, action, environment, style, lighting, camera, details, and mood. Every component is a hash lookup, so generation is O(1) - no iteration, no file reads, well under a millisecond.
xxhash is the right call and it's worth knowing why. Python's built-in hash() is randomized per session, so it can't give you cross-machine reproducibility, and random needs a seed dance. xxhash32 with a seed is stable everywhere, which is exactly what "share the coordinates" requires. The only dependency in the whole pack is xxhash.
The inputs that matter
There are exactly four, and three of them are one word:
- seed - the "world seed." Different seeds explore different prompt universes; same seed, same universe.
- prompt_index - the position in that universe. Each index is a different prompt.
- prefix / suffix - optional text to prepend or append.
One gotcha in the source: prefix and suffix are concatenated directly with no separator, so prefix="portrait of" runs straight into "a knight..." - you'll want to add your own trailing comma or space.
The single output, prompt, is a plain STRING. Wire it into a CLIP Text Encode node's positive input and you're off. To batch, put it on an incrementing counter or let control_after_generate step prompt_index between runs - that dropdown on the widget does exactly what you hope here.
The honest take
The "188 trillion combinations" number is real arithmetic - 88 subjects × 51 actions × 56 environments × 58 styles × 35 lightings × 31 cameras × 31 details × 48 moods × 8 templates - but it's a vocabulary, not a mind. You will wade through a lot of "a golem exploring catacombs, ukiyo-e, harsh shadows, deep focus" before you find one worth keeping. That's fine if you use it as an idea-mining tool: fix a seed, step the index, and you'll reliably surface prompts you wouldn't have written yourself. What it's not great at is tag-based models like Pony or Illustrious, which want comma-separated booru tags - the output is natural-language prose, so it suits SDXL- and Flux-style models far better.
Install
It's a one-dependency pack, so install is painless. Easiest is ComfyUI Manager - search "DJZ-ZeroPrompt" and hit install. Or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/ComfyUI-DJZ-ZeroPrompt
cd ComfyUI-DJZ-ZeroPrompt
pip install -r requirements.txt
Restart ComfyUI. requirements.txt is literally xxhash>=3.0.0 - if ComfyUI throws "DJZ-ZeroPrompt requires xxhash," that's the whole problem, and on a portable install you can run the included install-portable.bat to target the embedded Python. No model files, no heavy deps, works fully offline.
Troubleshooting
- "requires xxhash" on load - the one real failure mode; install it, restart.
- Same prompt every run - check the
control_after_generatedropdown onseed/prompt_index;randomizeorincrementis what you want for browsing. - Output doesn't fit your model - it's prose, not tags; see above.
If you later want to steer the vocabulary toward a specific genre, the V2 node in the same pack adds JSON profiles - V1 is the lean, file-free version.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–4294967295 | World seed - different seeds explore different prompt universes |
| prompt_index | INT | 00–4294967295 | Position in infinite prompt space - each index is a unique prompt |
| prefixopt | STRING | Text to prepend to the generated prompt | |
| suffixopt | STRING | Text to append to the generated prompt |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | Generated prompt as a single line paragraph |