- STRING
Zenkai-Prompt is a "give me an idea" button. It picks a random line out of one of 204 bundled text files and hands it to you as a STRING you can feed straight into a CLIP Text Encode node. No API, no LLM, no model weights, no key. It's a glorified random.choice() over a .txt file - and for batch variety, that's genuinely all a lot of workflows need.
It's the foundation of the Zenkai prompt family in DJZ-Nodes, and the appeal is that the bundled files are good. The sample you see in the dropdown is 05-trad-obsessions.txt, and its lines read like storyboard beats - "Ahab stands in his cabin surrounded by whale charts and broken harpoons, madness in his eyes..." - full scene descriptions with camera movement and lighting already baked in. The collection runs from cyberpunk societies to character caption files, and it's clearly written by someone who wants usable video prompts, not tag soup.
How it works
At execution, the node opens the selected file from the pack's prompts/ folder, seeds Python's random with your seed, and returns one random line, stripped. That's it. The magic is all in the curation of the files, not the code.
Two things make it more useful than it sounds:
- Determinism. Same seed + same file = same prompt, every time. So you can lock a prompt by locking a seed, which is exactly what you want when you finally get a shot you like and need to reproduce it.
- The seed is the variation control. Bump the seed and re-run - you get a different line from the file, and the rest of your graph stays untouched.
The two inputs that matter
There are exactly two, and one of them is the whole show:
- text_file - dropdown of every
.txtfile inprompts/(204 of them ship with the pack). The dropdown is rebuilt at startup, so drop your own files in and restart to see them. - seed - 0 to 4,294,967,295. The only thing that changes which line you get.
Output
One STRING - a single line from the file. Wire it into a CLIP Text Encode (or any text input) and generate. Since it's just text, you can also concatenate it with other nodes before encoding; there's no prefix/suffix input here, which is the main reason to reach for its later siblings.
Install
It's one node in DJZ-Nodes, so install the pack once:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt
Then restart ComfyUI, or search "DJZ-Nodes" in ComfyUI Manager and let it install. The node itself needs nothing but Python's stdlib; the pack's heavy requirements (opencv, librosa, numba, moderngl) are for its video/audio/3D nodes and just make the install slower, not this node heavier.
Gotchas
- It's file-based. To shape the output, you edit the
.txtfiles inprompts/(or add your own). There's no in-node prompt field. - No prefix/suffix. If you need to wrap the result (a style tag, a camera instruction), you'll concatenate text downstream - or use Zenkai Prompt V4/V5, which add that.
- Honest note: the Zenkai line of nodes has close to zero Reddit footprint - you won't find a hype train here, just a tidy utility. Judge it on whether the bundled prompts suit your model, not on community lore.
When you want a fast, seed-locked idea generator that costs nothing to run, this is the one. Want interpolation, blacklisting, or sequential sweeps? Those are the V3/V4/V5 jobs.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| text_file | COMBO | 204 options: 05-trad-obsessions.txt, cyberSocietyV4.txt, paradistro-gen.txt, Thorra-Actions-airlock.txt, LTXV-surrealist-scenes.txt, cyberninjav1.txt, +198 | |
| seed | INT | 00–4294967295 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |