One Button Prompt Flux
The node this whole pack is named after
- prompt
Don't expect a finished, gallery-ready prompt out of this one - that's the biggest misconception people bring to it. What OneButtonPromptFlux actually gives you is a starting point: press it, and it hands back a rough prompt pulled from a bundled library, ready to hand off to a language model for polishing. It's less "one button, done" and more "one button, first draft."
The name is a nod to AIrjen's original One Button Prompt, an Automatic1111 extension from 2023 that generated a full Stable Diffusion prompt from scratch with a single click - random but controlled, built for all-purpose SD1.5 checkpoints. billwuhao's ComfyUI version leans on that lineage but isn't the same machine under the hood. The pack's own changelog says it plainly: the whole thing got "completely refactored" in 2025 because large language models made the old approach obsolete. Now it "only provides starting prompts," meant to be combined with an LLM - which is exactly what the pack's Qwen and Deepseek nodes are for. If you've noticed prompt-writing shifting from browser tabs into ComfyUI nodes over the last couple years, this pack is a clean example of that trend in miniature.
How it works
The node reads from a bundled files/ folder of prompt snippets - plain text, markdown, and JSON, organized by category. Rather than composing a prompt word-by-word from a huge combinatorial grammar (the old-school way, and still how Impact Pack's {a|b|c} wildcard syntax works), it filters that library by a few switches and picks one entry, seeded by seed so you can reroll or lock in a result.
The inputs and outputs that matter
subject-human,other,dual_subject(both at once), orNonefor no subject at all. This is the main knob for what kind of thing you get back.poseandstyle- booleans that fold in pose description or style language when true.lora_trigger_or_prefix- a string slot for LoRA trigger words or any custom prefix you want stitched onto the front of the result. Handy if you're generating with a character or style LoRA and don't want to remember to type the trigger word every time.seed- controls which entry gets picked; same seed, same result.refresh(required, boolean) - flip this after dropping new files into thefiles/folder so the node re-scans without a full ComfyUI restart.- There's also a
testtoggle with no documented purpose - looks like a debug flag left over from development. Leave it off.
Output is a single prompt STRING. Wire it into a text encoder directly if you just want quick random material, but the more useful move - and clearly the intent of the 2025 refactor - is feeding it into QwenLLMRun or DeepseekRun as the raw text to expand and polish.
How to install it
Through ComfyUI Manager: search "ComfyUI_OneButtonPrompt" (billwuhao ships several similarly-scoped packs, so check the author name if you see more than one hit) and install. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/billwuhao/ComfyUI_OneButtonPrompt_Flux
Restart ComfyUI either way. The README doesn't spell out a requirements.txt step - if the node fails to import, check the console for a missing Python package and pip install it into ComfyUI's own virtual environment.
Common issues
"The output is bland/generic." That's by design now - it's a seed, not a finished prompt. Chain it into one of the pack's LLM nodes rather than expecting magic straight out of this one.
Custom files getting overwritten. If you add your own snippets to the files/ folders, the README is specific: name them starting with nsfw or custom, or a future pack update can clobber them. Anything else risks getting silently replaced.
Nothing changes when you re-roll. Check you're actually changing seed - if it's fixed and refresh hasn't been toggled after adding files, you'll keep drawing from the same pool the same way.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| refresh | BOOLEAN | false | — |
| subjectopt | COMBO | human | 'dual_subject' including both. 'None' will be no subject. |
| poseopt | BOOLEAN | false | The pose of any subject. |
| styleopt | BOOLEAN | false | — |
| lora_trigger_or_prefixopt | STRING | Lora trigger words or custom prefix. | |
| testopt | BOOLEAN | false | — |
| seedopt | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |