优化视频复刻

This commit is contained in:
Azmat@qq.com
2026-08-27 17:58:48 +08:00
parent d2b786a3cf
commit b3bf159e08
10 changed files with 545 additions and 64 deletions
+15 -2
View File
@@ -901,6 +901,15 @@ NO_EMBEDDED_CAPTIONS_REQUIREMENT = (
"只保留商品包装上参考图中原有的真实物理文字与标识。旁白和环境音可以保留,但不要把声音转成画面文字。"
)
# 故事板图会作为 Seedance 的参考图。导演信息应由页面从结构化脚本渲染,
# 不能烧进参考图,否则边框、时间标签和旁白文字会被视频模型误当成待保留的画面元素。
STORYBOARD_VIDEO_KEYFRAME_REQUIREMENT = (
"【视频关键帧硬性规则】这张图将直接作为视频生成参考图:只生成一张干净、全幅、写实的 9:16 关键画面,"
"画面必须完整呈现本段最关键的角色、商品、场景、动作和空间关系。"
"禁止拼图、多宫格、故事板边框、时间轴、机位标注、旁白文字、标题、价格贴片、字幕、UI 或任何叠加文字;"
"只保留商品包装参考图中原有的真实物理文字与标识。"
)
def enforce_no_embedded_captions(prompt: str) -> str:
"""所有视频入口最终汇入这里,避免某个入口漏传“无字幕”导致模型自行加花字。"""
@@ -2710,7 +2719,9 @@ def build_storyboard_frame_prompt(project, segment, extra_prompt: str = "") -> s
补充=(("\n" + extra_prompt.strip()) if extra_prompt else ""),
)
cleaned = "\n".join(line for line in rendered.split("\n") if line.strip())
return enforce_no_embedded_captions(_apply_storyboard_output_ratio(cleaned, project))
return _apply_storyboard_output_ratio(
f"{cleaned}\n{STORYBOARD_VIDEO_KEYFRAME_REQUIREMENT}", project
)
def build_video_segment_prompt(project, video_segment, scene, refs, user_prompt: str = "") -> str:
@@ -2921,7 +2932,9 @@ def build_storyboard_frame_prompt_refs(project, segment, refs: list[dict], extra
补充=(("\n" + extra_prompt.strip()) if extra_prompt else ""),
)
cleaned = "\n".join(line for line in rendered.split("\n") if line.strip())
return enforce_no_embedded_captions(_apply_storyboard_output_ratio(cleaned, project))
return _apply_storyboard_output_ratio(
f"{cleaned}\n{STORYBOARD_VIDEO_KEYFRAME_REQUIREMENT}", project
)
def _is_transient_error(exc: Exception) -> bool: