跳到正文

AI 短剧分镜与关键帧

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

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

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

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

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

正文

获取原文件

references/screenplay-to-keyframe-example.md

目录

本例只演示剧本内容怎样逐步变成镜头、关键帧和准确产物引用,不是镜头数量答案。 素材为全新合成。

剧本段

## EP004-SC002 内 · 社区洗衣房 · 清晨

烘干机还在转。沈禾把一张写着“17”的取衣牌压在掌心,没有递给柜台后的蒋姨。

蒋姨:你不是来取衣服的。

[SFX] 烘干机停转。

沈禾摊开右手。取衣牌背面粘着一小片带血的蓝线头。

假设索引已经建立 H01(场景标题)、A01(持牌动作)、D01(判断)、P01(停机声)和 A02(摊手与蓝线头)。

原文落实

剧本段 落实方式 理由
H01 由 SHOT-01 落实 建立门、柜台、烘干机和双方位置
A01 + D01 由 SHOT-01 落实 持牌不递与台词属于同一次策略对撞
P01 由 SHOT-02 落实 声音改变注意并制造停顿
A02 由 SHOT-02 和 SHOT-03 落实 前一镜交代谁摊手并守住手位,后一镜让观众读清证据;重复带来新信息

这里没有“一段一镜”的公式。A02 在两镜中出现,是因为第一次说明谁摊手,第二次才让 观众看清蓝线头。

SHOT-01:拒绝交牌

镜头目的: 建立蒋姨控制柜台、沈禾控制证物的关系,让台词成为判断,而不是说明。

  • 开始:沈禾在柜台外,右拳握牌;蒋姨在柜台内;烘干机转动。
  • 动作:沈禾把拳压在台沿但不越过边界,蒋姨不伸手。
  • 结束:手位不变,蒋姨已经公开表示“你另有目的”。
  • 构图:纵向双人中景,柜台横线分隔双方。
  • 摄影机:固定机位,让“不递”这个选择持续存在。

来源:剧本.md / EP004-SC002 中“沈禾把拳压在台沿但不递牌”的动作和对应对白。正式镜头在 分镜.md 直接写这个场景 ID 与必要短引文。

若为了增加动作而让沈禾把取衣牌交出去,就改写了故事,必须拒绝这种改动。

SHOT-02:声音引导注意

镜头目的: 停机声让原本被机器掩盖的沉默显出来,并把注意从两人脸上引到沈禾右手。

  • 开始状态准确继承 SHOT-01 的结束状态。
  • 音效准确引用 P01。
  • 沈禾听见停机后先不看机器,而是决定摊开右手。
  • 结束:右掌摊开,牌正面仍贴掌,背面朝向蒋姨和观众;蓝线头存在,但本镜不要求读清。
  • 摄影机:从固定双人镜头有目的地下移,结束构图仍保留蒋姨的视线。

这次摄影机移动不是为了“节奏感”,而是因为观众注意从人物判断转到证据。

SHOT-03:证据细节

镜头目的: 让观众确认牌背粘着带血的蓝线头,同时保留蒋姨已经看见的关系。

  • 开始状态准确继承 SHOT-02 的结束状态。
  • 细节镜头只拍右掌、牌背和蓝线头;后景保留蒋姨眼睛和视线的模糊位置。
  • 文字政策:数字“17”在牌正面,本镜展示背面,因此不得临时翻牌制造可读文字。
  • 结束状态与开始状态相同;观众获得了新信息,但物理状态没有变化。
  • 固定机位细节镜头;停留到观众能识别颜色、血迹和附着关系。

“信息变化而物理状态不变”仍然可以成为有效的镜头目的。

KEY-03:冻结瞬间

社区洗衣房柜台外,沈禾摊开的右掌位于画面焦点;取衣牌背面朝上,
一小片带暗红血迹的蓝线头粘在牌背边缘。右手与牌完全静止,柜台横线
仍分隔双方,后景保留蒋姨已经落在证物上的目光。清晨冷白顶光,已经
停转的烘干机只是空间锚点。画面不展示牌正面的“17”,不加入递交、
翻牌、推镜或表情变化过程。

