84 lines
5.5 KiB
Markdown
84 lines
5.5 KiB
Markdown
---
|
||
name: 剧本→分镜自动化已完成
|
||
description: run_storyboard.py已通用化,pipeline.py统一入口,整条链路就绪
|
||
type: project
|
||
---
|
||
|
||
# 剧本→分镜自动化 — 已完成
|
||
|
||
**工具状态:**
|
||
- `tools/run_storyboard.py` ✅ 通用化(支持任意剧本路径、集号、Pro/Lite模型切换)
|
||
- `tools/storyboard_to_workflow.py` ✅ 分镜JSON→ComfyUI批量出图桥接(自动生成workflow+shell脚本)
|
||
- `tools/route_shots.py` ✅ BC-006逐镜路由分配(用豆包AI自动分配STILL_HOLD/AI_I2V等)
|
||
- `pipeline.py` ✅ 统一生产入口(`python pipeline.py go <剧本> -e 1` 全自动)
|
||
|
||
**成本:** 豆包API拆一集剧本出分镜 ≈ ¥0.01(之前已实测验证)
|
||
**之前已跑通过:**《深海迷航》EP01,Pro版26镜、Lite版24镜,效果良好
|
||
|
||
**Why:** 爸爸要求补短板+全面优化,让管线从剧本到成片全自动
|
||
**How to apply:** `python pipeline.py go <剧本> -e <集号>` 一条命令跑完整链路
|
||
|
||
## 分镜故事板提示词模板(爸爸共享社群资料吸收,2026-07-31)
|
||
> 让大模型把分镜剧本转成"带标注的素描线稿故事板"的标准指令,直接可复用:
|
||
|
||
请你提取以下分镜剧本中的信息,并根据剧本的信息,给我生成一张素描线稿的分镜故事板,每个分镜头的比例是9:16,并在故事板中通过箭头和文字来标注以下关键内容:
|
||
1.镜头运动(红色箭头标注)
|
||
2.景别变化(橙色箭头标注)
|
||
3.人物动作(黄色箭头标注)
|
||
4.人物站位(绿色箭头标注)
|
||
5.环境元素动态(蓝色箭头标注,元素内容例如:风向哪吹、雪往哪飘等)
|
||
按照剧本剧情的分镜,给每个分镜打好编号。
|
||
|
||
**用法**:把"以下是分镜剧本:XXX"换成实际剧本内容喂给大模型(豆包/千问/Z-Image 编码器均可)。
|
||
**对接管线**:可接 pipeline.py 的 storyboard 环节,生成标注故事板 → 分镜图 → LTX/Wan 出片。
|
||
|
||
## 分镜故事板 5 色标注法(实战范例,2026-07-31 爸爸共享)
|
||
> 来源:ce3c9bfe-0e8e-4bcb-91f3-3897581209e1.png(社群里爸爸保存的分镜图范例)
|
||
|
||
5 色标注法是**让分镜线稿信息密度爆炸**的关键:
|
||
|
||
| 颜色 | 含义 | 典型符号 |
|
||
|---|---|---|
|
||
| 🔴 红 | 镜头运动 | 箭头(推/拉/摇/移) |
|
||
| 🟠 橙 | 景别变化 | 中景/近景/特写/Extreme Close-Up |
|
||
| 🟡 黄 | 人物动作 | 抬手/手指轻压 |
|
||
| 🟢 绿 | 人物站位 | 男左女右、前后、居中 |
|
||
| 🔵 蓝 | 环境动态 | 风吹方向、雪飘方向、花瓣飘落 |
|
||
|
||
**实战范例(古风红线主题 6 镜头)**:
|
||
- 镜头 025:中近景(MC),女右手指轻触腕部红印,男手轻抬;缓推镜头;花瓣飘落
|
||
- 镜头 026:近景(CU),男主扶腰;轻推聚焦手部;红丝缠绕
|
||
- 镜头 027:极近景双人对视;缓移聚焦眼神;花瓣飘落
|
||
- 镜头 028:面部近景(FCU),女主轻推男主胸口;焦点从脸颊切到眼神
|
||
- 镜头 029:近景(CU),男主抬手轻托花瓣;红丝拉近;远处透光
|
||
- 镜头 030:中近景收尾(MC Ending),男主跟女主并肩缓推;花瓣落下;红丝发力
|
||
|
||
**用法**:写"分镜故事板提示词"时直接说"用红橙黄绿蓝 5 色标注",豆包/千问都能稳定输出。
|
||
|
||
参考完整文件:`/home/ls/下载/ce3c9bfe-0e8e-4bcb-91f3-3897581209e1.png`
|
||
|
||
|
||
2026-07-31 晚 一键短剧 Agent 第一版完成(agent_short_drama.py,183行):
|
||
- 位置:~/cang-ying/video-ai-system/agent_short_drama.py
|
||
- 阶段:①分镜(豆包¥0.01/集,走申请) ②路由(豆包) ③逐镜出图(本地Z-Image零成本) ④拼接(待接LTX I2V视频)
|
||
- 特性:--until/--from 断点续跑、--max-shots 限镜测试、失败即报错定位、自动提交ComfyUI并等待
|
||
- 已验证:--from render 造最小分镜出1镜 ✅(自动提交+等待+清单)
|
||
- 待做:video 阶段(LTX I2V 逐镜成片)、compose 阶段、面板"一键短剧"按钮
|
||
- 出图默认走 Z-Image(1024x1024 8步 res_multistep),未来接 IP-Adapter/StoryDiffusion 做角色一致性
|
||
|
||
2026-07-31 晚 一键短剧 Agent 全链路验证通过(282行):
|
||
- render→video→compose 三段全通(本地零成本,测试1镜:出图→LTX 49帧视频→成片)
|
||
- 新增:stage_video(LTX I2V 逐镜成片,默认49帧768x512,自动找起始图→提交→收片)、stage_compose
|
||
- 断点:--until video/compose、--from video/compose;--frames 控制帧数
|
||
- ⚠️ 坑:video_composer 方案B 的 concat 滤镜假定每段有音频流,LTX 视频无声会挂→Agent 单段直接拷贝绕过;多段无声走方案A concat copy 正常
|
||
- 待做:面板"一键短剧"按钮、真实剧本试跑(豆包分镜费申请)、B Skill 系统
|
||
- 试跑示例:python agent_short_drama.py <剧本> -e 1 --until compose
|
||
|
||
2026-07-31 晚 面板"一键短剧"按钮完成(eed_web.py 补丁,备份 .bak5):
|
||
- 前端 #btnDrama 按钮 + dramaModal(贴剧本/分镜JSON、类型选择、豆包授权勾选、帧数、进度pre、成片video)
|
||
- 后端 /api/agent 端点(SSE 流式 agent_log 进度 → agent_done 返回成片 /media/outputs/agent_EP.mp4)
|
||
- 已验证:/api/agent 贴分镜JSON → 自动出图→LTX 25帧视频→成片 ✅(curl -N SSE)
|
||
- ⚠️ 踩坑×2:① eed_web.py 缺 import urllib.request/sys(NameError 被 except 吞成 503/异常)② 诊断方法=except 加 print 日志定位
|
||
- 剧本类型需勾选豆包授权(EED-PROTO-005)才能跑分镜段
|
||
- 待重启面板生效:bash ~/cang-ying/scripts/restart-eed.sh
|