Character Prompt Builder - Scene & Generate
The node that turns a pile of dropdowns into a real sentence
- settings1
- settings2
- settings3
- settings4
- prompt
Here's the thing that makes this whole pack worth installing: every other node just shuffles dictionaries around, and Character Prompt Builder - Scene & Generate is the one that finally turns them into words. It's the terminal node in both chains - person and spaceship - and its single output, prompt, is a ready-to-encode natural-language paragraph. Wire it to a CLIP Text Encode and you're done.
And the prose choice matters more than the pack's author probably intended. Modern checkpoints with LLM-based text encoders (Flux's T5, and the 2025-26 generation of models) respond to full descriptive sentences the way they respond to instructions, not token bags. The Portrait Master lineage this pack descends from was built for the tag era; its community quickly found that "plain english descriptions work better" on the new models. Scene & Generate was born already speaking that dialect. If you're on SDXL-lineage, the sentence output still works - it just doesn't buy you as much.
How it works
You feed it the settings dicts your Person/Fashion/Poses (or Spaceship) nodes produced, plus scene choices of its own. settings1 is required; settings2, settings3, and settings4 are optional and pair with num_people (1–4). Set num_people to 3, wire three full character chains into the three settings slots, and it generates each character's description separately, labels them "CHARACTER 1 / 2 / 3", and adds a shared scene tail. That multi-character support is quietly the best feature in the pack - most prompt builders do one subject, period.
For a single character it merges your settings, writes the person's prose, then appends the scene tail: location, time of day, season, and lighting ("The scene is lit by soft diffused golden hour light from the left").
The inputs you'll actually set
- artistic_style - 28 render styles: "professional photography" (default), analog film, comic book illustration, 3D cartoon illustration, "hyperrealistic Unreal Engine 5 animated 3D render", cinematic film. Pick the vibe of the whole image here.
- Camera - the pair that punches above its weight.
camera_shot(extreme wide → close-up) pluscamera_view(front, three-quarter, profile…), andcamera_lenswith real glass: "85mm f/1.4 (portrait prime, creamy bokeh)", "50mm f/1.2", "70-200mm f/2.8". Naming a physical lens is one of the highest-leverage phrases you can send to a modern encoder - this dropdown does it for free. - Location -
preset_location(88 canned scenes, from "Midnight city streets with wet pavement and neon reflections" to "a silk-draped Mediterranean balcony at twilight") or the free-textlocationbox if you have somewhere specific in mind. - Time/weather/season + light_type/light_quality - golden hour, rain, winter, chiaroscuro… compose the mood.
- enforce_subjects_only - the anti-hallucination switch. Toggle it on and the node appends "ONLY SHOW THE DESCRIBED SUBJECTS, NO EXTRA PEOPLE OR CHARACTERS" to the end. If your model keeps adding bystanders to a portrait, this is the button.
- prompt_prefix / prompt_suffix - free-text that wraps the generated output. Suffix is where you drop quality tags, artist names, or negative-ish instructions.
The character-sheet mode is the hidden gem: set artistic_style to "character sheet" and a whole set of panel inputs appears - num_panels (2/3/4) and per-panel camera view + shot (front, back, side, close-up…), plus a render style (comic / photorealistic / 3D cartoon / UE5). It composes a multi-view turnaround prompt, which is exactly the workflow you want for reference sheets. The spaceship fields (spaceship_environment, spaceship_lighting, spaceship_background, engine_glow_intensity) only matter when a ship chain is upstream.
Installing
ComfyUI Manager → search Character Prompt Builder → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/euan-gwd/comfyui-character-prompt-builder
Zero dependencies (standard library only) and no models to download - one of the least painful installs in the ecosystem, which in ComfyUI-land is a genuine feature. The dropdown data comes from character_prompt.json, fetched from GitHub on first use if the bundled copy is missing.
Troubleshooting
- Output has "natural language" written in it - a quirk of the generator's cleanup pass; if your prefix/suffix or a checkpoint's own tokens reintroduce it, just edit it out in the Render Prompt node.
- Multi-character scenes collapse into one person - all four settings slots must be filled per the
num_peoplecount, and each slot needs a complete chain (Person + Fashion + Poses). A slot with only a Person node will render as a half-described character. - Wrong model family = weak results - on old SDXL-lineage checkpoints the sentence output can feel diluted versus tag-heavy prompts. That's the model, not the node; if you're on SD1.5/SDXL, consider a suffix of comma-tags to supplement.
Inputs (31)
| Name | Type | Default | Description |
|---|---|---|---|
| num_people | COMBO | 1 | 4 options: 1, 2, 3, 4 |
| settings1 | PM_SETTINGS | — | |
| artistic_style | COMBO | professional photography | 28 options: -, analog film, black and white, comic book illustration, anime comic book illustration, ink drawn comic book illustration, +22 |
| character_sheet_render_style | COMBO | comic | 4 options: comic, photorealistic, 3D cartoon illustration, UE5 animated 3D render |
| num_panels | COMBO | 4 | 3 options: 2, 3, 4 |
| panel1_camera_view | COMBO | front view | 23 options: -, front view, back view, right profile view, left profile view, right side view, +17 |
| panel1_camera_shot | COMBO | wide | 10 options: -, extreme wide, wide, full, medium, medium close up, +4 |
| panel2_camera_view | COMBO | back view | 23 options: -, front view, back view, right profile view, left profile view, right side view, +17 |
| panel2_camera_shot | COMBO | wide | 10 options: -, extreme wide, wide, full, medium, medium close up, +4 |
| panel3_camera_view | COMBO | right side view | 23 options: -, front view, back view, right profile view, left profile view, right side view, +17 |
| panel3_camera_shot | COMBO | wide | 10 options: -, extreme wide, wide, full, medium, medium close up, +4 |
| panel4_camera_view | COMBO | front view | 23 options: -, front view, back view, right profile view, left profile view, right side view, +17 |
| panel4_camera_shot | COMBO | close-up | 10 options: -, extreme wide, wide, full, medium, medium close up, +4 |
| camera_lens | COMBO | 16 options: -, 24mm f/1.4 (wide angle, fast prime), 35mm f/1.8 (classic street/portrait prime), 50mm f/1.2 (standard portrait, shallow depth of field), 85mm f/1.4 (portrait prime, creamy bokeh), 105mm f/2.8 (macro, portrait), +10 | |
| camera_horizontal_angle | COMBO | 9 options: -, 0° horizontal angle, 45° horizontal angle, 90° horizontal angle, 120° horizontal angle, 180° horizontal angle, +3 | |
| camera_vertical_angle | COMBO | 14 options: -, 0° vertical angle, 15° vertical angle, 30° vertical angle, 45° vertical angle, 60° vertical angle, +8 | |
| camera_shot | COMBO | 10 options: -, extreme wide, wide, full, medium, medium close up, +4 | |
| camera_view | COMBO | 23 options: -, front view, back view, right profile view, left profile view, right side view, +17 | |
| preset_location | COMBO | 88 options: -, in a High-end hotel lobbies with marble floors and warm, directional lighting, in a Midnight city streets with wet pavement and neon reflections, in a sun-drenched Mediterranean courtyard café, in a modern art museum atrium with skylights, on an exclusive Mediterranean yacht deck with champagne and statement jewelry, +82 | |
| location | STRING | — | |
| time_of_day | COMBO | 12 options: -, Dawn, Morning, Midday, Afternoon, Golden Hour, +6 | |
| weather | COMBO | 11 options: -, Sunny, Cloudy, Overcast, Rainy, Stormy, +5 | |
| season | COMBO | 5 options: -, Spring, Summer, Autumn, Winter | |
| light_type | COMBO | 24 options: -, Natural sunlight, Soft ambient light, Harsh sunlight, Overcast sky, Sunset glow, +18 | |
| light_quality | COMBO | 10 options: -, soft diffused, hard dramatic, even balanced, high contrast, low key, +4 | |
| prompt_prefix | STRING | — | |
| prompt_suffix | STRING | — | |
| enforce_subjects_only | BOOLEAN | false | — |
| settings2opt | PM_SETTINGS | — | |
| settings3opt | PM_SETTINGS | — | |
| settings4opt | PM_SETTINGS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |