跳到正文

AI 短剧分镜与关键帧

把已确认剧本组织成镜头、起止动作、视觉依据和关键帧说明。

开源精选视频内容27 个文件2,909 Stars浏览次数 0zenstory-ai/drama-skills MIT版本 f53fb20
开始使用

下载前阅读 SKILL.md 中的使用条件,并确认所用工具支持对应能力。

输入资料
已确认的剧本 角色、场景与视觉设定 阅读本节完整说明
交付内容
分镜文档 关键帧与镜头连续性说明 阅读本节完整说明
环境与依赖
只有安装、升级或排障时运行 python3 scripts/selftest.py。 阅读本节完整说明
  1. 获取完整包,保留配套文件的目录结构。
  2. 按照原文准备所需工具、依赖与输入资料。
  3. 阅读对应使用步骤与输入输出说明,在自己的环境中验证结果。

使用提示摘自原文,配套文件保留来源版本;实际运行条件以各包说明为准。

正文

获取原文件

references/shot-craft.md

规则分级

  • structural_invariant:可以直接检查的结构要求,例如每段原文都有处理结果、引用可以解析;格式错误可以阻断。
  • reviewed_invariant:必须守住、但要结合证据判断的内容要求,例如镜头没有改写剧本动作。
  • craft_default:通常有效的起步方法;有明确的戏剧理由时可以调整。
  • taste_option:创作者或视觉方向已经接受的风格选择,不能仅因不同于示例就判错。

目录

  1. 先落实原文,再追求画面
  2. 镜头目的
  3. 场面调度与地理
  4. 景别与摄影机动机,含运镜逐镜选
  5. 时长与切镜
  6. 视觉方向选择
  7. 相连边界
  8. 首尾成对
  9. 一镜到底还是切开
  10. 常见问题
  11. 审查问题

先落实原文,再追求画面

SHT-01 要求每个与制作有关的剧本段都有明确处理:由镜头落实、有理由地省略,或因 新的观众体验而有意重复。

先把剧本段与镜头对应起来,再设计镜头。原文落实表是责任清单,不是“一段一镜”公式。 连续表演和空间关系能守住原意时,几段原文可以合在一镜;揭示、反应、证据细节或空间 变化很重要时,一段原文也可以由几镜承担。

原文落实直接写在 分镜.md:每个制作相关的动作、对白、声音和画面文字都指向承担它的 SHOT-...;镜头条目反向写场景 ID 与必要短引文。来源改变后逐场复核对应镜头,不依赖隐藏引用。

重复拍同一段内容,只有在第二次带来新的观众体验时才成立,例如新增反应、矛盾、 此前保留的证据或对前镜的新理解;不能因为第一次对应关系被忘了就重复。

动作落实表

SHT-08 · reviewed_invariant: 每个有权威来源的动作只有一个主要落实镜头;其他 镜头若再次涉及该动作,必须增加反应、细节或对原信息的新理解。峰值处的冲击重复是有意的例外, 见下文。

原文落实数量只能证明“某段原文被引用”,不能证明动作没有提前、重复或遗漏。对转手、 开门、受伤、揭面、拿出证物等动作,另记:

来源动作 主要落实镜头 动作前事实 动作后事实 其他镜头的作用
右手从衣内取令牌 SHOT-02 令牌在衣内 右手持令牌 SHOT-03 只展示纹样和接收者反应
  • 只有主要落实镜头可以把状态从动作前改成动作后。
  • 前一镜的结束状态不得在没有来源动作时提前变成动作后状态。
  • 后一镜已经从动作后状态开始时,运动规格不得再完整表演一次该动作。
  • 其他镜头要写清自己负责细节、反应还是重新解释,不能成为第二个主要落实镜头。

冲击重复:情绪爆发、打脸或重大反转的那一下,可以把同一个关键动作从两三个角度各给一次, 让观众连看几遍。这是有意的选择,不是忘了对应关系,所以要写出来,并守住连续性:

  • 重复镜在说明里写「冲击重复:SHOT-...」,指向主要落实镜头;
  • 状态只改变一次:每个重复镜都从同一个动作前状态走到同一个动作后状态,第二遍不能在第一遍的结果上再做一次;
  • 重复镜之间起止不衔接,是这项选择本身,与声明过的蒙太奇一样按 CON-05 处理;最后一个重复镜之后,下一镜从动作后状态开始;
  • 只用在峰值。一集里处处重复,就没有哪一下是冲击了。

镜头目的

