Add chainable character slot controls

This commit is contained in:
2026-06-24 15:10:24 +02:00
parent cb35e1881f
commit a7743cfd4b
6 changed files with 671 additions and 29 deletions
+35 -1
View File
@@ -14,6 +14,7 @@ The node is registered as:
- `prompt_builder / SxCP Generation Profile`
- `prompt_builder / SxCP Advanced Filters`
- `prompt_builder / SxCP Prompt Builder From Configs`
- `prompt_builder / SxCP Character Slot`
- `prompt_builder / SxCP Character Profile Save`
- `prompt_builder / SxCP Character Profile Load`
- `prompt_builder / SxCP Caption Naturalizer`
@@ -51,7 +52,8 @@ node. For cleaner workflows, use the split nodes:
The practical compact workflow is:
`Category Preset` + `Cast Control` + `Generation Profile` + optional
`Advanced Filters`, `Seed Locker` or `Seed Control`, `Camera Control`, and `Character Profile`
`Advanced Filters`, `Seed Locker` or `Seed Control`, `Camera Control`,
`Character Slot`, and `Character Profile`
into `Prompt Builder From Configs`.
An importable default workflow is included at
@@ -68,6 +70,29 @@ as one long chain:
## Character Profiles
`SxCP Character Slot` is the scalable per-participant control node. Each slot
defines one woman or man with optional overrides for age, ethnicity, figure,
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.
Slots are chainable through the `character_cast` input/output. In automatic
label mode, the slot closest to the final generator becomes `A` for its gender,
the next upstream slot becomes `B`, then `C`, and so on. Example:
`Woman slot 3 -> Woman slot 2 -> Woman slot 1 -> Insta/OF Prompt Pair`
In that chain, `Woman slot 1` resolves as `Woman A`, `Woman slot 2` resolves as
`Woman B`, and `Woman slot 3` resolves as `Woman C`. Men resolve separately the
same way, so the closest man slot becomes `Man A`.
Connect the final `character_cast` output to `SxCP Prompt Builder`,
`SxCP Prompt Builder From Configs`, or `SxCP Insta/OF Prompt Pair`. It applies
to JSON/custom single woman/man rows, JSON/custom configured-cast rows such as
`Hardcore sexual poses`, and Insta/OF named casts. The older profile save/load
nodes remain useful for one reusable primary character, but slots are better
when you need different settings for each participant.
`SxCP Character Profile Save` extracts a reusable woman/man profile from
`metadata_json` or from manual fields. The profile stores age, body/body phrase,
skin, hair, eyes, figure, and subject type. It only writes a file when
@@ -173,6 +198,9 @@ Important behavior:
`minimal` omits most style text.
- For Insta/OF paired metadata, the node returns both `krea_softcore_prompt` and
`krea_hardcore_prompt`, with separate softcore and hardcore negatives.
- Insta/OF cast metadata is rewritten as direct named-character prose such as
`Woman A is ...` and `Man A is ...`, so Krea2 does not have to interpret a
`Cast descriptors:` label.
It outputs:
@@ -197,6 +225,12 @@ and location. The generated positive prompts are still standalone: each output
lists the relevant cast descriptors directly and does not depend on the image
model carrying context from another prompt.
For per-character control, chain `SxCP Character Slot` nodes into the pair
node's `character_cast` input. The nearest woman slot controls the shared
primary creator (`Woman A`) in both softcore and hardcore outputs; additional
woman/man slots fill partner descriptors before random fallback descriptors are
used.
It outputs:
- `softcore_prompt`