Fix prop confirmation bug, add Wan 2.7 model, refine multiple UI details, improve prop generation quality and aspect ratio, remove text overlays from Asset Center created images, and optimize prop filtering logic

This commit is contained in:
saturn
2026-04-03 22:36:41 +08:00
parent 854b932e67
commit 78b93331b4
136 changed files with 3393 additions and 875 deletions

View File

@@ -0,0 +1,31 @@
You are a prop asset description editor.
Task:
Update the visual prop description based on the user's image-edit instruction.
Prop name:
{prop_name}
Original description:
{original_description}
User instruction:
{modify_instruction}
Reference image context (may be empty):
{image_context}
Rules:
1. Describe only the prop itself. No usage, plot function, character action, camera direction, or scene background.
2. Preserve unchanged structure, material, color, and decorative details unless explicitly modified.
3. If reference images are provided, absorb their material, silhouette, pattern, and color cues.
4. The result must be suitable for an isolated prop asset sheet on a white background.
5. Include the prop's core structure, material, color, surface finish, decorative details, and quantity relationship when relevant.
6. Do not mention people, hands, tables, rooms, environment, atmosphere, or story purpose.
7. Return one concise English visual description.
Output format:
Return JSON only. ⚠️ JSON SAFETY: All quotation marks MUST be converted to corner brackets「」in JSON string values:
{
"prompt": "updated prop visual description"
}

View File

@@ -0,0 +1,30 @@
你是一个专业的道具资产描述更新专家。
【任务】
根据用户对道具图片的修改,更新道具的视觉描述词。
【道具名称】
{prop_name}
【原始道具描述】
{original_description}
【用户修改指令】
{modify_instruction}
{image_context}
【更新规则】
1. 只描述道具本体的静态视觉信息,不写用途、剧情、角色动作、镜头、背景环境。
2. 优先保留原描述里未被修改的结构、材质、颜色和装饰细节。
3. 如果有参考图片,请吸收参考图中的材质、轮廓、纹样、配色等关键视觉特征。
4. 输出必须适合白底居中的道具资产图生成。
5. 必须明确道具的主体结构、材质、颜色、表面处理、装饰细节和数量关系。
6. 禁止出现人物、手部、桌面、房间、场景、光影氛围、剧情用途等信息。
7. 使用中文输出,长度 40-100 字。
【输出格式】
只返回 JSON禁止返回任何其他内容。⚠ 所有引号(""''等)在 JSON 字符串值中必须替换为「」,严禁出现未转义的英文双引号 "
{
"prompt": "更新后的道具视觉描述"
}

View File

@@ -3,14 +3,15 @@ You are a key story prop extractor.
Task: identify only key props from the input text for an asset library that must preserve visual consistency across repeated appearances. Be conservative. Return JSON only.
Core definition of a prop:
A prop is a physical object that can exist independently of any specific scene and appears across multiple scenes or timelines. An object qualifies as a prop asset only if a character can "take it away" or "move it to another scene". Most stories have very few props, or even none at all.
A prop is a physical object that can exist independently of any specific scene and appears across multiple scenes or timelines. An object qualifies as a prop asset only if a character can "take it away" or "move it to another scene", and the text provides explicit evidence that the same object is persistently carried, reused, or repeatedly referenced. Most stories have very few props, or even none at all.
Output format:
{
"props": [
{
"name": "prop name",
"summary": "one-line objective prop description"
"summary": "short human-readable prop summary",
"description": "pure visual description for image generation"
}
]
}
@@ -18,11 +19,15 @@ Output format:
Key prop criteria:
1. It must be a real physical object that actually appears in the story.
2. It must be portable — capable of being carried, transferred, or removed from its current scene by a character.
3. It must reappear across multiple scenes or timelines, requiring a consistent visual design.
3. There must be explicit textual evidence that it reappears across multiple scenes or timelines and needs a consistent visual design. Do not infer future recurrence from common sense.
4. It must satisfy at least one of the following:
- characters hold it, use it, fight over it, deliver it, hide it, lose it, or search for it
- it is a key tool, weapon, artifact, piece of evidence, token, key, or clue carrier
- removing it would materially weaken plot comprehension or a key action
- it is a long-term personal item, recurring special equipment, or recurring vehicle tied to a character
5. It must also satisfy at least one uniqueness/continuity condition:
- the object has a non-replaceable identity: ancestral, custom-made, unique, magical, numbered, damaged in a distinctive way, or visually singular
- the text clearly shows the same object reappearing at multiple times or in multiple scenes
- the text clearly shows a character carrying, relying on, or repeatedly searching for the same object over time
Strictly exclude:
1. Ordinary background items, furniture, tableware, food, drinks, daily necessities, and decorations.
@@ -32,6 +37,8 @@ Strictly exclude:
5. Abstract concepts, emotions, powers, roles, places, creatures, and body parts.
6. Scene-fixed facilities — objects that are part of or built into a scene, even if they participate in the plot (e.g. a hacked computer, a smashed window, a fireplace on fire). If the object physically belongs to the scene and cannot be taken away by a character, it is not a prop. These are "scene states" and should be handled by scene descriptions.
7. Scene-standard equipment — if an object is the default fixture of its scene type (a computer in a computer room, a stove in a kitchen, bookshelves in a library, instruments in a lab, screens in a monitoring room), do not extract it.
8. Ordinary replaceable items — even if briefly used by a character, if the story would still work with another generic item of the same kind, it is not a prop. Examples: a fork in a restaurant, a glass on a table, a pen on a desk, a generic phone, a generic umbrella, a generic suitcase, a generic book.
9. One-off action items — if an object is used in only one scene for one action and there is no explicit evidence that it recurs later, do not output it.
Decision bias:
1. A specific-looking noun is not enough; it must have an explicit story function.
@@ -40,27 +47,37 @@ Decision bias:
4. If you are unsure whether it deserves an asset entry, do not output it.
5. Prefer under-extraction. Never output props just to increase the count.
6. Portability test: ask yourself "Can a character put this in their pocket, bag, or car and take it to another scene?" If not, do not output it.
7. Replaceability test: ask yourself "If this were swapped for another ordinary object of the same type, would the story still work?" If yes, do not output it.
8. Continuity test: if the text does not explicitly prove later recurrence or long-term ownership, do not output it.
9. Typical scene items such as a restaurant fork, a wine glass on a table, a lamp in a room, or an office computer should default to not output.
Example judgements (to calibrate your standard):
✅ Extract: a revolver the character carries at all times (cross-scene, portable)
✅ Extract: an evidence envelope (discovered, handed over, appears in multiple scenes)
✅ Extract: a time-manipulating watch worn by the protagonist (core prop, present throughout)
✅ Extract: a black SUV driven by the protagonist (cross-scene transport)
✅ Extract: an ancestral bronze dagger (unique identity, recurring, not replaceable by an ordinary object)
❌ Skip: a computer in a computer room (scene-fixed facility)
❌ Skip: a hacked computer displaying key clues (state change of a scene facility, not portable)
❌ Skip: a surveillance monitor in a monitoring room (scene-fixed facility)
❌ Skip: a refrigerator in a kitchen (scene-standard equipment)
❌ Skip: a rare book in a library (unless the character takes it away and uses it in another scene)
❌ Skip: a fork in a restaurant (ordinary replaceable tableware, even if a character uses it to eat)
❌ Skip: a wine glass on the table (single-scene ordinary object without continuity)
❌ Skip: a standard office laptop (ordinary equipment, not a recurring unique prop)
Output rules:
1. Only output `name` and `summary`.
2. `name` and `summary` must both be non-empty.
1. Only output `name`, `summary`, and `description`.
2. `name`, `summary`, and `description` must all be non-empty.
3. Do not repeat props that already exist in the prop library with the exact same name.
4. Keep names stable and short.
5. Keep summaries objective.
6. Usually output no more than 3 props unless more are clearly all key props.
7. If none exist, return {"props": []}. Returning an empty array is correct in most cases.
8. Replace raw quotation marks inside JSON string values with corner brackets「」.
5. `summary` is for humans only. Keep it short and objective. Do not mention plot function, repeated appearances, character interaction, or camera language.
6. `description` is for image generation only. Keep it purely visual: material, color, shape, structure, quantity relationship, decorative detail. Do not mention usage, plot, action, people, hands, tables, environment, or background.
7. If `summary` or `description` contains phrases like "appears multiple times", "used by the character", "drives the plot", or "in the frame", it is invalid.
8. Usually output no more than 3 props unless more are clearly all key props.
9. If none exist, return {"props": []}. Returning an empty array is correct in most cases.
10. Replace raw quotation marks inside JSON string values with corner brackets「」.
11. It is better to miss borderline candidates than to misclassify ordinary scene items as props.
Input:
{input}

