fix: 清单4 未完成项二轮(视频项目收口/选用角色/场景空镜/场景刷新 + 4:5 尺寸)
ZWQ#15 视频进度卡 3/4(真因补全): - current_stage 没推到 VIDEO 时 settle 守卫直接返回 → 永不收口。 submit/poll/adopt 幂等补推 current_stage→VIDEO;进详情(retrieve)检测全段已出片即自愈收口。 存量卡死项目一打开就自动变「已完成」。+2 测试 ZWQ#7 演员库选用角色未自动「已过审/已采用」: - 真实流程是 attach(选用),非详情弹窗按钮。attach 时显式置 adopt=adopted + 人物立绘自动送审(on_commit)。+1 测试 ZWQ#13 场景出真人致视频被拒(加强): - 场景空镜约束改为显式压过脚本描述里的人物词(「即使上文提到人也只画环境」)。 ZWQ#17 场景生成中刷新跳新窗口: - 正在生成的场景草稿不再落盘 → 生成中刷新页面不会与新实体卡并存成两个窗口。 附:平台套图 4:5 尺寸 1664x2080→1728x2160(≥Seedream 5.0 最小面积 3686400px,否则 ARK 退 400)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -770,7 +770,9 @@ def _ratio_to_volcano_size(ratio: str) -> str:
|
||||
"4:3": "2304x1728",
|
||||
"9:16": "1440x2560",
|
||||
"16:9": "2560x1440",
|
||||
"4:5": "1664x2080",
|
||||
# 4:5 必须 ≥ Seedream 5.0 的最小面积 3,686,400 px:旧值 1664x2080=3.46M 会被 ARK 退 400
|
||||
# (InvalidParameter: image size must be at least 3686400 pixels)。1728x2160 精确 4:5 且 3.73M 达标。
|
||||
"4:5": "1728x2160",
|
||||
}
|
||||
r = (ratio or "").strip()
|
||||
if r in presets:
|
||||
@@ -1069,12 +1071,16 @@ def generate_base_asset(*, project, user, kind: str, prompt: str, label: str = "
|
||||
elif kind == BaseAssetGroup.Kind.PERSON:
|
||||
gen_prompt = build_person_frontal_prompt(prompt) # 人物立绘:包成「电商真人模特/正面全身/纯色背景」统一模板
|
||||
else:
|
||||
# 场景图 = 空镜。不论 admin「提示词」页的 scene 模板写没写,都强制叠加「无真人」约束:
|
||||
# 否则模型常自作主张往场景里塞真人模特,下游用这张场景图生成视频时被火山以
|
||||
# 「输入图像可能包含真实人物」拒绝(ZWQ#13)。已含「真人」字样则不重复叠加。
|
||||
# 场景图 = 空镜。不论 admin「提示词」页的 scene 模板写没写,都强制叠加「无真人」硬约束,并显式压过
|
||||
# 场景描述里可能出现的人物词(如「主播在客厅」)—— 否则模型会照着画出真人,下游用这张场景图生成视频时
|
||||
# 被火山以「输入图像可能包含真实人物」拒绝(ZWQ#13)。已叠加过(含「空镜」)则不重复。
|
||||
gen_prompt = render_prompt("scene", "{场景描述}", 场景描述=(prompt or "").strip())
|
||||
if "真人" not in gen_prompt:
|
||||
gen_prompt = f"{gen_prompt},空镜场景、只有环境与陈设,画面中不要出现任何真人 / 人物 / 模特 / 人脸 / 人手,干净构图"
|
||||
if "空镜" not in gen_prompt:
|
||||
gen_prompt = (
|
||||
f"{gen_prompt}。"
|
||||
"重要约束:这是一张空镜场景图,画面里绝对不要出现任何人物 / 真人 / 模特 / 人脸 / 人手 / 人影;"
|
||||
"即使上文描述里提到了人,也只画对应的环境、空间与陈设,把人物完全省略。干净构图,9:16 竖屏。"
|
||||
)
|
||||
payload = {
|
||||
"model": model_config.name, "endpoint": model_config.endpoint, "prompt": gen_prompt,
|
||||
"kind": kind, "label": label or "", "group_id": str(group_id) if group_id else "",
|
||||
|
||||
Reference in New Issue
Block a user