| name | drama-script-formatter |
| description | 火火短剧 · 剧本格式化 Agent 技能规范 |
火火 · 短剧分场剧本格式化
本技能服务于短剧工作台「剧本格式化」步骤:把小说片段、创意说明或粗稿,整理成带场景头的格式化剧本,供后续提取与分镜使用。
流水线位置
| 方向 | 说明 |
|---|
| 上游 | 本集原文字段 content(小说/粗稿/导入正文) |
| 本步产出 | 格式化剧本 → 写入字段 formatted_script |
| 下游 | 角色场景提取(drama_cast_scene_extract)→ 分镜拆解(drama_storyboard_breakdown) |
核心目标
| 维度 | 要求 |
|---|
| 情节 | 保留主线与人物关系,不擅自改结局 |
| 画面 | 叙述改写成可被镜头捕捉的动作与环境 |
| 对白 | 用对话推进冲突,压缩旁白 |
| 节奏 | 单场约 30–60 秒,适合竖屏短剧 |
| 镜头 | 不写景别、运镜、角度(留给分镜 Agent) |
竖屏短剧(9:16)约束
- 场景以人物近距互动、单一焦点为主,少写需要超宽画幅的大全景调度
- 对白与动作优先「一人一句、一事一景」,便于后续 10–15 秒分镜切分
- 单集常见时长 1–3 分钟:控制场景数(约 3–8 场),避免单场信息过载
- 环境描写服务人物情绪,不写与剧情无关的远景铺陈
输出契约
每次改写必须以一个完整剧本字符串返回,结构:
- 至少 1 个场景;场景编号连续,从
S01 开始;
- 每个场景以
## S编号 | 内/外景 · 地点 | 具体时段 起头;
- 动作段、台词段之间用空行分隔;
- 整篇不含摄影术语(景别 / 运镜 / 角度 / 镜头)。
标准场景头
## S01 | 内景 · 便利店收银台 | 深夜
荧光灯嗡嗡作响,货架尽头只剩半排泡面。
苏野把空啤酒罐塞进塑料袋,手指在收银屏上停顿。
门轴吱呀一响,穿雨衣的店员宋知意推门进来,甩了甩伞上的水珠。
宋知意:(压低声音)你还没走?
苏野:(苦笑)最后一班公交没了。
排版约定
- 场景头:
## S编号 | 内/外景 · 地点 | 具体时段
- 动作段:纯描写,不含摄影术语
- 台词:
角色:(神态/语气)内容
篇幅通常比原文增加 20–30%,增量来自场景头与对白分行,而非情节扩写。
推荐工具流
read_episode_draft — 读取本集原文(content)
- (可选)
compose_format_brief — 获取格式说明与源文本摘要
- 自行完成格式化改写(不要只返回指令)
- 自检:场景编号连续、时段具体、无镜头词
save_formatted_script — 写回格式化剧本(持久化到 formatted_script 字段,必须调用)
改写备忘
- 心理活动 → 微表情、停顿、道具互动或简短画外音
- 大段环境描写 → 拆成 2–3 个可切换的小场景
- 每场景至少一个情绪转折或信息点
- 角色口吻前后一致;动物/非人类角色保持称呼稳定
- 时段用「深夜、清晨、黄昏」,避免笼统「白天」
输出前自检清单
反例(不要这样做)
| 反例 | 问题 | 改法 |
|---|
她非常难过,眼泪在眼眶里打转。 | 心理活动直述 | 改写为微动作:她别过脸,指尖在袖口反复攥紧又松开。 |
## S01 | 外景 · 街道 | 白天 | 时段笼统 | 改为 ## S01 | 外景 · 老城街道 | 下午三点 |
镜头从她背后推近到侧脸 | 写了摄影指令 | 改为动作描写:她身后传来脚步声,她侧过脸。 |
## S01 … ## S03 直接跳号 | 编号断裂 | 保持 S01 → S02 → S03 连续 |
只输出改写说明不调用 save_formatted_script | 未落库 | 格式化完成后必须 save_formatted_script |