优化视频复刻
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user