Add chainable hair and manual character nodes

This commit is contained in:
2026-06-25 00:01:19 +02:00
parent ed6c7b8dc0
commit 01b59df30e
3 changed files with 698 additions and 96 deletions
+26 -9
View File
@@ -20,6 +20,10 @@ The node is registered as:
- `prompt_builder / SxCP Cast Control`
- `prompt_builder / SxCP Generation Profile`
- `prompt_builder / SxCP Ethnicity List`
- `prompt_builder / SxCP Hair Length`
- `prompt_builder / SxCP Hair Color`
- `prompt_builder / SxCP Hair Style/Cut`
- `prompt_builder / SxCP Character Manual Details`
- `prompt_builder / SxCP Advanced Filters`
- `prompt_builder / SxCP Prompt Builder From Configs`
- `prompt_builder / SxCP Woman Slot`
@@ -150,10 +154,15 @@ ComfyUI image batches require matching dimensions. For mixed image formats, use
`SxCP Woman Slot` and `SxCP Man Slot` are the scalable per-participant control
nodes. `Cast Control` still decides how many women and men are generated; slot
nodes decide who those people are. Each slot defines one participant with
optional overrides for age, ethnicity, body/body phrase, skin, hair, and eyes.
Leave any field on `random` or blank to let the generator fill that part from
the normal pools; set exact values only where you want control.
nodes decide who those people are. Each slot defines one participant with age,
ethnicity, body, expression, and config inputs. Leave fields on `random` to let
the generator fill that part from the normal pools.
Use `SxCP Character Manual Details` when you need exact manual text for a slot:
manual age, manual body, body phrase, skin, hair, eyes, softcore outfit, or
hardcore clothing. Connect `Character Manual Details.manual` to the slot's
`manual` input. Manual detail nodes are chainable through their top `manual`
input/output.
Each slot has `slot_seed`. Leave it at `-1` to follow the generator's normal
person seed. Set any fixed value when the slot's `random` fields should resolve
@@ -166,6 +175,16 @@ that character should randomize inside a selected heritage list. This is useful
for narrowing broad groups, for example choosing French/Germanic/Nordic/Slavic
European entries instead of the entire `european` pool.
Hair can be controlled the same way with chainable characteristic nodes. Connect
the final `hair_config` output to a slot's `hair_config` input:
`Hair Length -> Hair Color -> Hair Style/Cut -> Woman Slot.hair_config`
Each hair node only changes its own axis and passes the rest through. For
example, select `long` in `Hair Length`, select the blonde variants you allow in
`Hair Color`, then select `waves` and `ponytail` in `Hair Style/Cut`. If the slot's
manual details include `hair`, that exact text overrides the hair config.
Use `Woman Slot` for women because it exposes woman-focused body choices and a
`figure_bias` selector. Use `Man Slot` for men because it exposes man-focused
body choices and omits figure bias. The older generic `SxCP Character Slot`
@@ -204,11 +223,9 @@ For Insta/OF pairs, slots also expose character-level overrides:
- `softcore_expression_intensity` and `hardcore_expression_intensity`: override
the option-node expression fallback for that character and that output half.
- `softcore_outfit`: overrides the character's softcore clothing. For `Woman A`
this replaces the generated teaser outfit; for partners it replaces random
partner styling.
- `hardcore_clothing`: adds direct character clothing/nudity wording in the
hardcore output. A `Woman A` hardcore clothing override replaces the global
- `softcore_outfit` and `hardcore_clothing` are provided by
`SxCP Character Manual Details` and connected through the slot's `manual`
input. For `Woman A`, a hardcore clothing override replaces the global
`hardcore_clothing_continuity` text to avoid contradictory clothing prompts.
Slots are chainable through the `character_cast` input/output. In automatic