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
+19 -2
View File
@@ -485,17 +485,34 @@ def _insta_of_pair_from_row(row: dict[str, Any], detail_level: str, keep_style:
soft_text, _soft_method = _metadata_to_prose(soft_row, detail_level, keep_style)
hard_text, _hard_method = _metadata_to_prose(hard_row_for_text, detail_level, keep_style)
descriptor = _clean_text(row.get("shared_descriptor"))
options = row.get("options") if isinstance(row.get("options"), dict) else {}
cast_descriptors = row.get("shared_cast_descriptors")
if isinstance(cast_descriptors, list):
cast_descriptor_text = _human_join([_clean_text(item) for item in cast_descriptors if _clean_text(item)])
else:
cast_descriptor_text = _clean_text(cast_descriptors)
same_soft_cast = options.get("softcore_cast") == "same_as_hardcore"
parts = []
if cast_descriptor_text:
if cast_descriptor_text and same_soft_cast:
parts.append(f"The shared cast descriptors are {cast_descriptor_text}")
elif descriptor:
parts.append(f"The shared creator descriptor is {descriptor}")
parts.append(f"The softcore primary creator descriptor is {descriptor}")
if cast_descriptor_text and not same_soft_cast:
parts.append(f"The hardcore cast descriptors are {cast_descriptor_text}")
if same_soft_cast:
parts.append("The softcore version keeps the same adult cast present together in a non-explicit teaser setup")
partner_styling = row.get("softcore_partner_styling")
if isinstance(partner_styling, dict):
outfits = partner_styling.get("outfits")
if isinstance(outfits, list):
outfit_text = _human_join([_clean_text(item) for item in outfits if _clean_text(item)])
if outfit_text:
parts.append(f"Softcore partner styling: {outfit_text}")
pose = _clean_text(partner_styling.get("pose"))
if pose:
parts.append(f"The shared softcore cast pose is {pose}")
if soft_text:
parts.append(f"Softcore version: {soft_text}")
if hard_text: