Extract SDXL preset policy

This commit is contained in:
2026-06-27 01:25:39 +02:00
parent 4c45d96472
commit a128b2dc9a
5 changed files with 130 additions and 52 deletions
+66
View File
@@ -0,0 +1,66 @@
from __future__ import annotations
DEFAULT_STYLE_PRESET = "flat_vector_pony"
DEFAULT_QUALITY_PRESET = "pony_high"
SDXL_STYLE_PRESETS = {
"flat_vector_pony": "(skindentation:1.25), (flat color:2.0), no lineart, no outline, Flat vector",
"flat_vector": "(flat color:2.0), no lineart, no outline, Flat vector",
"photographic": "realistic photo, detailed skin texture, depth of field",
"none": "",
}
SDXL_QUALITY_PRESETS = {
"pony_high": (
"amazing quality, ultra detailed, 8k, very detailed, high detailed texture, "
"highly detailed anatomy, best quality, newest, very aesthetic, (score_9:1.1), "
"(score_8_up:1.1), (score_7_up:1.1), masterpiece, absurdres, highres"
),
"sdxl_high": "masterpiece, best quality, amazing quality, ultra detailed, 8k, absurdres, highres",
"none": "",
}
SDXL_DEFAULT_NEGATIVE = (
"worst quality, low quality, normal quality, lowres, bad anatomy, bad hands, "
"extra fingers, missing fingers, fused fingers, deformed, disfigured, malformed body, "
"watermark, signature, text, logo, blurry, jpeg artifacts, censored, mosaic censor"
)
SDXL_ACTION_FAMILY_TAGS = {
"foreplay": ("foreplay", "body contact"),
"outercourse": ("outercourse", "non-penetrative sex"),
"oral": ("oral sex",),
"penetration": ("penetrative sex", "penetration"),
"toy_double": ("double penetration", "toy-assisted sex"),
"climax": ("climax", "semen"),
}
SDXL_POSITION_FAMILY_TAGS = {
"penetrative": ("penetrative sex",),
"foreplay": ("foreplay",),
"interaction": ("interaction",),
"manual": ("manual stimulation",),
"oral": ("oral sex",),
"outercourse": ("outercourse",),
"anal": ("anal sex",),
"climax": ("climax",),
"threesome": ("threesome",),
"group": ("group sex",),
}
def sdxl_style_preset_choices() -> list[str]:
return list(SDXL_STYLE_PRESETS)
def sdxl_quality_preset_choices() -> list[str]:
return list(SDXL_QUALITY_PRESETS)
def normalize_style_preset(value: str) -> str:
return value if value in SDXL_STYLE_PRESETS else DEFAULT_STYLE_PRESET
def normalize_quality_preset(value: str) -> str:
return value if value in SDXL_QUALITY_PRESETS else DEFAULT_QUALITY_PRESET