Improve same-cast softcore and solo hardcore prompts

This commit is contained in:
2026-06-24 11:13:59 +02:00
parent 51d351679f
commit af8fe355f7
5 changed files with 162 additions and 13 deletions
+20 -2
View File
@@ -299,10 +299,28 @@ def _insta_pair_to_krea(row: dict[str, Any], detail_level: str, style_mode: str)
if options.get("softcore_cast") == "same_as_hardcore"
else f"Woman A / primary creator: {descriptor}"
)
same_soft_cast = options.get("softcore_cast") == "same_as_hardcore"
soft_cast_presence = (
"The same listed adult cast is present together in this softcore version in a non-explicit teaser pose, with no sex act or genital contact"
if same_soft_cast
else "The softcore version focuses on Woman A alone"
)
partner_styling = row.get("softcore_partner_styling")
if isinstance(partner_styling, dict):
outfits = partner_styling.get("outfits")
partner_outfit_text = "; ".join(_clean(item) for item in outfits if _clean(item)) if isinstance(outfits, list) else ""
partner_pose = _clean(partner_styling.get("pose"))
else:
partner_outfit_text = ""
partner_pose = ""
soft_parts = [
f"A visibly adult creator, {descriptor}",
f"Shared cast descriptors: {soft_cast_descriptor_text}" if soft_cast_descriptor_text else "",
f"Shared cast descriptors: {soft_cast_descriptor_text}" if same_soft_cast and soft_cast_descriptor_text else "",
f"Softcore primary creator descriptor: {soft_cast_descriptor_text}" if not same_soft_cast and soft_cast_descriptor_text else "",
soft_cast_presence,
f"Partner softcore styling: {partner_outfit_text}" if partner_outfit_text else "",
f"The shared softcore cast pose is {partner_pose}" if partner_pose else "",
f"shown in a {soft_level or 'softcore'} Insta/OF creator image",
f"wearing {soft.get('item')}" if soft.get("item") else "",
f"{soft.get('pose')}" if soft.get("pose") else "",
@@ -314,7 +332,7 @@ def _insta_pair_to_krea(row: dict[str, Any], detail_level: str, style_mode: str)
]
hard_parts = [
f"The same visibly adult creator, {descriptor}, is the visually central woman in a consensual explicit adult {hard_level or 'hardcore'} scene",
f"Shared cast descriptors: {cast_descriptor_text}" if cast_descriptor_text else "",
f"{'Shared' if same_soft_cast else 'Hardcore'} cast descriptors: {cast_descriptor_text}" if cast_descriptor_text else "",
f"all participants are 21+ and visibly adult; the cast includes {hard_cast_text}" if hard_cast_text else "all participants are 21+ and visibly adult",
_clean(hard.get("role_graph")),
f"The sexual action is {hard.get('item')}" if hard.get("item") else "",