小说剧本转分镜
把一段小说、剧本或故事梗概变成制作人员能直接使用的分镜单。重点是把叙事拆成可执行的场景和镜头,而不是续写原文。
输入
- 直接粘贴的中文文本,或本地
.md、.txt文件。 - 可选:目标时长、画幅、风格、受众、已有角色表。
- 若文本缺少结尾、人物关系或关键动作,先列出缺口,不要自行补成事实。
输出
同时生成两个文件:
storyboard.md:按场次和镜头排列,含场景、景别、机位/运动、画面动作、对白/旁白、音效、时长和素材备注。storyboard.json:见 references/schema.md,供剪辑、动画或后续 Agent 读取。
工作步骤
- 阅读文本,标记人物、时间、地点、冲突、转折和结尾目标。
- 将连续动作按地点或时间切成场次;一场只保留一个主要叙事目的。
- 为每场拆 1 至 6 个镜头。每个镜头只表达一个可观察动作,避免把整段小说塞进一个镜头。
- 给镜头补充可拍字段:景别、视角、镜头运动、主体位置、对白来源、声音和建议时长。
- 逐项回指原文:事实性对白、人物关系和顺序不能被改写;新增内容标注为“创作建议”。
- 输出 Markdown 与 JSON,并运行自检:镜头编号连续、每镜头有画面和时长、总时长可计算、缺口已列出。
质量与失败处理
- 输入为空、只有标题或少于一个完整动作时,返回
needs_more_source,并说明需要补充的内容。 - 无法判断人物、场景或对白归属时,保留“待确认”字段,不猜测。
- JSON 与 Markdown 必须使用同一组镜头数据;修改一处后重新生成另一份。
- 涉及未成年人性内容、现实伤害指导、仇恨或违法操作的请求停止并给出安全替代主题。
- 不输出“保证爆款”“保证过审”等承诺,也不复制第三方 Skill 或小说原文的独特长段落。
最小调用
python3 scripts/self_test.py self-test
python3 scripts/self_test.py convert --input examples/success-input.md --output /tmp/storyboard-output
成功样例和失败样例分别见 examples/。脚本是离线演示实现,实际 Agent 需按上述字段补全创作判断。