Add expression enable controls

This commit is contained in:
2026-06-24 17:27:56 +02:00
parent c105926a6b
commit e2bdff6075
6 changed files with 405 additions and 28 deletions
+32 -1
View File
@@ -106,6 +106,7 @@ class SxCPPromptBuilder:
"clothing": (["full", "minimal"], {"default": "full"}),
"ethnicity": (ethnicity_choices(), {"default": "any"}),
"poses": (["standard", "evocative"], {"default": "standard"}),
"expression_enabled": ("BOOLEAN", {"default": True}),
"expression_intensity": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01}),
"backside_bias": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.01}),
"figure": (["curvy", "balanced", "bombshell"], {"default": "curvy"}),
@@ -141,6 +142,7 @@ class SxCPPromptBuilder:
clothing,
ethnicity,
poses,
expression_enabled,
expression_intensity,
backside_bias,
figure,
@@ -168,6 +170,7 @@ class SxCPPromptBuilder:
clothing=clothing,
ethnicity=ethnicity,
poses=poses,
expression_enabled=expression_enabled,
expression_intensity=expression_intensity,
backside_bias=backside_bias,
figure=figure,
@@ -418,6 +421,7 @@ class SxCPGenerationProfile:
"profile": (generation_profile_choices(), {"default": "balanced"}),
"clothing_override": (["profile_default", "full", "minimal"], {"default": "profile_default"}),
"poses_override": (["profile_default", "standard", "evocative"], {"default": "profile_default"}),
"expression_enabled": ("BOOLEAN", {"default": True}),
"expression_intensity": ("FLOAT", {"default": -1.0, "min": -1.0, "max": 1.0, "step": 0.01}),
"backside_bias": ("FLOAT", {"default": -1.0, "min": -1.0, "max": 1.0, "step": 0.01}),
"minimal_clothing_ratio": ("FLOAT", {"default": -1.0, "min": -1.0, "max": 1.0, "step": 0.01}),
@@ -436,6 +440,7 @@ class SxCPGenerationProfile:
profile,
clothing_override,
poses_override,
expression_enabled,
expression_intensity,
backside_bias,
minimal_clothing_ratio,
@@ -446,6 +451,7 @@ class SxCPGenerationProfile:
profile=profile,
clothing_override=clothing_override,
poses_override=poses_override,
expression_enabled=expression_enabled,
expression_intensity=expression_intensity,
backside_bias=backside_bias,
minimal_clothing_ratio=minimal_clothing_ratio,
@@ -453,7 +459,8 @@ class SxCPGenerationProfile:
trigger_policy=trigger_policy,
)
parsed = json.loads(config)
summary = f"{parsed['profile']}: {parsed['clothing']}, {parsed['poses']}, expression {parsed['expression_intensity']}"
expression_summary = "expression disabled" if not parsed.get("expression_enabled", True) else f"expression {parsed['expression_intensity']}"
summary = f"{parsed['profile']}: {parsed['clothing']}, {parsed['poses']}, {expression_summary}"
return config, summary
@@ -600,6 +607,8 @@ class SxCPCharacterSlot:
"hair": ("STRING", {"default": ""}),
"eyes": ("STRING", {"default": ""}),
"descriptor_detail": (character_descriptor_detail_choices(), {"default": "auto"}),
"expression_enabled": ("BOOLEAN", {"default": True}),
"expression_intensity": ("FLOAT", {"default": -1.0, "min": -1.0, "max": 1.0, "step": 0.01}),
},
"optional": {
"character_cast": ("STRING", {"default": "", "multiline": True}),
@@ -627,6 +636,8 @@ class SxCPCharacterSlot:
hair,
eyes,
descriptor_detail="auto",
expression_enabled=True,
expression_intensity=-1.0,
character_cast="",
):
result = build_character_slot_json(
@@ -643,6 +654,8 @@ class SxCPCharacterSlot:
hair=hair,
eyes=eyes,
descriptor_detail=descriptor_detail,
expression_enabled=expression_enabled,
expression_intensity=expression_intensity,
enabled=enabled,
character_cast=character_cast or "",
)
@@ -667,6 +680,8 @@ class SxCPWomanSlot:
"hair": ("STRING", {"default": ""}),
"eyes": ("STRING", {"default": ""}),
"descriptor_detail": (character_descriptor_detail_choices(), {"default": "auto"}),
"expression_enabled": ("BOOLEAN", {"default": True}),
"expression_intensity": ("FLOAT", {"default": -1.0, "min": -1.0, "max": 1.0, "step": 0.01}),
},
"optional": {
"character_cast": ("STRING", {"default": "", "multiline": True}),
@@ -693,6 +708,8 @@ class SxCPWomanSlot:
hair,
eyes,
descriptor_detail="auto",
expression_enabled=True,
expression_intensity=-1.0,
character_cast="",
):
result = build_character_slot_json(
@@ -709,6 +726,8 @@ class SxCPWomanSlot:
hair=hair,
eyes=eyes,
descriptor_detail=descriptor_detail,
expression_enabled=expression_enabled,
expression_intensity=expression_intensity,
enabled=enabled,
character_cast=character_cast or "",
)
@@ -732,6 +751,8 @@ class SxCPManSlot:
"hair": ("STRING", {"default": ""}),
"eyes": ("STRING", {"default": ""}),
"descriptor_detail": (character_descriptor_detail_choices(), {"default": "compact"}),
"expression_enabled": ("BOOLEAN", {"default": True}),
"expression_intensity": ("FLOAT", {"default": -1.0, "min": -1.0, "max": 1.0, "step": 0.01}),
},
"optional": {
"character_cast": ("STRING", {"default": "", "multiline": True}),
@@ -757,6 +778,8 @@ class SxCPManSlot:
hair,
eyes,
descriptor_detail="compact",
expression_enabled=True,
expression_intensity=-1.0,
character_cast="",
):
result = build_character_slot_json(
@@ -773,6 +796,8 @@ class SxCPManSlot:
hair=hair,
eyes=eyes,
descriptor_detail=descriptor_detail,
expression_enabled=expression_enabled,
expression_intensity=expression_intensity,
enabled=enabled,
character_cast=character_cast or "",
)
@@ -1005,6 +1030,8 @@ class SxCPInstaOFOptions:
"hardcore_men_count": ("INT", {"default": 1, "min": 0, "max": 12, "step": 1}),
"softcore_level": (["social_tease", "lingerie_tease", "implied_nude", "explicit_tease", "explicit_nude"], {"default": "lingerie_tease"}),
"hardcore_level": (["explicit", "hardcore"], {"default": "hardcore"}),
"softcore_expression_enabled": ("BOOLEAN", {"default": True}),
"hardcore_expression_enabled": ("BOOLEAN", {"default": True}),
"softcore_expression_intensity": ("FLOAT", {"default": 0.45, "min": 0.0, "max": 1.0, "step": 0.01}),
"hardcore_expression_intensity": ("FLOAT", {"default": 0.85, "min": 0.0, "max": 1.0, "step": 0.01}),
"platform_style": (["hybrid", "instagram", "onlyfans"], {"default": "hybrid"}),
@@ -1029,6 +1056,8 @@ class SxCPInstaOFOptions:
hardcore_men_count,
softcore_level,
hardcore_level,
softcore_expression_enabled,
hardcore_expression_enabled,
softcore_expression_intensity,
hardcore_expression_intensity,
platform_style,
@@ -1046,6 +1075,8 @@ class SxCPInstaOFOptions:
hardcore_men_count=hardcore_men_count,
softcore_level=softcore_level,
hardcore_level=hardcore_level,
softcore_expression_enabled=softcore_expression_enabled,
hardcore_expression_enabled=hardcore_expression_enabled,
softcore_expression_intensity=softcore_expression_intensity,
hardcore_expression_intensity=hardcore_expression_intensity,
platform_style=platform_style,