View File

@@ -3,14 +3,15 @@
任务:从输入文本中只识别【关键道具】,用于建立需要长期保持外观一致的资产库。宁缺毋滥。只返回 JSON不得包含任何额外解释或 markdown。
道具的核心定义:
道具是可以脱离特定场景独立存在的、跨场景/跨时间线出现的实体物件。一个物件必须能被角色「带走」或「转移到另一个场景」,才有资格成为道具资产。大部分故事中道具数量非常少,甚至为零。
道具是可以脱离特定场景独立存在的、跨场景/跨时间线出现的实体物件。一个物件必须能被角色「带走」或「转移到另一个场景」,并且在文本中有明确证据表明它会被持续持有、反复使用、反复提及,才有资格成为道具资产。大部分故事中道具数量非常少,甚至为零。
输出格式:
{
"props": [
{
"name": "道具名称",
"summary": "一句话描述道具的外观/用途"
"summary": "给人阅读的简短道具说明",
"description": "用于生成图片的纯视觉描述"
}
]
}
@@ -18,11 +19,15 @@
关键道具判定标准:
1. 必须是剧情中真实出现的实体物件。
2. 必须是可移动的——能够被角色携带、转移、带离当前场景。
3. 必须跨场景或跨时间线重复出现,且需要保持外观一致。
3. 必须有明确文本证据表明它跨场景或跨时间线重复出现,且需要保持外观一致;禁止凭常识猜测它以后还会出现
4. 必须至少满足以下一种情况:
- 被角色持有、使用、争夺、交付、隐藏、丢失、寻找
- 是推进情节的关键工具、武器、法器、证物、信物、钥匙、线索载体
- 去掉它会明显影响剧情理解或关键动作成立
- 是角色长期携带或反复回收使用的专属物件、独特装备、特殊交通工具
5. 必须同时满足以下至少一条“唯一性/持续性”条件,否则不输出:
- 物件具有不可替代的独特身份,例如祖传、特制、唯一、带特殊能力、带特殊机关、带独特编号/纹样/损伤
- 文本明确表明同一件物品在多个场景/多个时间点反复出现
- 文本明确表明角色长期随身携带、持续依赖或反复寻找同一件物品
严格不提取:
1. 普通背景陈设、家具、餐具、食物、饮料、日用品、装饰物。
@@ -32,6 +37,8 @@
5. 抽象概念、情绪、能力、身份、地点、生物、身体部位。
6. 场景固有设施——物件是某个场景的组成部分或内置设备,即便它参与了剧情互动(如被黑客入侵的电脑、被砸碎的窗户、着火的壁炉),只要它在物理上依附于场景、无法被角色带走,就不是道具。这类属于"场景状态",由场景描述承载。
7. 场景常规配置——如果一个物件是该类场景的标配(电脑房的电脑、厨房的灶台、图书馆的书架、实验室的仪器、监控室的屏幕),直接不提取。
8. 普通可替换物件——即使它被角色短暂使用,只要换成同类另一件物品剧情仍成立,就不是道具。例如餐厅里的叉子、桌上的杯子、办公桌上的笔、本子、普通手机、普通雨伞、普通行李箱、普通书籍。
9. 一次性动作依赖物件——如果它只在单个场景里承担一次动作功能,没有明确后续复现证据,不输出。
判断倾向:
1. 仅因外观具体、名词明确,不足以成为关键道具;必须有明确剧情作用。
@@ -40,27 +47,37 @@
4. 如果不确定它是否值得进入资产库,直接不输出。
5. 优先少报,禁止为了凑数量而输出。
6. 可移动性测试:问自己"角色能把它装进口袋/背包/车里带到另一个场景吗?"如果不能,不输出。
7. 可替换性测试:问自己"把它替换成同类另一件普通物品,剧情是否仍然成立?"如果答案是“成立”,不输出。
8. 贯穿性测试:如果文本没有明确证据证明它会在后续再次出现或被长期持有,默认不输出。
9. 对“餐厅里的叉子、桌上的酒杯、房间里的台灯、办公室里的电脑”这类典型场景内物件,一律默认不输出。
示例判断(帮助校准标准):
✅ 应提取:角色随身携带的左轮手枪(跨场景出现、可移动)
✅ 应提取:关键证物信封(被发现、传递、多场景出现)
✅ 应提取:主角可操控时间的手表(核心道具,贯穿全剧)
✅ 应提取:主角驾驶的黑色越野车(跨场景移动工具)
✅ 应提取:祖传青铜短剑(独特身份,反复出现,无法被普通物件替代)
❌ 不提取:电脑房里的电脑(场景固有设施)
❌ 不提取:被黑客入侵、显示关键线索的电脑(场景设施的状态变化,不可移动)
❌ 不提取:监控室的监控屏幕(场景固有设施)
❌ 不提取:厨房的冰箱(场景常规配置)
❌ 不提取:图书馆的某本古籍(除非角色将它取走带到其他场景使用)
❌ 不提取:餐厅里的叉子(普通可替换餐具,即使角色拿它吃饭或短暂拿在手里)
❌ 不提取:桌上的红酒杯(单场景普通物件,不具备贯穿性)
❌ 不提取:办公室里的普通笔记本电脑(普通设备,场景配置)
输出要求:
1. 只输出个字段name、summary。
2. name 不能为空;summary 不能为空。
1. 只输出个字段name、summary、description
2. namesummary、description 都不能为空。
3. 如果道具库里已经有完全同名道具,不要重复输出。
4. 名称尽量简洁稳定,例如"青铜匕首""录音笔""红绳手链"。
5. summary 只写客观描述,不写剧情推断
6. 通常不超过 3 个;只有确实都是关键道具时才可更多
7. 如果没有合适道具,返回 {"props": []}。绝大多数情况下返回空数组是正确的
8. JSON 字符串值中的引号统一替换为「」
5. summary 只给人阅读,简短说明这是一个什么道具;禁止写剧情作用、使用过程、出现频次、角色互动、镜头描述
6. description 只写图片生成所需的静态视觉信息;只允许写材质、颜色、形状、结构、数量关系、装饰细节;禁止写用途、剧情、动作、人物、手部、桌面、环境、背景
7. 如果 summary 或 description 中出现"多次出现""被角色使用""推进剧情""在画面中"这类语义,视为错误,禁止输出
8. 通常不超过 3 个;只有确实都是关键道具时才可更多
9. 如果没有合适道具,返回 {"props": []}。绝大多数情况下返回空数组是正确的。
10. JSON 字符串值中的引号统一替换为「」。
11. 宁可漏掉边缘候选,也不要把场景里的普通物件误报为道具。
输入文本:
{input}