Add character helper reference outputs
This commit is contained in:
+37
-3
@@ -1137,10 +1137,15 @@ def _reference_context(ref, compact_picture_number):
|
||||
|
||||
def _subject_count_guard_text(selected_refs):
|
||||
character_labels = []
|
||||
seen_characters = set()
|
||||
for picture_number, (_slot, ref) in enumerate(selected_refs or (), 1):
|
||||
if ref.get("kind") != "character":
|
||||
continue
|
||||
name = _reference_text(ref.get("name")) or _reference_text(ref.get("id"))
|
||||
key = (_reference_text(ref.get("id")) or name or f"picture-{picture_number}").lower()
|
||||
if key in seen_characters:
|
||||
continue
|
||||
seen_characters.add(key)
|
||||
label = f"<Picture {picture_number}>"
|
||||
if name:
|
||||
label = f"{label} {name}"
|
||||
@@ -1960,8 +1965,8 @@ class DumasCharacterHelperNode:
|
||||
"IMAGE sockets plus simple identity fields, while passing both images "
|
||||
"through unchanged."
|
||||
)
|
||||
RETURN_TYPES = ("IMAGE", "IMAGE", "STRING", "STRING")
|
||||
RETURN_NAMES = ("image1", "image2", "reference_prompt", "wardrobe")
|
||||
RETURN_TYPES = ("IMAGE", "IMAGE", "STRING", "STRING", _REFERENCE_TYPE, _REFERENCE_TYPE)
|
||||
RETURN_NAMES = ("image1", "image2", "reference_prompt", "wardrobe", "reference1", "reference2")
|
||||
FUNCTION = "build_character_text"
|
||||
CATEGORY = "Dumas/MiniMax"
|
||||
|
||||
@@ -2122,7 +2127,36 @@ class DumasCharacterHelperNode:
|
||||
name,
|
||||
alias,
|
||||
)
|
||||
return (image1, image2, text, wardrobe_text)
|
||||
facts = {
|
||||
"gender": _normalize_free_text(gender),
|
||||
"age": str(_parse_positive_int(age) or ""),
|
||||
"nationality": _normalize_free_text(nationality),
|
||||
"occupation": _normalize_free_text(occupation),
|
||||
"height_feet": str(height_feet or "").strip(),
|
||||
"height_inches": str(height_inches or "").strip(),
|
||||
"accent": _normalize_free_text(accent),
|
||||
}
|
||||
common = {
|
||||
"kind": "character",
|
||||
"explicit_id": character_id,
|
||||
"name": name,
|
||||
"aliases": alias,
|
||||
"description": general,
|
||||
"wardrobe": wardrobe,
|
||||
"general": general,
|
||||
"facts": facts,
|
||||
}
|
||||
reference1 = make_reference(
|
||||
image=image1,
|
||||
summary="Primary full-body character reference.",
|
||||
**common,
|
||||
)
|
||||
reference2 = make_reference(
|
||||
image=image2,
|
||||
summary="Secondary facial character reference.",
|
||||
**common,
|
||||
)
|
||||
return (image1, image2, text, wardrobe_text, reference1, reference2)
|
||||
|
||||
|
||||
class DumasLocationHelperNode:
|
||||
|
||||
Reference in New Issue
Block a user