Gerador de prompt de pack (Lite)
A random prompt-pack generator that doesn't call an API (and doesn't need to)
- generated_prompts
Let's get the name out of the way: "prompta generita" is fake Latin for "generated prompt," and the Lite part is the whole selling point. This is the stripped-down, all-manual sibling of prompta_generita - no character spreadsheet, no Civitai integration, no LLM calls, no API key. It's a glorified dice roller that mixes a character description you type with random lines from text files it ships with, and hands you back a whole list of finished prompts to run. If you've ever wanted the old A1111 wildcard trick in node form - batch 32 renders and get the same character across a dozen outfits and backgrounds without writing any of them by hand - this is exactly that, done offline.
Why you'd reach for it: it targets the tag-based anime SDXL lineage (Illustrious, NoobAI, Pony), where comma-separated booru tags still do the heavy lifting. It's built for producing prompt packs - same character, varied scenes - for your own testing or to publish. The bundle ships with ~9,500 lines of ready-made NSFW booru prompts in its sections/ folder, so out of the box it's aimed squarely at adult content. Fine if that's your lane; know it going in.
How it works
For each of the three sections, the node pulls N random lines from the section file you picked, splits your outfit text on /cut, and distributes those outfits across the prompts. Each result is built as character_description + outfit + section_line, then run through a cleaner that normalizes commas and dedupes tags (so "blush, blush" collapses to one). Backgrounds get split on /cut, /, or a newline, then cycled across the whole final list and shuffled.
Two behaviors worth knowing before they confuse you:
pingpongalternates each section's file with itsV2twin -section1.txt↔section1V2.txt- giving you roughly half from each. Great for doubling a thin pool.seed:-1means "random" (time-based), and the node'sIS_CHANGEDreturnsnan, so it always re-rolls on every queue run. That's the feature - every batch is fresh. But if you change nothing and wonder why you got a different image, that's why. Set a real seed to reproduce a batch exactly.
Inputs that matter
You'll set maybe four of these. The rest have sane defaults.
character_description- the character's tags and trigger words, reused across every prompt. This is what keeps a batch consistent.s1_outfit/s2_outfit/s3_outfit- outfits for each section, separated by/cut, e.g.maid outfit /cut school uniform /cut swimsuit.s1_prompt_count/s2_prompt_count/s3_prompt_count- how many prompts each section generates (1–100).s1_source/s2_source/s3_source- whichsections/*.txtfile each section draws from.
Output is a single generated_prompts list. That's the catch, literally: it's LIST[STRING], so you can't just wire it into a plain CLIP Text Encode (that takes one string). You need something that iterates a list - a batch or for-each construct - to fan each prompt out to its own render. Plan the graph around that.
Installing
No dependencies, no model downloads, no requirements.txt - it's pure Python stdlib. Either search "prompta_generita_lite" in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/adbrasi/prompta_generita_lite
Restart ComfyUI. You'll find it as "Gerador de prompt de pack (Lite)" under Prompt Utilities/Packreator, and you'll see a PackCREATOR_BOLADEX Lite Nodes LOADED banner in the console. That print is harmless noise, ignore it.
Gotchas
- New section files don't appear in the dropdown until you restart. The
s1_source/s2_source/s3_sourcelists are built by scanningsections/*.txtat import time. Content edits to an existing file are picked up live (there's an mtime-based cache), but a new filename needs a full restart. - Don't ask for more prompts than a file has lines. Sampling is without replacement, so
count > line countjust returns fewer and logs a warning. Withsection3.txtat 148 lines you'll hit that fast. Use pingpong or lower the count. - Keep your section files UTF-8. The loader reads UTF-8; anything else silently returns an empty list.
- Watch that
backgroundsplits on any slash - a slash inside a background tag will cut it in two.
The real competition isn't other nodes, it's doing this with an LLM prompt-rewriter. This one wins on being free, offline, and fast, and loses on not being able to understand anything. For randomized variety packs of a fixed character, it's the one I'd reach for.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| character_description | STRING | — | |
| s1_source | COMBO | section1.txt | 7 options: futaSection.txt, section1.txt, section1V2.txt, section2.txt, section2V2.txt, section3.txt, +1 |
| s2_source | COMBO | section2.txt | 7 options: futaSection.txt, section1.txt, section1V2.txt, section2.txt, section2V2.txt, section3.txt, +1 |
| s3_source | COMBO | section3.txt | 7 options: futaSection.txt, section1.txt, section1V2.txt, section2.txt, section2V2.txt, section3.txt, +1 |
| s1_outfit | STRING | — | |
| s2_outfit | STRING | — | |
| s3_outfit | STRING | — | |
| s1_prompt_count | INT | 10–100 | — |
| s2_prompt_count | INT | 10–100 | — |
| s3_prompt_count | INT | 10–100 | — |
| background | STRING | — | |
| pingpong | BOOLEAN | false | — |
| seed | INT | -1-1–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| generated_prompts | STRING | — |