SHT-02 要求镜头守住来源原意,并说明观众或人物在本镜结束时发生了什么变化。 只有漂亮画面、没有戏剧职责的镜头,不能通过内容审查。

按以下顺序设计:

  1. 找出来源中的关键动作:行动、台词、发现、拒绝、转手或揭示。
  2. 说明观众或人物因此发生什么变化。
  3. 决定本镜主要从谁的体验组织画面。
  4. 确定开始和结束时必须看见什么。
  5. 最后才选择景别、摄影机行为和切镜点。

镜头可以负责建立空间、让观众站到某个人物一边、展示证据、暂缓信息、转移权力、 表现反应,或让后果无法回避。“中景展示人物说话”不算足够的镜头目的。

承受者的反应

SHT-27 · reviewed_invariant:打击、否定或翻盘需要观众理解其后果时, 分镜应安排可读的承受者反应或其他后果载体。 可以用独立反应镜、双人镜内的调度、清楚的群像反应、声音或物件状态承载。 现有画面已经清楚就不必补镜;需要保留反应或承受者不在场时,注明叙事安排。 审查按后果能否被理解判断,不按人数、景别或反应镜数量判断。

观众可见性 (SHT-12)

构图同时决定观众此刻能知道什么。每个事实单独写一条观众可见性判断:绑定准确场景 ID,说明 现在展示还是暂时扣住,写明可见或可听的载体,并分别写出 揭示条件、保护方法和理由。同一镜中的不同事实可以在不同时间放出。

背影、只露腿部的入场、门缝、前景遮挡、延迟对焦,以及逆光成剪影或压暗到只剩轮廓, 都可以用于保护剧本保留的揭示。用光保护时不改光源身份与方向,只声明人物落在明区还是 暗区,并把该选择写进本镜排除项防止后续漂移——否则人物正面入场却要求不给身份时, 本环节没有合法写法,执行端会直接给一张清晰正脸。 如果它们提前暴露身份或证据,就是失败。反过来,本镜若负责展示证据或听者的关键反应, 就不能为了画面好看而遮住其载体。神秘感不是默认加分项;审查者同时核对剧本允许展示 什么,以及本镜必须交代什么。

场面调度与地理

把场景写成可以行动的空间:

  • 入口、出口和固定锚点。
  • 前景、中景、后景区域。
  • 谁能看见或接近什么。
  • 人物面向与视线关系。
  • 轴线工作侧和屏幕运动方向。
  • 双手、道具归属和转手路径。

场面调度表现人物策略。靠近可以施压或寻求结盟;转身可以拒绝;占住出口可以控制; 碰触证据可以暴露知情。不要只为增加运动而让人物无理由走动。

跨轴本身不是错误;没有动机又让空间难以理解才是问题。跨轴时可以使用中性过渡镜头、 人物在同一镜内穿轴、有意制造主观错乱,或重新建立空间。

画面文字必须服从 视觉设定.md 中已经写明的文字政策。镜头和关键帧直接引用对应标题或 IMG-...,可以决定文字是否可见、大小、角度和对焦,但不能静默编造文案,也不能改写 “逐字可读”“只保留图形”或“无可读文字”等当前决定。政策仍未决定时要明确标为未决,不能 假装已经可以交付。

景别与摄影机动机

SHT-04 要求景别或摄影机行为因注意、压力、观众立场、揭示或节奏变化而改变, 不能为了装饰每一拍而变化。

  • 远景:交代地理、人物与环境的力量对比,或让人物被空间吞掉;信息靠轮廓、方位和 距离读出,不要指望这一档承担表情。
  • 全景:建立空间、孤立感、群体权力或同时发生的后果。
  • 中景:表现互动、手势、双人策略和清楚的调度。
  • 中近景:对话距离的双人,或仍然保留手部的单人:比中景少一层环境,比近景多留出 调度余地;一场停在工作景别时的对切多数落在这一档。
  • 近景:表现决定、证据、被藏住的反应或无法撤回的认识。
  • 特写:把一张脸、一只手或一处伤单独提出来,让某个反应、破绽或细微动作成为本镜 唯一事实;代价是暂时切掉空间参照,用它就要接受观众此刻读不到周围发生了什么。
  • 大特写:只留眼睛、嘴、指节或物件上的一处细节;用于观众必须看清、而近景会淹没的 单一证据或生理反应。它切掉的信息最多,因此要有明确的“非看不可”理由。
  • 细节镜头:展示已经建立意义的关键物件或动作。

近景和特写是中文分镜里最常用的两档,不是留给高潮的稀缺资源;同样,大特写也不是被 禁止的景别。要防的是把景别当情绪音量旋钮:情绪词一升级就换更紧的景别,本镜到底 要观众读到什么反而没人回答。判断标准始终是必须被读到的信息存在于哪个尺度——证据在 指节上就给大特写,后果在两人距离上就不该切近。

项目已接受节奏档案时,近景类镜头占全集镜数的比例不低于 close_shot_share_min,哪些景别算近景类以 $short-drama-develop 对该字段的定义为准。这是全集的下限,不是每场的配额:交代空间的场可以宽,对峙和揭示的场会更紧。 占比不够时,先看对话段是不是一直停在中景,听者反应和要落地的台词有没有给到近处。

竖屏把可用的景别收窄了

上面那张表是横平竖直的电影景别谱系。竖屏不是把它裁窄,是让其中两档变得难用。

机制很简单:远景和全景靠的是横向铺开的信息——谁站在谁旁边、队伍有多长、这个人 离出口有多远。9:16 的横向只有 16:9 的三分之一强,同样的信息铺进去要么挤成一条, 要么小到读不出。所以竖屏短剧的实际用法以中景、近景、特写为主,远景与全景出现得少。

但这不是禁令,是换一种排法:竖屏的空间要靠纵深而不是横向来交代——前景、中景、 后景分层,用门框、桌沿、台阶、人的前后遮挡把关系立起来(见 竖屏多人调度)。做到了这一点,竖屏一样能给全景; 做不到就不要用这一档去承担交代空间的职责,改用一个更近的镜头单独给一次。

竖屏的横向视野窄,观众的视线本来就被逼到画面中央,这既是小景别好用的原因, 也是大景别失效的原因——同一件事的两面。

只有注意或关系发生变化时才改变景别和角度。场面声音变大,不等于镜头必须从全景一路 推到大特写。反过来,一旦决定切镜,新镜就要在景别、角度或人物关系里至少改变一项; 相邻两镜完全同景别、同角度、同关系时,这次切镜没有职责,应当改变收放或并回一镜。

运镜逐镜选 (SHT-04)

每镜的「运镜」一行按本镜目的选。先问这一镜里观众的注意要不要移动、往哪里移,从上往下对照:

本镜在做什么 运镜
人物移动本身是这一镜的事:冲、追、逼近、爬上高处 跟拍或横移,让他在画面里的位置保持住
新信息从画外或画面一侧进来 摇、俯仰或后拉,停在新信息上
一句台词或一个认识正压到某人身上,对白镜里的说话者与听者都算 缓推或前移,停在承受者的脸或手上;拉开则是关系变远
两人的关系或处境在原地被重新评估:绕过去才看得到的另一面、被围住 环绕
高度本身有意义:升起交出全局或结局,落下把观众接进人物所在的高度 升降;不为“开场要大气”而升降
情绪爆发、重大反转 短促推近;定格、闪白由剪辑实现,本镜写明落在哪一拍
观察、等待、紧张、仪式、受困;插入镜;对白镜里这句台词不带来压力或处境的变化 固定

手持只用于创作者已经接受的身体不稳或现场感。

固定是这张表的最后一行,不是起点:前面几行都不成立时才固定。写法是 「运镜:<行为>,<从什么时候开始、停在哪里>;<为什么>」,固定写「运镜:固定;<为什么>」。 固定也要写出来:这一行空着,动不动就改由视频提示词阶段替你选。只写「运镜:固定」 说不出是上表哪一行,等于没有选。例如「运镜:缓推,他说出『给我五天』时开始,停在眼睛;这是他第一次把赌注 压在自己身上」「运镜:固定;插入镜只要看清数字」「运镜:固定;这句话没有落到谁身上」。

强调手段只有三种:短促推近、定格、闪白,只留给情绪爆发和重大反转,用在普通台词上,真正的峰值就 显不出差别。跟随动作的跟拍、揭示信息的摇、压力落下时的缓推不是强调手段,任何一场都按上表使用。 写完回读全集的「运镜」:有奔跑、有揭示、有峰值的一集,不会每镜都是固定。

没有明确切换时,不要在同一时间段同时要求固定和移动。

craft_default · SHT-04:每镜按目的选运镜,写出行为、起止与理由;动作要跟、信息要进画、 压力要落、峰值要强调时用有动机的运动,都不成立时固定,固定也写出行为与理由。短促推近、定格、闪白只留给峰值。

