短剧分镜与冻结关键帧
把剧本和视觉事实转成有镜头职责、空间连续性和可冻结起点的 剧集/<EP>/分镜.md。
每镜使用二级标题 ## SHOT-...,同镜下用 ### 冻结关键帧提示词 写起始帧正文。
Quick Start
用 $short-drama-storyboard 完成 EP001 的正式分镜和每镜冻结关键帧
入口
当前剧本加必要视觉事实即可直接进入。资产图片提示词与分镜是兄弟分支,不互相等待。只有关键场次 真的存在多个成立导演方案时,才在上下文比较覆盖方案;普通场次直接设计。
创作者可读说明跟随项目语言;冻结关键帧的可复制正文跟随
short-drama.json#/format/prompt_language。没有 short-drama.json 时正文默认使用 en。
分配镜头时长前读取
short-drama.json#/creator_authority/production_profile/choices/native_duration_seconds。已声明目标模型但
没有原生时长时先补这一个选择;目标模型也未声明时照常按叙事节奏设计,不猜供应商限制。
冻结关键帧写完之前,谁会出现在这一格画面里还没有定下来。所以三条依据都在关键帧之后回填, 读的是成稿画面,不是镜头意图。
用户没有手工点名参考图,不等于选择文生视频。冻结关键帧后先根据本镜可见人物、地点、关键道具与 起始构图判断一致性需求,再检查项目中已有的真实图片。只有当前可读、内容与用途可核对的图片才能自动绑定; 文件名像某个角色但内容未核对时,仍视为未准备好。
项目里一张都没有时,创作者有三条路,一次把三条都说清楚再让他选,不要只给「先生成参考图」和
「改成文生视频」两个:把手上已有的图片放进项目再绑成 REF-...;在自己的工具里出图、本轮先用
PLAN-... 写出挂图计划;或者明确改走文生视频。用本套件的生产技能出图只是第一条路的一种做法,
需要项目外的 adapter 与凭据,不是唯一入口。
开始分镜前读 剧集/<EP>/剧本.md 的当前内容。创作者说「剧本已确认采用」指的是那个文件,
不是对话里更早的草稿;两者不一致时以文件为准,并把差异说出来。
工作流
读取已接受的目标模型原生时长区间,再确认每个场景动作、对白、声音、画面文字和转折由哪些镜头承载。
确定观众何时知道什么、对齐谁、空间如何揭示、转折落在哪个可见动作。 剧本或 Brief 用“前半段 / 后半段 / 前三分之一 / 最后 N 秒”等相对时间限定首次出现、释放或禁止时, 先用已接受集长换成明确时间边界再分镜;例如 60 秒作品的“后半段首次出现”不得早于 30 秒。
每镜写清唯一职责、来源、时长、景别/机位、起点、唯一主要动作、终点和声音;用
起点 → 唯一动作 → 终点直接说明人物、双手与持物怎样完成本镜状态转换。三条依据留到第 6 步。 有对白、VO 或 OS 时,先按原文和人物说话方式估算完整发声时间,再安排不能重叠的动作、停顿与 末尾反应;把估时依据简写在本镜「声音」里。具体做法见 对白估时。锁定人物朝向、位置、视线、持物、出入口、屏幕方向和必要状态;上游已有会限制动作空间的持续关系时,把关系投影进本镜起点与终点。
冻结关键帧只投影镜头起点;删除终点才出现的文字、动作、姿态或道具状态。
关键帧成稿后,先从成稿正文读出这一格里需要保持身份、造型或地理的人物、地点和道具, 再用同一份清单一次填满三条依据:
- 视觉依据:清单里每一项写成《视觉设定.md》的条目引用,这是必写字段;
- 图片提示词项:清单里已有合适
IMG-...条目的写上,没有的留「无」; - 输入参考图:按清单在用户提供的输入、
剧集/<EP>/制作成果/和文档已指向的其他可见媒体中查找匹配图片; 命中就写入REF-...。一张都没命中时写「无(待补参考图:<本镜缺失的起始帧、人物、地点、道具>)」; 只命中一部分时,在已有REF-...后追加「;待补参考图:<仍缺的图片>」,缺口之间只用、分隔。 创作者说图片由他自己在别处准备时,把这份清单写成PLAN-...槽位,本镜即告就绪; 只有创作者明确表示不用图时,才写「无(创作者已明确选择文生视频)」。
三条依据读的是同一格画面,所以不能互相矛盾:关键帧里点名的人物或道具,一定出现在视觉依据里。
整集请求完成整集,末端一次报告覆盖、节奏和真实未决选择。
镜头要求
- 每镜有唯一职责、明确来源、可见起止状态和合理时长。「来源」以《剧本.md》里真实存在的场景 ID 开头,
ID 之后可以跟必要短引文,跨场次的镜头用
、连写多条;creator_markdown_check.py会核对每个 ID 都解析得到。 - 剧本里的每个场景都要有镜头承载。确实决定不拍某一场时,在《分镜.md》正文开头写一行
- 未拍场次:<场景 ID>(理由:……),多项用;连接。SHT-01 一直允许带理由的省略, 但省略和漏拍在成稿文档里长得一模一样,所以理由要写下来,而不是留在对话里。 - 已声明原生时长时,每个一镜一生成的镜头都落在其最短与最长秒数内。短于下限的叙事动作在合法 镜长内完成后保持终点;长于上限的动作按可见状态闭合点拆镜,拆出的每镜仍各有唯一职责与可信交界。
- 「唯一动作」写从本镜起点到终点的那条可见状态链;涉及交接、换手、放置或取回时,把接触者、 接触方式和物件落点写在同一链里,不能让合法终点之间靠镜外瞬移衔接。
- 切镜必须带来信息、权力、情绪、空间或节奏变化;同义重复镜头删掉。
- 相对时间词约束的是事件首次可见或可听的时刻,不因前置动作已经完成就提前释放;分镜时间轴直接 写出该边界,不把“稍后”“交接后”等叙事顺序当成数值时间的替代。
- 同一动作不跨镜重复发生;终点应能成为下一镜可信起点。
- 关键信息的可读性优先于装饰性运镜,竖屏构图优先保证主体和反应可见。
- 复杂群戏先锁空间锚点和屏幕方向,再决定景别变化。
- 起终边界除了逐人姿态,还要写清本镜依赖的身体—物件—空间关系。关系在镜内不变时两端都保留;确需改变时,过程与终点必须有剧本依据。
- 冻结关键帧只写该瞬间能看见的内容;文字、手指、反射和遮挡要可生成。
- 《视觉设定.md》的连续性锁在生效镜头上原样写进冻结关键帧正文;锁面不因“参考图会交代”而省略。
- 检查发现遗漏就直接修正文档,不生成覆盖表来证明自己检查过。镜头块里的「视觉依据」是本镜的依据字段,不是这里说的覆盖表。
视觉依据与图片
IMG-...是《图片提示词.md》里的提示词条目 ID,不代表图片已生成、已提供或可用。- 已有《图片提示词.md》且本镜需要其中条目时,写「图片提示词项」:ID 必须匹配该文档的可见二级标题,同时写中文名称和它控制的身份、造型、地理、构图或其他边界。ID 只用于查找,不让英文 slug 承担含义。
- 没有《图片提示词.md》或没有合适条目时,写「图片提示词项:无」,再以中文指向《视觉设定.md》的人物、地点或道具项及控制范围。这是正常直接入口;不为继续分镜而编造 ID,也不补造另一个阶段。
- 「视觉依据」是每镜必写字段:冻结关键帧成稿后按实际画面反查,需要保持身份、造型或地理的可见人物、地点和道具必须逐项写成
《视觉设定.md》·<人物|造型|地点|道具>「<名称>」(控制:<范围>),多项用;连接,名称必须能在《视觉设定.md》里找到同名标题。 小比例或背景人物只要需要认出身份仍在范围内,画外人声和不可识别局部不算;本镜确实没有这类条目时写「视觉依据:无」。 - 关键帧正文出现了某个条目的名字,但它本镜确实不在画面里(物主已离场、名字只出现在屏幕文字上、和某个词同形),
在「视觉依据」末尾追加
;画外:<类别>「<名称>」。这是如实记录,不是把不在场的人写成在场。 - 某个条目的名字在正文里根本不可靠(
道具「手机」会撞上「手机店」,人物「小雨」会撞上「下着小雨」), 在《视觉设定.md》该条目写画面代称:无,机械核对就不再按名字找它;这一镜是否画到它仍由「视觉依据」如实回答。 - 三条依据都描述同一格画面,不是本镜的资产花名册。「控制」只写这一格承担得起的范围:手背特写不写「本集造型」, 只出现屏幕和一根手指的镜头不写「体态」。上一镜的绑定不因为“角色还在这场戏里”就顺延到下一镜。
- 关键帧正文点名的人物、地点或道具(《视觉设定.md》条目名称或它声明的「画面代称」),必须出现在本镜「视觉依据」里;
creator_markdown_check.py会机械核对这一条。它只抓被名字点到的那一类:正文只描述不点名 ("a boy in a hooded jacket")时机器不发声,画面里有谁仍然要靠这一步自己读出来,不能等报错。 - 本镜需要保持一致、但《视觉设定.md》里还没有条目的可见物件(跨镜出现的道具尤其常见),不能因为
「写不进视觉依据」就当它不需要一致性。四镜都出现的一支笔和一件外套是同一类问题。做两件事:
正文里逐镜用完全相同的描述把它钉住,并在本轮末尾报告里点名它、建议
$short-drama-assets补条目。 不自行新增《视觉设定.md》条目,也不把它塞进「视觉依据」冒充已有条目。 - 「输入参考图」是独立的另一条轴:创作者已提供,或经确认生产且当前可读的实际图片,用不同于
IMG-...的稳定REF-...槽位引用。每个槽位同时写显式顺序、仅用/分隔的项目相对路径、中文名称、「用途」、「控制」和「不得控制」范围;没有时必须区分「待补参考图」和「创作者已明确选择文生视频」,只准备了一部分时则保留已有REF-...并追加「;待补参考图:……」。不得把提示词条目、还没生成的图或对话中的描述写成REF-...——REF-...的意思是「文件此刻在项目里」。 创作者会在生成时自己挂载的图片走下面的PLAN-...:它同样不声称文件存在,只是把这一镜要挂哪几张写清楚。 - 每个
REF-...必须逐字遵循唯一格式:REF-<slot>(顺序:<n>)· <项目相对路径>《<中文名称>》(用途:<用途>;控制:<范围>;不得控制:<范围>)。注意「顺序:」后的全角冒号和路径前的中点·;不得用/代替字段分隔符。多图只用中文分号;连接,部分缺图则在最后一个完整槽位后接;待补参考图:<缺口>,缺口之间用、分隔。写完后按此格式回读一次再交付。 用途只能取身份、造型状态、地理、构图、尺度、效果、起始帧、结束帧、风格之一;逐条能控制什么见$short-drama的《参考角色》。 本镜的起始画面图写用途:起始帧,人物图写用途:身份或造型状态,场景图写用途:地理,道具状态图按它决定的那一件写。 一张图承担两件事就拆成两个槽位;一镜最多一张起始帧和一张结束帧,写结束帧时必须同时有起始帧。 下游视频提示词靠用途说清「本镜送哪一张分镜起始帧、哪些人物/道具/场景图」,所以缺用途的槽位不算准备好。- 本镜还没有起始画面图时有两条路。创作者用本套件生产:
用途:起始帧那一张由$short-drama-produce用本镜的冻结关键帧正文生成,job 的source写剧集/<EP>/分镜.md、source_entry写本镜SHOT-..., 产出落在剧集/<EP>/制作成果/images/,拿到真实文件后再绑成REF-...。创作者在自己的工具里生产: 把冻结关键帧正文复制过去出图,再把文件放进项目绑成REF-...,或者本轮先写成PLAN-SHOT-START(顺序:<n>)· <本镜 SHOT-...>《本镜冻结关键帧》(用途:起始帧;……)。 两条路都没走时,它仍然只是「待补参考图」里的一项。 - 创作者在项目外出图、图片不进项目时,用
PLAN-...槽位:语法与REF-...逐字相同,只把项目相对路径 换成IMG-...或SHOT-...条目 ID,IMG-...的中文名称必须与《图片提示词.md》标题一致。 它声明的是「这张图由创作者在生成时按这个顺序挂载」,不声称项目里有文件,因此不是「待补」, 也不能拿来投产。真实文件进了项目就改写成REF-...。两种槽位可以混用,顺序统一连续编号。 - 自动绑定不是把所有图都塞进一镜。只选本镜可见、且身份、造型、地理、关键道具状态或起始构图确实需要稳定的图;逐张写清它的用途、能控制什么、不得控制什么。
- 两条轴可以独立组合:有合法的图片提示词项时,输入参考图仍可为「待补」或创作者明确选择的文生视频;创作者给了真实参考图时,图片提示词项也可为「无」。
按需知识
默认只读本 SKILL、当前剧本和必要视觉事实。遇到对应问题时只打开一份:
- 阶段边界与规则分级:阶段契约
- 镜头职责、切镜理由和边界:镜头手艺
- 实际制作所需的镜头语法:生产镜头语法
- 关键场次比较导演方案:场次视觉计划
- 检查原文是否都有画面承载:Coverage Audition
- 多人、群体和复杂空间调度:调度手册
- 冻结瞬间、注意中心和可读性:关键帧手艺
- 漫剧/二维漫画形态的共享画风词汇:漫剧关键帧词表
- 剧本事实到关键帧的完整示例:剧本到关键帧
- 拆镜、并镜和稳定镜头 ID:镜头修订身份
- 完成前的连续性检查:审查与示例
修订
保留未受影响的镜头 ID。拆镜、并镜或改变镜头职责时,说明哪些下游视频提示词需要刷新,但不自动 重写用户没点名的文件。
完成
点名范围的原文都有镜头落实,每镜职责不重复、空间与状态连续、起止边界可制作、关键帧可冻结,
每镜「来源」解析到《剧本.md》的真实场景、剧本里每个场景都有镜头承载或已记入「未拍场次」,
且每镜关键帧里的可见人物、地点、道具都在本镜「视觉依据」里,即完成。画面需要、但《视觉设定.md》
还没有条目的可见物件,在末尾报告里逐项点名。本次请求同时修改
《图片提示词.md》与《分镜.md》时,当轮刷新受影响镜头的引用;不另建覆盖表。
视频提示词、生产和审查只有用户点名时开始。
五份创作文档齐备后,可转 $short-drama 对跨文档结构做一次机械核对;内容质量仍由创作者审查。
安装维护
只有安装、升级或排障时运行 python3 scripts/selftest.py。