Camera_Angles Styler (Advanced)
Shot angles for SDXL
- text_positive_g
- text_positive_l
- text_positive
- text_negative_g
- text_negative_l
- text_negative
This one's about where the camera is, not what it is. Camera_AnglesStylerAdvanced is a dropdown of ~39 shot angles - dutch angle, fisheye, from above, from below, from behind, pov, perspective - that it injects into your prompt. If you've ever fought to get a low-angle hero shot or a proper bird's-eye and kept landing on the same eye-level framing, this is a menu for exactly that. Most of these are also real Danbooru composition tags, so they land well on booru-trained models.
The "Advanced" part means it's the SDXL dual-CLIP variant. Same angle menu as a basic styler would have, but with the positive prompt split across SDXL's two text encoders and a knob for where the negative goes.
How the "Advanced" plumbing works
SDXL uses two text encoders - CLIP-G and CLIP-L - and this node lets you feed them separately: text_positive_g to G, text_positive_l to L. The angle phrasing is applied to both and wrapped at the pack's strong default weight (~2.0); MileHighStyler is a fork of the classic SDXL Prompt Styler. negative_prompt_to (Both / G only / L only) decides which encoder gets the entry's built-in negative, defaulting to Both.
None of this is image processing - it's prompt assembly. The output is text; your CLIP Text Encode and sampler produce the actual shot.
The inputs and outputs that matter
- camera_angles - the ~39-entry dropdown;
noneis off. - text_positive_g / text_positive_l - your subject per encoder; use the same text in both if you're unsure.
- text_negative - your negative, with the style's negative routed by
negative_prompt_to.
log_prompt prints the result to the console. Six outputs: text_positive_g, text_positive_l, merged text_positive, and text_negative_g / text_negative_l / merged text_negative. Feed _g and _l into a CLIPTextEncodeSDXL, or just take the merged text_positive / text_negative into a normal CLIP Text Encode.
Installing it
ComfyUI Manager: search ComfyUI_MileHighStyler, install, restart. Or:
cd ComfyUI/custom_nodes && git clone https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler
then restart. No models, no requirements.txt, no dependencies. Nodes appear under ali1234/stylers.
Where people get burned
- Advanced when you wanted simple. If you're not driving a CLIPTextEncodeSDXL with deliberately different G/L text, the split is overkill - just use the merged outputs, or a basic styler.
- Angle tags aren't a camera rig.
from belowbiases the framing; it won't guarantee a clean, consistent angle across seeds. Pair it with subject phrasing that implies the same viewpoint. - Booru-trained models respond best. Many of these are Danbooru tags - they land hardest on Pony/Illustrious/NoobAI/WAI and SD1.5 anime, and softer on photoreal or base SDXL.
- Model era. Dual-CLIP is SDXL-only. This node is meaningless on the 2026 LLM-encoded models (Flux 2, Z-Image, Qwen) - no G/L pair, weighting discarded. On those, write the angle in plain words.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| text_positive_g | STRING | — | |
| text_positive_l | STRING | — | |
| text_negative | STRING | — | |
| camera_angles | COMBO | 39 options: none, dutch angle, fisheye, from above, from behind, from below, +33 | |
| 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 | — |