冻结检查:所有事实能在同一时刻存在。摊开右手是 SHOT-02 的动作过程;KEY-03 只写 “已经摊开”。

KEY-03 之后:从成稿画面回填三条依据

关键帧写完才知道这一格里到底有谁、有什么。按成稿正文逐项读出来,再写进 SHOT-03 的字段:

- 图片提示词项:IMG-SHENHE-SHEET《沈禾角色板》(控制:身份、手部特征);IMG-CLAIM-TAG《取衣牌道具板》(控制:牌形、编号面、边缘磨损)
- 输入参考图:无(待补参考图:沈禾手部、取衣牌背面、本镜起始帧)
- 视觉依据:《视觉设定.md》·人物「沈禾」(控制:身份、右手特征);人物「蒋姨」(控制:身份、视线方向);道具「取衣牌」(控制:牌形、背面材质、蓝线头位置);地点「社区洗衣房」(控制:柜台横线、冷白顶光)。

三处值得注意:

  • 蒋姨只在后景留一双模糊的眼睛,但观众要认出是她,所以她在列;
  • 牌正面的“17”本镜看不到,所以「控制」写的是「背面材质」而不是「编号面」;
  • 沈禾整身造型不在这一格里,所以不写「本集造型」——上一镜绑过不等于这一镜也该绑。

连续性交接

字段 SHOT-01 结束 SHOT-02 开始与结束 SHOT-03 开始
沈禾右手 握牌 握牌 → 摊掌 摊掌
牌朝向 背面不可见 背面转向蒋姨 背面可见
蒋姨目光 沈禾脸 右手 牌背
烘干机 转 停 停
观众知道什么 她拒绝交牌 她决定展示 看见带血蓝线头

运动规格只能实现表中的箭头,不能让蒋姨夺牌、让牌正面突然朝向摄影机,或让机器重新启动。

(情绪)交接

剧本对白的表演括注是写一次、投影两处的来源:本技能把它投影成镜头里可见的表演 状态,视频提示词把它投影成 delivery。两处绑定同一条剧本记录,谁都不另起情绪名。 下面是另一段全新合成的示例。

## EP002-SC004 内 · 老楼梯间 · 夜

角色甲:(压着嗓子)你现在放回去,我就当没看见。

角色乙:(笑)你确定还找得回来?
位置 负责人 写什么 不能写什么
剧本括注 (压着嗓子) 编剧 唯一情绪来源,随该对白块一起发布 —
本镜表演状态 本技能 边界里可见的收敛:下颌收紧、身体不前倾、音量压在楼道回声之下 不把“压着嗓子”升级成“低吼”或“怒斥”
下游 delivery 视频提示词 由同一条来源取到的语气,再落成呼吸、停顿和音量走向 不新起情绪词,也不与本镜表演状态相反

两处引用同一条来源:剧本.md / EP002-SC004 / 角色甲对白“你现在放回去……”。分镜与视频提示词 都保留这个场景 ID 与准确台词,不另造情绪来源。

  • 角色乙的 (笑) 同样同源投影:本镜写“嘴角上扬、眼睛不动、重心后靠”,下游写 “句尾带气声的短笑”,两处解释的是同一条括注,不是两次独立发明。
  • 若下游认为该情绪不成立——例如楼梯间的回声让“压着嗓子”传不出信息——修订回到剧本: 编剧改括注后,本技能与视频提示词再各自重新投影一次。不能在镜头写 “克制”、在运动规格写“爆发”,让同一句台词挂着两个互相冲突的情绪来源。
  • 情绪来源只决定表演状态,不自动决定景别或运镜。(压着嗓子) 不等于必须切特写; 本镜给什么景别,仍由观众此刻必须读到的信息决定。

CONTACT HAONAN

联系haonan

医疗 AI · 产品与独立开发

刘浩南

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

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

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