时长与切镜

短镜头的动作量 (SHT-03)

作为 craft_default,可以先从一个主要动作开始,再保留让观众读懂后果所需的反应。 只有连续表演、空间、时长和镜头目的都仍然清楚时才合并更多内容。这是起步方法, 不是固定动作数量检查。

时长要给动作、表演、对白和反应留出可读空间。明确的对白长度和计时动作可以作为证据; 一般动作量是否过多,应由审查者结合本镜判断,不能用通用的每秒字数阻断。

在变化处切镜:新信息、新目光、新决定、新空间关系、新威胁、新证据或节奏变化。 不要只为换角度而重复同一个动作。给反应留下足够时间,让观众读懂后果。

对白估时

craft_default:先排完整声音事件,再确定镜长。不要先选一个短镜长,再要求人物加快语速把台词塞进去; 一句台词比目标镜长更长时,把它拆到说话者与听者的几个镜头上,声音连续、画面切换,语速不变。

  • 有同一句、同语言、同表演方式的录音或配音时,使用实际发声区间;文件首尾静默与句内停顿分开核对, 不把整个文件长度当作纯说话时间。没有音频时按原文、人物语速、情绪和换气估一个区间,明确标为 「文本估计」,不要声称已实测。项目已校准的语速可以辅助估算;数字、缩写按实际读法考虑,不能只数可见字符。
  • 顺序说话的多句或多人对白累加,句间停顿与听者反应按实际顺序加入。边说边抬眼等确能并行的动作 与对白共用时间;必须等话说完才发生的动作另占时间。不要重复计算已包含在录音或估计里的停顿。
  • 在本镜「声音」中简写依据,例如「对白按克制语气文本估计 8–10 秒(含句内停顿);开口前 0.5 秒, 说完后的反应 1 秒;抬眼与对白并行」。此例按估计上沿需要 11.5 秒;若目标是 H3,向上取到 12 秒, 余下 0.5 秒安排在已有终点停留。数字只是此例的预算,不是统一余量或官方语速。
  • 取容得下时间线的合法时长;超过模型上限时按语义和可见状态闭合点拆镜,并检查整集总时长。 已接受镜长或集长固定且放不下时,说明冲突并提出延长、拆镜或剧本修订;不擅自删词或把正常对白改成快读。

文本估计是规划依据,实际生成后还需听完整性、语速和尾音。没有录音、配音或生成结果时,不把估计写成 秒级准确的声音控制承诺;纯动作镜无需补对白预算。

镜长从哪来 (SHT-28)

镜长由声音事件和已接受的目标平均镜长共同决定,不按剧本字数或动作段数折算。字数折算得到的是 朗读长度的平均分配,不是剪辑节奏。

  1. 排时间线:按上一节把本场每句台词、[VO] 和关键声音事件排成一条时间线,再加上必须看清的 无声动作和反应。这条时间线的长度就是本场时长。
  2. 算镜数:项目已接受节奏档案时,本场镜数约等于本场时长除以 target_avg_shot_seconds,四舍五入, 至少一镜。没有已接受档案时跳过这一步。
  3. 放切点:按下一节的对白覆盖默认,把切点放在换人说话、听者反应、插入镜和动作变化处。每镜的 时长就是它覆盖的那一段时间线。
  4. 回算:本场平均镜长等于本场时长除以实际镜数。明显长于目标时,先补听者反应和插入镜,再把 长台词拆到说话者和听者的镜头上;明显短于目标时,合并没有带来新信息的切点。

目标平均镜长是整场的目标,不是每镜的配额:一个插入镜可以不到一秒,一句要落地的台词可以占四五秒。 没有已接受档案时,末尾报告写出本集实际平均镜长,由创作者决定是否接受一份节奏档案。

craft_default · SHT-28:镜长由声音事件和已接受的 target_avg_shot_seconds 共同推出,目标是整场 平均值;不从剧本字数折算。

对白场怎么切 (SHT-29)

  • 一句台词一个镜头:说话者的镜头承载这一句;一句话里有转折时,可以在转折处切。
  • 默认给听者:重要的一句落下时,切到听的人,让观众看见它打中了谁。
  • 来回对话用正反打:两人交锋沿同一条轴线两侧对切,过肩或单人都可以。
  • 景别顺序:先给一个带着人物和动作的交代镜,对话落到中景或中近景,只在一句话需要落地时切到特写。
  • 删空镜:既没有台词也没有动作的镜头删掉。
  • 插入镜是便宜的节奏工具:手机屏幕、手、戒指、证件这类插入镜不需要表演,可以插在长台词或等待中间, 也可以把一句话拆开。

