Align SDXL soft pair tags
This commit is contained in:
@@ -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,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user