FLUX2 Style Selector π¨
FLUX2 Style Selector picks the look for you
- style
"Photorealistic, best quality, 8k" is dead weight on FLUX.2's LLM encoder - those magic-word stacks were built for CLIP-era tag models and do nothing here. What actually moves the needle is a concrete rendering description, and that's exactly what FLUX2_StyleSelector produces: a single well-formed style sentence that becomes the style field of your JSON prompt.
It's part of ComfyUI-FLUX2-JSON (MushroomFleet's "FLUX2 Prompt Builder"), sitting in the FLUX2_Prompt_Builder/Core menu next to the Scene Builder. Its job is to answer "what should this look like" so you never hand the model a lazy generic.
How it builds the style
style_category(required) - Custom, Photorealistic, Film Photography, Digital Eras, Artistic, Cinematic, Technical. Picking a category loads its preset list, and if you leavestyle_presetempty it defaults to the first preset in that category.style_preset- the deep dropdown (28 options). The good stuff is here:"Analog film photography, shot on Kodak Portra 400","Black and white film photography, Ilford HP5 Plus","Wes Anderson style with symmetrical composition and pastel colors","X-ray imaging style with translucent structures". Pick one and the category prefix gets stripped - you get the description, not the label.custom_style(multiline) - used only when category is Custom. Blank Custom falls back to the shrug-worthy "Professional rendering," same silent-default pattern as the Scene Builder's Custom. Don't leave it empty.quality_level- Commercial quality, Editorial quality, Artistic expression, Experimental. Appended as a lowercase clause (", commercial quality"). It's a tone-of-finish dial, not a resolution setting.additional_modifiers(multiline) - free-text appended at the end. This is where the README's example puts things like "Clean, minimalist aesthetic."
So Photorealistic + the commercial-product preset + "Commercial quality" yields something like "Ultra-realistic product photography with commercial quality, commercial quality" - yes, the pack can concatenate "commercial quality" twice if you pick the preset that already says it. Minor cosmetic redundancy, harmless to the model, but don't be surprised when you see it in the JSON.
Output: a single style STRING, wired into FLUX2_PromptAssembler's style input.
Install
Standard for the pack - install once, get all eight nodes:
- ComfyUI Manager: search "FLUX2 Prompt Builder" β Install β restart.
- Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/ComfyUI-FLUX2-JSON.git
No models, no deps, stdlib only - it's a lookup table plus string joins.
The takeaway
Use the presets as your default move; they encode the community knowledge that concrete film stocks and named styles beat vague adjectives on these models. Reach for custom_style when you have a real reference look ("editorial fashion, shot for a magazine spread, soft directional light") that no preset covers. And pair the category with the rest of the pack's vocabulary - a Portra-400 style string next to a proper camera object from FLUX2_CameraRig reads like an actual photo brief, which is exactly what the VLM encoder wants to see.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| style_category | COMBO | Photorealistic | 7 options: Custom, Photorealistic, Film Photography, Digital Eras, Artistic, Cinematic, +1 |
| style_presetopt | COMBO | 28 options: , Photorealistic: Ultra-realistic product photography with commercial quality, Photorealistic: Photorealistic CGI rendering with ray-traced lighting, Photorealistic: High-end editorial photography with professional finish, Photorealistic: Documentary-style photojournalism with natural authenticity, Photorealistic: Architectural photography with precise technical detail, +22 | |
| custom_styleopt | STRING | β | |
| quality_levelopt | COMBO | 5 options: , Commercial quality, Editorial quality, Artistic expression, Experimental | |
| additional_modifiersopt | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| style | STRING | β |