Skip to content
分镜基础提示词生成

分镜基础提示词生成

本文属于“当前架构”文档,描述当前已经生效的基础提示词生成规则。

核心结论

镜头首帧、关键帧、尾帧的 AI 生成结果,当前统一定义为:

基础提示词

也就是:

  • 只描述画面本身
  • 不包含 图1 / 图2
  • 不包含 ## 图片内容说明
  • 不直接承担最终图片映射说明

最终提交给图片模型的提示词,由后续 frame-render-prompt 再基于:

  • 基础提示词
  • 当前帧职责 guidance
  • 当前参考图顺序

进行二次渲染。

当前输入上下文

基础提示词任务当前会综合以下信息:

  • 镜头标题
  • 剧本摘录
  • 镜头补充描述
  • 景别 / 机位 / 运镜 / 时长
  • 氛围 / 情绪标签 / 视效说明
  • 对白摘要
  • 已确认动作拍点(action_beats
  • 项目级 visual_style
  • 项目级 style
  • 项目级 unify_style
  • 镜头已确认角色及其描述
  • 镜头已确认场景及其描述
  • 镜头已确认道具及其描述
  • 镜头已确认服装及其描述
  • 上一镜头标题、剧本摘录与结尾状态摘要
  • 下一镜头标题、剧本摘录与起始目标摘要
  • 当前镜头与相邻镜头的连续性建议

其中,角色上下文除角色自身描述外,还会尽量带入:

  • 角色绑定的演员形象
  • 角色默认服装

用于增强跨镜头一致性。

项目级风格继承规则

基础提示词生成时,项目级风格不是“弱提示”,而是显式约束:

  • 必须继承项目级 visual_style
  • 必须继承项目级 style
  • unify_style = true
    • 镜头信息不足时,应优先向项目既有风格收敛
    • 不应自由发散到其他视觉风格

这意味着:

项目风格
→ 基础提示词
→ 最终渲染提示词
→ 图片生成

是一条连续链路。

已确认实体的作用

基础提示词生成不会只依赖剧本摘录里的自然语言描述。

当前还会显式读取镜头已确认的:

  • 角色
  • 场景
  • 道具
  • 服装

这些实体名称必须在生成结果中原样保留,不应被改写、翻译或替换为同义词。

如果镜头信息不完整,模型应优先使用这些已确认实体来补足画面,而不是凭空新增主要主体。

输出口径

当前基础提示词的目标是保持统一的描述结构,优先按以下顺序组织:

  1. 景别 / 机位 / 运镜
  2. 场景环境
  3. 主体人物或关键对象
  4. 动作与状态
  5. 氛围与情绪
  6. 必要的风格收束

这条口径用于降低同项目不同镜头之间的提示词漂移。

当前系统还会为基础提示词追加一层“连续性约束”:

  • 若存在上一镜头,当前画面应优先承接上一镜头的动作、视线、情绪或空间方向
  • 若存在下一镜头,当前画面应形成可自然过渡到下一镜头的收束状态
  • 尽量明确主体位置、朝向与动作峰值,减少镜头切换时的突兀感

当前系统还会追加“构图与空间锚点建议”:

  • 根据当前景别与运镜判断应优先突出主体还是环境
  • 同场景连续镜头优先保持空间轴线与人物朝向稳定
  • 若存在主场景和主角色,会显式提示模型锁定场景锚点与主体视线逻辑

当前系统还会追加“朝向与视线建议”:

  • 对话或对视场景优先保持说话者与受话者的视线关系连续
  • 同场景相邻镜头优先保持人物左右面向稳定,减少反打跳轴
  • 过肩镜头优先保持前景肩部位置与被看对象方向稳定

同时,系统会额外向模型提供一条“主体优先级建议”,帮助模型避免平均铺陈所有信息:

  • 优先写主角色
  • 优先建立主场景
  • 道具仅在进入主动作或构图焦点时重点写入
  • 服装主要用于保证人物外观一致性,不要求每次都成为画面中心

当前系统还会按帧类型补充专项建议:

  • 首帧:优先建立空间、主体初始站位和第一眼视觉印象;若剧本存在连续反应链,优先使用“刚开始 / 尚未完成 / 被打断”的未完成态表达,不直接写成后续完成动作或最终姿态
  • 关键帧:优先锁定动作峰值、情绪爆点或信息密度最高的瞬间
  • 尾帧:优先强调动作收束、情绪余韵和下一镜头可承接的停留点

若镜头已经在准备阶段确认了 action_beats,当前链路会优先消费这组动作拍点:

  • 首帧优先围绕 trigger(触发 / 起始反应)拍点组织画面
  • 关键帧优先围绕 peak(动作峰值 / 戏剧张力最高阶段)拍点组织画面
  • 尾帧优先围绕 aftermath(结果态 / 收束阶段)拍点组织画面

当前这一层仍然是轻量启发式,不要求 action_beats 先存成结构化对象:

  • 继续使用 list[str]
  • 后端会基于关键词和相对位置推断 trigger / peak / aftermath
  • 因此首帧、关键帧、尾帧现在会更稳定地消费同一组动作拍点,但各自抓取不同阶段
  • 这组阶段信息当前也会进入关键帧基础提示词任务的 debug_context
    • 前端关键帧预览会直接展示“动作拍点阶段”和“当前帧优先消费”
    • 因此编辑页看到的阶段标签与关键帧链实际使用的阶段信息现在保持一致

只有在镜头尚未确认 action_beats 时,系统才继续主要依赖 script_excerpt + shot_description 的自然语言切片。

其中首帧当前还有一层轻量启发式:

  • script_excerpt + shot_description 中同时出现明显的连续反应链关键词
    • 例如:突然 / 下意识 / 脱手 / 蹲下 / 转身 / 回头
  • 系统会额外追加更硬的时间切片约束
  • 目标是让首帧更稳定地落在“触发后最早的可见瞬间”,而不是直接落到反应完成态

当前系统还会进一步把上述 guidance 压缩成 director_command_summary

  • 这不是简单拼接,而是会按帧类型重新排序
  • 若镜头存在同场景连续关系、对白或明显对视风险
    • screen_direction_guidance 会被自动上提
    • 更早进入 必须 级约束
  • 因此首帧、关键帧、尾帧看到的“必须 / 优先”摘要并不完全相同
  • 目标是让模型先守住最容易导致突兀感的事项,例如:
    • 同场景镜头的左右轴线
    • 对话关系中的视线连续
    • 推进镜头中的构图重心

任务结果可观察性

基础提示词任务在成功后,除了返回最终 prompt,还会在任务结果中附带:

  • debug_context
  • quality_checks

其中包含本次生成实际使用的:

  • 项目风格字段
  • 镜头语言字段
  • 已确认实体上下文

用于排查“为什么生成成这样”这一类问题。

当前任务执行链还会做一层轻量质量闸:

  • 若结果混入 图1 / 图2## 图片内容说明
  • 若结果遗漏主角色名称

系统会先自动带着修正要求重试一次,再决定最终落库结果。