完成极速成品和脚本优化

This commit is contained in:
Azmat@qq.com
2026-08-25 11:13:07 +08:00
parent 00fc454db7
commit e2ec2d14af
46 changed files with 4734 additions and 432 deletions
@@ -32,7 +32,7 @@ description: >
"hook": "前3秒主打钩子(一句话)",
"tone": "种草|测评|剧情|痛点",
"presentation_format": "口播|短剧|Vlog",
"video_structure": "痛点解决|前后对比|测评验证|场景种草",
"video_structure": "痛点解决|前后对比|测评验证|场景种草|促销抢购|知识分享",
"aspect_ratio": "9:16",
"total_duration": 30,
"segment_count": 3,
@@ -59,7 +59,7 @@ description: >
"index": 0,
"duration": 15,
"role": "钩子|痛点|卖点|CTA",
"narration": "这一镜被说出来的台词/旁白,15秒口播目标55-63字(下限54,上限67)",
"narration": "这一镜被说出来的台词/旁白,15秒口播目标66-74字(下限64,上限78)",
"speaker": "可选,指向某 entity 的 id;画外旁白时为 null",
"visual": "0-3s:近景,……\\n3-8s:手持跟拍,开始使用商品\\n8-12s:特写,商品用法过程\\n12-15s:拉回中近景,使用后的反应",
"product_exposure": "商品露出方式(手持/特写/使用中)",
@@ -73,7 +73,7 @@ description: >
字段纪律:
- `tone` 必须是四选一枚举;`role` 必须是四选一枚举。
- **表现形式与视频结构由输入给定**:`presentation_format`(`口播|短剧|Vlog`)和
`video_structure`(`痛点解决|前后对比|测评验证|场景种草`)**原样回填到输出里**,不要自己改。
`video_structure`(`痛点解决|前后对比|测评验证|场景种草|促销抢购|知识分享`)**原样回填到输出里**,不要自己改。
输入没给时,按商品品类与人群自行选一组最合适的,并如实填进这两个字段。
- **画幅由输入给定**:`aspect_ratio` 默认 `"9:16"`(电商竖屏主场景),但**不写死**——输入指定了其他比例(如 `"16:9"`、`"1:1"`、`"4:5"`)就照用,原样透传给下游。画幅只影响 `visual` 的构图措辞,不改变结构与镜数。
- **总时长由输入给定**:`total_duration` 取 **15 / 30 / 45 / 60**(15 秒步进),输入未指定时默认 `30`。**不要写死成别的数。**
@@ -96,14 +96,15 @@ description: >
- **场景必抽,且每镜必绑一个场景**:每条脚本**至少声明 1 个 `type:"scene"` 实体**表示画面所在环境;**每个 segment 的 `entity_refs` 必须恰好引用一个 scene**。多镜在同一环境就**复用同一个 scene id**(绝不为同一环境写两份 visual_prompt,否则下游背景漂移);只有真正换了环境才新建另一个 scene。纯产品特写镜也要绑它所处环境的 scene(如「宿舍书桌」「厨房台面」),没有合适环境时复用主场景。
- `visual_prompt` 由你自动生成,小白无需打字。
- **每镜 `visual` 必须按秒拆分镜**:15 秒一场里至少 3 刀、目标 4 刀,写成多行:
`0-3s:景别;构图;运镜;谁在做什么;手和商品的空间关系;信息变化`
第一条从 0 秒起,最后一条接到 15s。每条都要有景别/运镜,15 秒内至少切两次景别。
`0-3s:景别;机位;运镜;谁在做什么;手和商品的空间关系;信息变化`
第一条从 0 秒起,最后一条接到 15s。每条都要有景别/机位/运镜,15 秒内至少切两次景别。
**禁止**用一句静态动作撑满 15 秒(如「女主举起商品展示」)。这是给故事板和 Seedance 的导演说明书,**不占 narration 字数**。
输入是 `【镜头 01】` 分镜稿时,把原稿的景别、机位、运镜、动作、表情、音效、背景音乐、字幕、备注折进导演说明书,不要压成一句画面摘要。
- **`visual` 固定使用导演层级**:先写 `【本镜任务】`(这一段要完成的情绪/信息变化),再写
`【声音】`(可发生的同期声、人声状态或「无配乐,仅同期声」),接着写 `【画面内容】`,
`【声音】`(台词/旁白状态、音效、背景音乐、字幕;没有写无),接着写 `【画面内容】`,
最后在该标题下列出 3–5 条秒级分镜。不要把基础设定、画面风格、镜头动作、声音、旁白混成一段散文。
- **每条秒级分镜都写执行细节**:景别、构图、运镜、动作、信息变化五项至少有四项;例如
`3-8s:中近景;人物位于画面左三分之一,商品从右下入画;手持跟拍;拧开瓶盖并挤出质地;观众第一次看清产品状态。`
- **每条秒级分镜都写执行细节**:景别、机位、运镜、动作、信息变化五项至少有四项;例如
`3-8s:中近景;人物侧后方;手持跟拍;拧开瓶盖并挤出质地;观众第一次看清产品状态。`
这比「展示商品」更容易被分镜图和视频模型准确执行。
- **画面物理常识**:商品用法必须是真人会做的。茶/咖啡 = 热水、蒸汽、茶汤渐染,禁止茶包丢进看起来像冷白开的杯子;护肤品 = 挤出/涂抹;食品 = 打开/入口。手从真实方向入画,禁止悬浮肢体、反关节、商品凭空出现。每条分镜写清容器/包装长什么样、液体或材质当前状态。
- 不要输出 schema 之外的字段,也不要省略必填字段。
@@ -117,8 +118,8 @@ description: >
详见 `references/methodology.md`「旁白红线」。最关键的几条:
- **口语化**,像真人对着镜头说话,不准书面腔 / AI 腔。
- **口播 15 秒镜要说满**:`narration` **54–67 字**(写作目标 **55–63 字,3–5 句短句**)。
上限为 `duration × 4.5` 且不超过 68 字。禁止一句 20 字收工。
- **口播 15 秒镜要说满**:`narration` **64–78 字**(写作目标 **66–74 字,4–5 句短句**)。
上限为 `duration × 5.2` 且不超过 78 字。禁止一句 20 字收工。
商品名全片点名 1–2 次即可,其余镜用卖点原词和可感知细节(口感/气味/动作/使用场景)。
Vlog 才允许个别镜纯画面;口播禁止整镜无声。
- **禁违规词**:医疗功效(治疗/根治/抗癌…)、绝对化用语(最/第一/100%/国家级…)一律不写。
@@ -139,7 +140,7 @@ description: >
| 画幅 | **默认 9:16 竖屏**,由输入可覆盖(16:9 / 1:1 / 4:5 等照用) |
| 总时长 | **15 / 30 / 45 / 60 秒**,由输入给定;未指定时默认 30 |
| 表现形式 | **口播 / 短剧 / Vlog**,由输入给定;未指定时按品类人群自选 |
| 视频结构 | **痛点解决 / 前后对比 / 测评验证 / 场景种草**,由输入给定;未指定时按品类人群自选 |
| 视频结构 | **痛点解决 / 前后对比 / 测评验证 / 场景种草 / 促销抢购 / 知识分享**,由输入给定;未指定时按品类人群自选 |
| 分镜 | **每镜固定 15 秒**;镜数 = 总时长 / 15 |
| 镜头功能 | 钩子 → 痛点 → 卖点 → CTA(黄金结构;具体骨架以视频结构套路为准) |
| 发声方式 | 出片模型直接生成画面+音效+人声(**不走 TTS**) |
@@ -154,7 +155,7 @@ description: >
| ---- | ---- | ---- | ---- |
| **① 全自动** | 用户只给【商品信息 + 前置条件(表现形式/视频结构/时长/人群/卖点勾选)】,无主题无原稿 | 凭商品与前置条件,自动定镜数、选 tone、造 entity、按套路填镜 | `methodology.md` + `hook-library.md` + `category-playbook.md` + `platform-tone.md` |
| **② 一句话** | 用户额外给了一句主题(如「主打熬夜党救星」) | 以该主题为脚本主轴扩写,其余同全自动 | 同上(主题优先于自动选题) |
| **③ 改稿 / 上传脚本** | 用户给了已有脚本/文案 | **保留用户原意**,先识别原稿结构与叙述顺序,再增强钩子/节奏/卖点证明/CTA,并归一化到 JSON 结构 | `methodology.md` + `hook-library.md` + `checklist.md` |
| **③ 改稿 / 上传脚本 / 上传视频提炼** | 用户给了已有脚本,或一份 `【镜头 01】` 导演分镜稿 | **脚本**:保留用户原意,增强钩子/节奏/卖点证明/CTA,并归一化到 JSON。**视频分镜稿**:照搬镜头顺序、每镜时长比例、景别、机位、运镜、人物动作和声音层次,把人物、商品、品牌、台词换成当前商品;`visual` 必须把景别/机位/运镜/动作/表情/音效/背景音乐/字幕/备注折进导演说明书,不要压成一句画面摘要 | `methodology.md` + `hook-library.md` + `checklist.md` |
| 信息不足 | 连商品信息都缺,无法生成 | 唯一允许的回退:用一句话问清最少必要信息 | — |
**进入任何模式前,必须先读取该行列出的参考资料。**
@@ -165,7 +166,7 @@ description: >
并根据输入指定的表现形式与视频结构,**各读一份**:
- `references/playbooks/format-{口播→oral | 短剧→drama | Vlog→vlog}.md`
- `references/playbooks/structure-{痛点解决→pain | 前后对比→contrast | 测评验证→review | 场景种草→scene}.md`
- `references/playbooks/structure-{痛点解决→pain | 前后对比→contrast | 测评验证→review | 场景种草→scene | 促销抢购→promo | 知识分享→knowledge}.md`
> 运行时后端只会把被指定的那两份套路拼进上下文。**看到哪份就用哪份,
> 不要凭记忆套用没加载进来的套路。**
@@ -182,7 +183,7 @@ description: >
4. **抽取/创建 entities** — 识别脚本需要的角色 / 场景 / 商品;为每个 entity 写一份**全脚本共用**的 `visual_prompt`(保证多镜同一角色同一张脸);可选写 `voice_ref` 锁音色。
5. **按套路填结构** — 优先用视频结构套路里的骨架给每个 segment 分配 `role`;
套路没覆盖到的用「role 按镜数分配」表兜底;钩子镜套用该套路指定的钩子写法。
6. **写 narration / visual / 商品露出** — 口播 15 秒镜旁白 55–63 字(下限 54)、口语化、过红线;
6. **写 narration / visual / 商品露出** — 口播 15 秒镜旁白 66–74 字(下限 64)、口语化、过红线;
**visual 按秒拆成 3–5 条分镜**;必须把输入给出的卖点原词和商品描述细节写进旁白或对白,不要每句只重复商品名;
发声方式按表现形式套路来;每镜规划自然的 `product_exposure`。
7. **连引用** — 填 `entity_refs` 与 `speaker`,确认每个 entity 都被引用、id 都合法。