fix: enable unified similar subject views

This commit is contained in:
2026-05-17 23:23:56 +08:00
parent cbe7a1b9ef
commit 44136f58b7
3 changed files with 29 additions and 8 deletions

View File

@@ -3893,6 +3893,13 @@ def generate_subject_assets(job_id: str, idx: int, element_id: str, req: Generat
)
prompt_extra = req.prompt.strip()
prompt_extra_clause = f"User direction: {prompt_extra[:1200]} " if prompt_extra else ""
identity_lock_clause = (
"Identity lock: this request generates a six-view pack for ONE single subject. "
"Before rendering, infer one consistent character bible from the reference image(s): gender presentation, age range, body proportions, head shape, face direction cues, material, silhouette, wardrobe/material style, and commercial mood. "
"Keep that same character bible unchanged across every generated view. "
"If user direction requests a gender, age, or style change, apply that one change uniformly to all views; never mix male/female, young/old, or multiple style identities inside the same six-view pack. "
"For transparent humanoids, keep the same transparent skin shell, skeleton proportions, visible spine/rib cage/pelvis/limb bones, and non-horror wellness character style in every view. "
)
models = [IMAGE_MODEL, "gemini-3.1-flash-image-preview", "gemini-2.5-flash-image"]
generated: list[SubjectAsset] = []
try:
@@ -3912,6 +3919,7 @@ def generate_subject_assets(job_id: str, idx: int, element_id: str, req: Generat
f"Generate one newly rendered {view_prompt} for {target}. "
f"The subject is a {kind_phrase}. If multiple frames are shown, treat them as evidence of one same subject, not multiple subjects. "
+ identity_clause
+ identity_lock_clause
+ prompt_extra_clause
+ actor_style_clause
+ "The subject must be complete, centered, full body or full object, head-to-feet visible when applicable, not cropped by the canvas. "