Flux
The Grok Prompter for People Who Hate Tag Soup
- flux_prompt
- wan_prompt
- negative_prompt
Flux doesn't want your tags. Its T5 text encoder reads natural language, so "a close-up of a woman walking through a bustling mall, surrounded by vibrant shadows" beats 1girl, shopping_mall, dynamic_pose every time. If you've spent months retraining your brain to think in booru tokens, flipping back to sentences can be weirdly hard - and that's the gap this node fills.
Flux is the sibling node in the comfyui-grok-prompts pack. Where its PonyXL counterpart translates English into Danbooru tag soup, this one rewrites your prompt into clean, cinematic natural language for Flux, plus a Wan video prompt and a negative. Same wrapper, different dialect.
How it works
The mechanism is identical to the PonyXL node: your prompt goes to xAI's Grok API (grok-3-latest, temperature 0 for deterministic output), a system prompt tells Grok to write a concise, descriptive natural-language prompt that explicitly avoids Danbooru tags like score_9, and it returns a JSON object. The node parses it into three strings and shows Grok's explanation in the UI.
The interesting bit is what the node is told not to do. Emitting score_9 on a Flux checkpoint is worse than useless - it's noise - and the system prompt calls that out directly. That's the sign of a node built for its target model rather than copy-pasted.
The inputs that matter
Same three inputs as its sibling:
- prompt - your idea in plain English. This is the whole game for Flux.
- api_key - your xAI key from x.ai. Paid per token, and each run is one API call.
- motion_type - default "hair swaying slightly." Only really matters if you use the Wan output; it gets woven into the video prompt.
Outputs: flux_prompt (wire into the positive conditioning on a Flux checkpoint), wan_prompt (a short "a video of ..." sentence for Wan video models), and negative_prompt (defaults to blurry, low_detail, bad_anatomy).
Honest take: on Flux, the negative output is the weakest part of the deal. Flux is trained with guidance-distilled setups where negatives do far less heavy lifting than they did on SDXL, and a default negative that came out of a prompt-engineered system prompt is a starting point at best. Treat it as a courtesy, not a science.
Installing it
Via ComfyUI Manager, search "Grok Prompts," or:
cd ComfyUI/custom_nodes
git clone https://github.com/babydjac/comfyui-grok-prompts
Restart, paste your API key into the node, done. The pack's only real dependency is requests - no model downloads, no ComfyUI-adjacent install drama.
Where people get burned
The same graceful-degradation quirk applies here: empty api_key and the node won't throw - it passes your raw prompt straight through and shows "No API key provided." in the UI. Handy for drafting, easy to misread as the rewrite actually working.
The bigger question you should ask before reaching for it: does Flux even need a rewrite? Its whole reputation is built on reading plain sentences well, so for a lot of prompts the "optimization" is a wash - Grok rewrites your words and you get back slightly different words. The node earns its keep when you want a consistent house style across many prompts, or when you're also feeding the Wan video pipeline and want the image and motion prompts generated together. If you already know how to write for Flux, this is a nice-to-have, not a must-have. If you don't, it's a reasonable tutor - until it isn't, since your prompts do leave your machine for xAI's servers.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| api_key | STRING | — | |
| motion_type | STRING | hair swaying slightly | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| flux_prompt | STRING | — |
| wan_prompt | STRING | — |
| negative_prompt | STRING | — |