Environment Styler (Advanced)
The SDXL dual-encoder version of the 283-location menu
- text_positive_g
- text_positive_l
- text_positive
- text_negative_g
- text_negative_l
- text_negative
Same 283-entry location menu as the plain EnvironmentStyler - Beach, Desert, Forest, Mountain, Urban, Studio and a long tail beyond - in the "Advanced" node that opens up SDXL's two-encoder setup. This is actually a menu where the split can earn its keep: environment is broad, conceptual stuff, which is exactly what the big OpenCLIP-G encoder handles well. Still, it's SDXL-only, and if you're not on SDXL you want the basic node.
What "Advanced" means, and where it helps here
SDXL runs two text encoders at once - the big OpenCLIP-G and the smaller CLIP-L. This node splits your positive prompt into text_positive_g and text_positive_l. A reasonable play on an environment menu: broad scene to G (the setting, the mood), tight subject detail to L. That's the closest thing to a real use-case the G/L split has in this pack. But don't overthink it - same text in both still works fine. negative_prompt_to (Both / G only / L only) routes the negative. The whole split is meaningless off SDXL: SD 1.5 has one encoder, and the 2026 LLM-encoded models (Flux 2, Z-Image, Qwen) don't have this architecture.
How it works
It's a fork of SDXL Prompt Styler. Each environment is a JSON template with a {prompt} slot; your subject drops in, the location phrase gets wrapped at a strong weight (~2.0), and rewritten prompt strings come out. Text only - nothing loads a model.
Inputs and outputs that matter
- environment - the 283-entry dropdown.
No option/none= off. - text_positive_g / text_positive_l - your subject, once per SDXL encoder (or split broad-vs-detail).
- negative_prompt_to -
Both(default),G only, orL only.
log_prompt prints the built prompt. The node returns six strings - text_positive_g, text_positive_l, combined text_positive, and the three negatives. Route _g/_l into an SDXL dual CLIP Text Encode, or use the combined text_positive / text_negative.
Installing it
ComfyUI Manager: search ComfyUI_MileHighStyler, install, restart. Or:
cd ComfyUI/custom_nodes && git clone https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler
No models, no dependencies. Nodes appear under ali1234/stylers.
Where people get burned
- The environment still eats the subject at
2.0. The G/L split doesn't tame that. If the setting dominates, ease the emphasis or reassert the subject. - Chasing the "perfect" G/L split. Even on the one menu where it half-makes-sense, the gain is marginal. Start with the same text in both and only split if you see the subject and setting bleeding together.
- Off SDXL it's dead weight. No dual encoders means the
_g/_lsockets do nothing - use the plain node.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| text_positive_g | STRING | — | |
| text_positive_l | STRING | — | |
| text_negative | STRING | — | |
| environment | COMBO | 283 options: No option, Beach, Desert, Forest, Indoor, Mountain, +277 | |
| negative_prompt_to | COMBO | Both | 3 options: Both, G only, L only |
| log_prompt | BOOLEAN | true | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| text_positive_g | STRING | — |
| text_positive_l | STRING | — |
| text_positive | STRING | — |
| text_negative_g | STRING | — |
| text_negative_l | STRING | — |
| text_negative | STRING | — |