Centralize softcore pair wording

This commit is contained in:
2026-06-27 16:32:32 +02:00
parent c69274d2ee
commit 9cd1f03bfe
11 changed files with 115 additions and 34 deletions
+7 -11
View File
@@ -47,6 +47,7 @@ class KreaPairFormatDependencies:
pov_camera_phrase: Callable[[list[str]], str]
pov_soft_camera_phrase: Callable[[list[str]], str]
pov_composition_text: Callable[[Any, list[str]], str]
softcore_cast_presence_phrase: Callable[..., str]
natural_clothing_state: Callable[[Any, str], str]
composition_phrase: Callable[..., str]
paragraph: Callable[[list[str]], str]
@@ -134,17 +135,12 @@ def format_insta_pair_result(request: KreaPairFormatRequest, deps: KreaPairForma
hard_output_composition = deps.pov_composition_text(hard_composition, pov_labels)
same_soft_cast = options.get("softcore_cast") == "same_as_hardcore"
soft_output_composition = deps.pov_composition_text(soft.get("composition"), pov_labels if same_soft_cast else [])
if same_soft_cast and pov_labels:
soft_cast_presence = (
"the woman is framed from the POV participant's first-person camera in a soft creator-teaser pose, "
"with the POV participant kept off-camera as the viewpoint and implied by camera position or foreground cues"
)
else:
soft_cast_presence = (
f"{deps.label_join(soft_labels)} share the frame in a soft creator-teaser pose"
if same_soft_cast
else "The image focuses on the woman alone"
)
soft_cast_presence = deps.softcore_cast_presence_phrase(
same_cast=same_soft_cast,
pov_labels=pov_labels if same_soft_cast else [],
cast_label=deps.label_join(soft_labels),
woman_label="the woman",
)
partner_styling = row.get("softcore_partner_styling")
if isinstance(partner_styling, dict):
outfits = partner_styling.get("outfits")