Support seeded atlas prompt cue variants

This commit is contained in:
2026-07-01 00:21:31 +02:00
parent 7e41613c1e
commit b8d164a3da
5 changed files with 148 additions and 9 deletions
+12 -1
View File
@@ -109,7 +109,18 @@ def _krea2_atlas_variant_sentence(axis_values: Any) -> str:
variant = _selected_krea2_atlas_variant(axis_values)
if not variant:
return ""
cues = _unique_texts(list(variant.get("prompt_cues") or []) or [variant.get("canonical_geometry")])
cue_sets = krea2_pose_variant_catalog.prompt_cue_sets(variant)
selected_index = 0
if isinstance(axis_values, dict):
indices = axis_values.get("krea2_prompt_variant_indices")
if isinstance(indices, dict):
try:
selected_index = int(indices.get(str(variant.get("key") or ""), 0))
except (TypeError, ValueError):
selected_index = 0
if selected_index < 0 or selected_index >= len(cue_sets):
selected_index = 0
cues = _unique_texts(cue_sets[selected_index] if cue_sets else [variant.get("canonical_geometry")])
sentence = _clean(". ".join(cues)).rstrip(".")
if isinstance(axis_values, dict):
restored_details = _unique_texts(_list_values(axis_values.get("restored_prompt_details")))