Nodes/prompta_generita_lite/Gerador de prompt de pack (Lite)
ComfyUI Node

Gerador de prompt de pack (Lite)

A random prompt-pack generator that doesn't call an API (and doesn't need to)

By adbrasi·Created 5 months ago·Updated 5 months ago· 0
Gerador de prompt de pack (Lite)
    • generated_prompts
    character_description
    s1_sourcesection1.txt
    s2_sourcesection2.txt
    s3_sourcesection3.txt
    s1_outfit
    s2_outfit
    s3_outfit
    s1_prompt_count1
    s2_prompt_count1
    s3_prompt_count1
    background
    pingpongfalse
    seed-1

    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:

    • pingpong alternates each section's file with its V2 twin - section1.txtsection1V2.txt - giving you roughly half from each. Great for doubling a thin pool.
    • seed: -1 means "random" (time-based), and the node's IS_CHANGED returns nan, 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 - which sections/*.txt file 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_source lists are built by scanning sections/*.txt at 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 count just returns fewer and logs a warning. With section3.txt at 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 background splits 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.

    CategoryPrompt Utilities/Packreator

    Inputs (13)

    NameTypeDefaultDescription
    character_descriptionSTRING
    s1_sourceCOMBOsection1.txt7 options: futaSection.txt, section1.txt, section1V2.txt, section2.txt, section2V2.txt, section3.txt, +1
    s2_sourceCOMBOsection2.txt7 options: futaSection.txt, section1.txt, section1V2.txt, section2.txt, section2V2.txt, section3.txt, +1
    s3_sourceCOMBOsection3.txt7 options: futaSection.txt, section1.txt, section1V2.txt, section2.txt, section2V2.txt, section3.txt, +1
    s1_outfitSTRING
    s2_outfitSTRING
    s3_outfitSTRING
    s1_prompt_countINT10–100
    s2_prompt_countINT10–100
    s3_prompt_countINT10–100
    backgroundSTRING
    pingpongBOOLEANfalse
    seedINT-1-1–18446744073709550000

    Outputs (1)

    NameTypeDescription
    generated_promptsSTRING