Composition
Framing, Cameras, and Quality Tags Without Typing a Sentence
- composition
Composition is the section of the Prompt Builder pack that handles how the image is framed rather than who is in it - camera, angle, shot size, quality tags, and even how many people are on screen. It's the node you reach for when every image you generate has the same flat, eye-level, full-body look and you want that to stop.
The pack's framing here is smart. Instead of a freeform "cinematic shot" text box, you get a 35mm lens and a low angle and an art-deco style modifier as separate dropdowns. On the anime-SDXL models this pack targets, those are Danbooru-flavored tags the model actually knows, so picking "low angle" actually changes the picture in a way typing the same words casually often doesn't.
The inputs that matter
14 dropdowns, but three clusters cover most of what you'll ever want:
- Quality tags -
quality_1andquality_2offerscore_9,score_8_up,score_7_up,masterpiece,best quality. Thescore_xfamily is Pony's convention: on Pony-trained checkpoints those tags genuinely steer output quality, which is why the pack ships with them. On an Illustrious or NoobAI checkpoint,masterpieceandbest qualityare the ones that carry weight. Either way, set one. - Camera and framing -
camera(canon eos r, 35mm/50mm/85mm lens),angle(low angle, from above, dutch angle…), andshot_emphasis(close-up, medium shot, full body shot). Naming a physical camera is one of the highest-leverage phrases in modern prompting, so this dropdown punches above its weight. - Who's in frame -
actors_1(1girl, 2girls, 1guy, mixed combos) andgroup/solo(solo, duo, group, crowd). Yes, that second field really does have a slash in its name. They cover overlapping ground, so pick one and leave the other onNone.
The rest - style_modifers (that spelling is real, it's a typo in presets.json that shipped, and since you pick from a dropdown it's purely cosmetic), color_palette, pov (male/female), three render_detail slots, and art_finish (cinematic lighting, ray tracing) - is texture. The render_detail trio is another case of duplicate slots: set one, leave two on None.
The output is composition - a string wired into the composition input on the pack's Combine Prompt node, where it lands second in the join order, right after the style preset and before the character. That's a sensible spot: framing gets strong attention but doesn't crowd out who's in the shot.
Install
No dependencies, no model files - this pack is plain Python and a JSON file. Clone it into custom_nodes or install via ComfyUI Manager (search "Prompt Builder"), then restart ComfyUI.
cd ComfyUI/custom_nodes
git clone https://github.com/zinigo-creations/comfyui-prompt-builder
Common issues
The quality-tag dropdown is the main thing people trip over: the Pony score_9 convention doesn't transfer everywhere, so if you're on a non-Pony checkpoint, expecting score_9 to do magic is a recipe for disappointment - switch to masterpiece. And don't set all three render_detail slots; "highly detailed, ultra detailed, 8k resolution" stacked together is the kind of prompt bloat the pack's own README warns against. Pick your camera, your angle, one quality tag, and let the model do its job.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| quality_1 | COMBO | 7 options: None, score_9, score_8_up, score_7_up, score_6_up, masterpiece, +1 | |
| quality_2 | COMBO | 7 options: None, score_9, score_8_up, score_7_up, score_6_up, masterpiece, +1 | |
| style_modifers | COMBO | 37 options: None, 1980s (style), 1990s (style), 2000s (style), abstract, acid graphics, +31 | |
| color_palette | COMBO | 10 options: None, vibrant colors, pastel colors, neon colors, muted colors, dark tones, +4 | |
| camera | COMBO | 7 options: None, canon eos r, sony a7 iii, nikon d850, 35mm lens, 50mm lens, +1 | |
| angle | COMBO | 18 options: None, straight-on, low angle, from below, from behind, high angle, +12 | |
| pov | COMBO | 3 options: None, male pov, female pov | |
| actors_1 | COMBO | 10 options: None, 1girl, 2girls, 3girls, 1guy, 2guy, +4 | |
| group/solo | COMBO | 5 options: None, solo, duo, group, crowd | |
| shot_emphasis | COMBO | 8 options: None, close-up, extreme close-up, medium shot, long shot, wide shot, +2 | |
| render_detail_1 | COMBO | 6 options: None, highly detailed, ultra detailed, sharp focus, intricate details, 8k resolution | |
| render_detail_2 | COMBO | 6 options: None, highly detailed, ultra detailed, sharp focus, intricate details, 8k resolution | |
| render_detail_3 | COMBO | 6 options: None, highly detailed, ultra detailed, sharp focus, intricate details, 8k resolution | |
| art_finish | COMBO | 7 options: None, cinematic lighting, soft lighting, dramatic lighting, global illumination, ray tracing, +1 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| composition | STRING | — |