这是起步默认。一场戏有意用不切的双人镜施压,或让群像同时反应更清楚时,说明理由即可改,见 调度手册。

craft_default · SHT-29:对白场默认一句一镜,给听者反应,交锋用正反打,先交代再落到中景,特写 留给要落地的台词;删掉既无台词也无动作的空镜;插入镜用来调节节奏。

视觉方向选择 (SHT-07)

焦段语言、节奏、固定机位、手持或形式化调度属于 taste_option,读取创作者已接受的 视觉方向。审查它是否服务本镜,不强制所有项目使用同一套风格。

相连边界 (CON-01)

本镜已接受的结束边界必须与下一镜已接受的开始边界一致;若不一致,负责产物必须声明 修订或过渡。不得用摄影机描述掩盖边界冲突。

常见问题

  • 镜头表只是改写剧本句子,没有说明观众怎样观看或获得什么变化。
  • 用匿名“人物”代替准确的已接受资产。
  • 一镜跨越地点或时间,却没有蒙太奇或省略依据。
  • 保留了对白,却删掉承担后果的反应。
  • 人物或道具在切镜后无原因换位。
  • 每句情绪台词都变成大特写(问题在“情绪升级=景别收紧”的条件反射,不在大特写本身)。
  • 相邻两镜同景别、同角度、同关系,切了等于没切。
  • 摄影机指令冲突,或运动没有注意变化的理由。
  • 套话式布光替代真实空间锚点。
  • 把外部批量制作单位误当成剪辑镜头本身。

审查问题

  • 本镜落实、省略或重复了哪些剧本段?
  • 本镜结束时改变了什么?
  • 为什么选择这个景别和摄影机行为?
  • 每个人物能否在当前空间中合理站立、看见和移动?
  • 是否绑定了准确的造型、观察视角、道具状态、双手状态和文字政策?
  • 结束边界是否为下一镜提供清楚的开始状态?
  • 删除或合并本镜,会不会丢失故事意义?

首尾成对

终点的可见状态对本镜重要,且目标模型支持尾帧时,可以补写 ### 收尾关键帧提示词。它只描述终点,不混入起点或中间动作。 若起终状态相同,或变化发生在画外,通常无需另做尾帧。

Seedance 2.5 的一个镜头对照中,绑定尾帧改善了末帧落位;这不是所有模型和动作的保证。 生成后仍检查中间动作、节奏和终点,不能只比较最后一帧。

当前生产工具从 分镜.md 的 SHOT-... 只提取「冻结关键帧提示词」,即首帧。 要在套件内生产尾帧,交图片提示词阶段建立单独的 IMG-... 条目,注明来自本 SHOT 的 终点、保留已确认的视觉依据,再以该条目作为 image job 的来源。不得用首帧选择器提交尾帧正文。 实际图片生成后按目标方言绑定 用途:结束帧。

一镜到底还是切开

先看这场戏需要什么,再考虑生成与修订成本。

  • 连续等待、沉默、空间调度或完整表演,可考虑一镜到底。
  • 需要选择不同表演、突出反应或精确安排切点,可考虑分开生成再剪。
  • 长段生成一处失败可能需要重出更多素材;分开生成则需要额外处理跨镜一致性。

一次 Seedance 2.5 对白场次实测出现过长镜头发声时间过早的问题。 有严格落点时应检查目标模型的时序能力并试听,不能保证分成镜头就能锁定每句发声时间。 长镜头也可以在剪辑中截取,是否保留完整时长由叙事决定。

多镜容器是在一次生成里安排多个切口;一镜到底则不切镜。 容器可减少提交次数,但不自动保证跨镜一致性,也仍可在生成后剪辑。目标方言支持逐切挂关键帧时, 每个切口都要有自己的已接受关键帧,具体写法见 $short-drama-video-prompts 的对应方言。 各镜合并时重新整理参考素材与编号,并核对结果中的实际切点。

CONTACT HAONAN

联系haonan

医疗 AI · 产品与独立开发

刘浩南

关注医疗 AI 从 demo 到真实落地,聚焦产品化、商业化与院内工作流效率提升。

12年医疗产研经验,大湾区头部医疗AI公司前产品总监,独立开发者

医疗 AI 产品化医疗 AI 商业化院内工作流效率
刘浩南的微信联系二维码
微信扫一扫,联系 haonan