Burve Character Planner
One reusable character that doesn't change face every generation
- race_override_pipe
- face_reference_image
- extra_reference_images
- prompt
- system_instructions
- reference_images
- character_plan_json
- summary
- character_pipe
Keeping one character looking like the same person across generations is the most talked-about unsolved problem in this hobby. Local diffusion attacks it with IP-Adapters, face adapters, and LoRAs, and it still drifts. This node takes a different route: it builds a structured, generation-ready character description plus reference images for a Gemini image model, which can look at those references while it draws instead of re-inventing the face from a text prompt.
It's the heart of this pack's character workflow. You set the controls once - body, age, race, hair, skin - and the node hands you a prompt bundle you can reuse forever. When you connect a reference face image and flip on use_face_reference, it also emits face-lock system instructions, so the generator keeps that specific identity instead of just "a woman with long hair." If you've ever re-rolled a character twenty times chasing a consistent face, this is the node the pack wants you to try first.
One honest caveat before you get excited: this only works as well as Gemini image models are at following reference faces, and they're good but not perfect. The planner does its job - consistent structured prompting plus references - the model does the rest. Also note it's adult-only (age_years runs 18–80, and the validation rejects underage overrides), and the built-in outfit presets are deliberately minimal, non-explicit basewear.
How it works
Every control feeds into a normalized JSON "character plan" that gets compiled into a long structured prompt with body measurements, appearance, and pose sections. The plan is validated - contradictory male/female outfit controls and underage settings are rejected rather than silently passed through - then emitted in a few useful forms. The character_pipe output is the one-cable bundle that carries prompt, system instructions, and packed reference images (with a dedicated face image ordered first) to the generator.
The inputs that matter
gender- female or male; the node shows only the relevant body controls for the chosen gender (male usesmale_chest_cm,male_body_frame_preset, etc.).age_years- 18–80, adult-only by design.raceplus inlinecustom_race- pick a preset (elf, orc, dragonkin, ...) or type your own; the custom field overrides the dropdown.skin_tone/custom_skin_tone,hair_color/custom_hair_color,hair_length,undertone- the appearance stack.use_face_reference+face_reference_strength- the face-lock switch.face_reference_image(optionalIMAGE) is what you anchor on.- Optional:
race_override_pipe(from Burve Character Race Details),extra_reference_images(anIMAGE_LIST, e.g. from Burve Image Ref Pack), andplan_overrides_jsonfor full manual control.
Outputs
prompt, system_instructions (blank unless face-lock is active), reference_images (IMAGE_LIST), and the character_pipe. The other two - character_plan_json and summary - are informational: the summary tells you the resolved gender, race, face-lock state, reference count, and any warnings. Wire them into text display nodes if you want to inspect, but the generator never needs them.
The recommended wiring
Face image into face_reference_image, optional extras through Image Ref Pack into extra_reference_images, and then one cable: character_pipe → the generator's character_pipe. That's the whole workflow, and it's why the pack calls it the 1-wire setup. When the pipe is connected, the generator ignores its direct prompt, system_instructions, and reference_images fields - so if an old workflow still shows a stale "futuristic city" prompt in the widget, clear it or reload the node. Race details are optional: leave Burve Character Race Details disconnected and you get a plain human character.
Install comes with the pack - Manager or git clone https://github.com/Burve/ComfyUI_Burve_Tools.git into custom_nodes, then restart. No model downloads; the planner is pure prompt assembly.
Inputs (31)
| Name | Type | Default | Description |
|---|---|---|---|
| gender | COMBO | female | 2 options: female, male |
| age_years | INT | 2518–80 | — |
| race | COMBO | human | 14 options: human, elf, dark_elf, orc, angel, demon, +8 |
| custom_race | STRING | — | |
| height_cm | INT | 170140–210 | — |
| weight_kg | INT | 5835–140 | — |
| bust_cm | INT | 9070–150 | — |
| underbust_cm | INT | 7455–130 | — |
| waist_cm | INT | 6445–130 | — |
| full_hip_cm | INT | 9570–170 | — |
| male_chest_cm | INT | 10280–160 | — |
| body_frame_preset | COMBO | balanced | 4 options: balanced, hourglass, pear, athletic |
| male_body_frame_preset | COMBO | balanced | 5 options: balanced, v_taper, rectangular, athletic, stocky |
| skin_tone | COMBO | light_medium | 6 options: very_light, light, light_medium, medium, tan, deep |
| custom_skin_tone | STRING | — | |
| undertone | COMBO | neutral | 4 options: cool, neutral, warm, olive |
| hair_color | COMBO | dark_blonde | 8 options: dark_blonde, blonde, light_brown, brown, dark_brown, black, +2 |
| custom_hair_color | STRING | — | |
| hair_length | COMBO | long | 4 options: bob, shoulder_length, long, very_long |
| musculature_tone | FLOAT | 0.350–1 | — |
| body_fat | FLOAT | 0.280–1 | — |
| pose | COMBO | neutral_a_pose | 4 options: neutral_a_pose, neutral_straight, contrapposto_soft, editorial_relaxed |
| outfit_variant | COMBO | classic_triangle | 4 options: classic_triangle, soft_scoop, narrow_triangle, halter_contour |
| male_outfit_variant | COMBO | classic_brief | 4 options: classic_brief, square_cut, short_boxer, compression_short |
| outfit_color | COMBO | neutral_gray | 3 options: neutral_gray, soft_taupe, muted_black |
| use_face_reference | BOOLEAN | false | — |
| face_reference_strength | FLOAT | 0.900–1 | — |
| race_override_pipeopt | CHARACTER_RACE_PIPE | — | |
| face_reference_imageopt | IMAGE | — | |
| extra_reference_imagesopt | IMAGE_LIST | — | |
| plan_overrides_jsonopt | STRING | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| system_instructions | STRING | — |
| reference_images | IMAGE_LIST | — |
| character_plan_json | STRING | — |
| summary | STRING | — |
| character_pipe | CHARACTER_GEN_PIPE | — |