Align SDXL soft pair tags

This commit is contained in:
2026-06-27 16:37:31 +02:00
parent 9cd1f03bfe
commit 96ff37a5a0
4 changed files with 69 additions and 7 deletions
+14
View File
@@ -8,11 +8,13 @@ try:
from . import route_metadata as route_metadata_policy
from . import sdxl_presets as sdxl_policy
from . import sdxl_tag_routes
from . import softcore_text_policy
except ImportError: # Allows local smoke tests with `python -c`.
import formatter_input as input_policy
import route_metadata as route_metadata_policy
import sdxl_presets as sdxl_policy
import sdxl_tag_routes
import softcore_text_policy
PROMPT_FIELD_LABELS = input_policy.prompt_field_labels()
@@ -239,6 +241,17 @@ def explicit_tags(text: str, nude_weight: float) -> list[str]:
return tags
def softcore_pair_tags(row: dict[str, Any], root: dict[str, Any]) -> list[str]:
tags = ["softcore teaser", softcore_text_policy.softcore_style_tag()]
options = root.get("options") if isinstance(root.get("options"), dict) else {}
cast_mode = clean(options.get("softcore_cast")).lower()
if cast_mode == "same_as_hardcore" or root.get("shared_cast_descriptors"):
tags.append("same-cast creator frame")
elif "solo" in clean(row.get("subject_type") or row.get("primary_subject")).lower():
tags.append("solo creator frame")
return tags
def tag_route_dependencies() -> sdxl_tag_routes.SDXLTagRouteDependencies:
return sdxl_tag_routes.SDXLTagRouteDependencies(
clean=clean,
@@ -254,4 +267,5 @@ def tag_route_dependencies() -> sdxl_tag_routes.SDXLTagRouteDependencies:
formatter_hint_tags=formatter_hint_tags,
camera_tags=camera_tags,
explicit_tags=explicit_tags,
softcore_pair_tags=softcore_pair_tags,
)