优化脚本
This commit is contained in:
@@ -5,7 +5,7 @@ description: >
|
||||
服务对象不是人类编剧,而是 AirShelf 产品后端的「脚本生成 agent」——在运行时按需加载本技能作为领域知识。
|
||||
能力:把【商品信息 + 前置条件】或【一句话主题】或【用户已有脚本】,
|
||||
自动收敛成一份结构化的带货短视频脚本 JSON
|
||||
(默认 9:16 竖屏可改 / 总时长 5–60 秒按 5 秒步进 / 单镜 4–15 秒可不等长 /
|
||||
(默认 9:16 竖屏可改 / 总时长 15/30/45/60 秒 / 每镜固定 15 秒 /
|
||||
按「表现形式 × 视频结构」套路生成)。
|
||||
当任务为「生成带货脚本 / 扩写主题 / 优化已有脚本 / 商品转视频脚本」时使用本技能。
|
||||
核心目标是「电商小白点一下按钮就出能吸睛、能转化的脚本」,不是影视级艺术性。
|
||||
@@ -57,11 +57,11 @@ description: >
|
||||
"segments": [
|
||||
{
|
||||
"index": 0,
|
||||
"duration": 12,
|
||||
"duration": 15,
|
||||
"role": "钩子|痛点|卖点|CTA",
|
||||
"narration": "这一镜被说出来的台词/旁白,字数上限=duration×3.5",
|
||||
"narration": "这一镜被说出来的台词/旁白,15秒口播目标38-47字(下限36,上限52)",
|
||||
"speaker": "可选,指向某 entity 的 id;画外旁白时为 null",
|
||||
"visual": "这一镜的画面:主体+动作+景别/运镜(特写/全景/手持跟拍/推拉摇)+一个画面或情绪的变化,够导演撑满这一镜的秒数,约40-70字,别只写一句静态动作",
|
||||
"visual": "0-3s:近景,……\\n3-8s:手持跟拍,开始使用商品\\n8-12s:特写,商品用法过程\\n12-15s:拉回中近景,使用后的反应",
|
||||
"product_exposure": "商品露出方式(手持/特写/使用中)",
|
||||
"entity_refs": ["c1", "s1"],
|
||||
"dialogue": []
|
||||
@@ -76,11 +76,12 @@ description: >
|
||||
`video_structure`(`痛点解决|前后对比|测评验证|场景种草`)**原样回填到输出里**,不要自己改。
|
||||
输入没给时,按商品品类与人群自行选一组最合适的,并如实填进这两个字段。
|
||||
- **画幅由输入给定**:`aspect_ratio` 默认 `"9:16"`(电商竖屏主场景),但**不写死**——输入指定了其他比例(如 `"16:9"`、`"1:1"`、`"4:5"`)就照用,原样透传给下游。画幅只影响 `visual` 的构图措辞,不改变结构与镜数。
|
||||
- **总时长由输入给定**:`total_duration` 取 **5–60 秒之间的 5 的倍数**(5/10/15/…/60),输入未指定时默认 `30`。**不要写死。**
|
||||
- **单镜时长 4–15 秒,允许不等长**:每个 `segments[].duration` 必须是 **4 到 15 之间的整数**
|
||||
(15 秒是下游出片模型的硬上限,越界下游直接拒绝出片)。
|
||||
该长的镜给足、该短的镜压短,**不要机械均分**。
|
||||
- **总时长由输入给定**:`total_duration` 取 **15 / 30 / 45 / 60**(15 秒步进),输入未指定时默认 `30`。**不要写死成别的数。**
|
||||
- **每镜固定 15 秒**:每个 `segments[].duration` **必须是 15**,镜数 = `total_duration / 15`(15 秒 1 镜、30 秒 2 镜、45 秒 3 镜、60 秒 4 镜)。
|
||||
禁止 8/10/12 这种不等长,禁止自行加减镜。15 秒也是下游出片模型的硬上限。
|
||||
- **镜时长必须精确加总**:`sum(segments[].duration) == total_duration`,一秒都不能差。
|
||||
- **商品原词铁律**:钩子/旁白/对白必须用上输入里给出的**商品名、品牌、本次勾选卖点的原词**。
|
||||
禁止用「补水 / 好用 / 值得买 / 宝藏 / 闭眼入」这类空话替换真实卖点。品类话术和钩子库只是写法参考,不是正文。
|
||||
- **`segment_count` = `segments` 的实际长度**,且 `index` 从 0 连续递增。
|
||||
- 镜数怎么定、role 怎么按镜数分配,见 `references/methodology.md`「时长 → 镜数 → 黄金结构映射」。
|
||||
- `entities[].id` 全局唯一,`segments[].entity_refs` 与 `speaker` 只能引用已声明的 id。
|
||||
@@ -94,7 +95,11 @@ description: >
|
||||
- **每个声明的 entity 至少被一个 segment 引用**(不留孤儿 entity)。
|
||||
- **场景必抽,且每镜必绑一个场景**:每条脚本**至少声明 1 个 `type:"scene"` 实体**表示画面所在环境;**每个 segment 的 `entity_refs` 必须恰好引用一个 scene**。多镜在同一环境就**复用同一个 scene id**(绝不为同一环境写两份 visual_prompt,否则下游背景漂移);只有真正换了环境才新建另一个 scene。纯产品特写镜也要绑它所处环境的 scene(如「宿舍书桌」「厨房台面」),没有合适环境时复用主场景。
|
||||
- `visual_prompt` 由你自动生成,小白无需打字。
|
||||
- **每镜 `visual` 要够厚撑满这一镜的秒数**:一段话写清 ①主体+动作 ②景别/运镜(特写/全景/手持跟拍/推拉摇,至少给一个镜头语言)③一个画面或情绪的变化(从…到…)。约 **40–70 字**,**禁止只写一句静态动作**(如「女主举起商品展示」撑不住十几秒,要补镜头与变化)。4–6 秒的短镜可以只给一个动作 + 一个镜头语言,但仍要写清景别。注意:这是给生图/视频导演的画面,**不占 narration 的字数额度**。
|
||||
- **每镜 `visual` 必须按秒拆分镜**:15 秒一场里至少 3 刀、目标 4 刀,写成多行:
|
||||
`0-3s:景别,谁在做什么,手和商品的空间关系`
|
||||
第一条从 0 秒起,最后一条接到 15s。每条都要有景别/运镜,15 秒内至少切两次景别。
|
||||
**禁止**用一句静态动作撑满 15 秒(如「女主举起商品展示」)。这是给故事板和 Seedance 的导演说明书,**不占 narration 字数**。
|
||||
- **画面物理常识**:商品用法必须是真人会做的。茶/咖啡 = 热水、蒸汽、茶汤渐染,禁止茶包丢进看起来像冷白开的杯子;护肤品 = 挤出/涂抹;食品 = 打开/入口。手从真实方向入画,禁止悬浮肢体、反关节、商品凭空出现。每条分镜写清容器/包装长什么样、液体或材质当前状态。
|
||||
- 不要输出 schema 之外的字段,也不要省略必填字段。
|
||||
|
||||
### 铁律 2 · 输出前自检
|
||||
@@ -106,10 +111,12 @@ description: >
|
||||
|
||||
详见 `references/methodology.md`「旁白红线」。最关键的几条:
|
||||
- **口语化**,像真人对着镜头说话,不准书面腔 / AI 腔。
|
||||
- **每镜 narration ≤ `duration × 3.5` 字,且绝不超过 55 字**(出片模型在镜内直接发声,
|
||||
3.5 字/秒是可懂语速上限)。短镜装不下就拆到下一镜,或干脆留空走纯画面。
|
||||
- **口播 15 秒镜要说满**:`narration` **36–52 字**(写作目标 **38–47 字,2–4 句短句**)。
|
||||
上限仍是 `duration × 3.5` 且不超过 55 字。禁止一句 20 字收工。
|
||||
商品名全片点名 1–2 次即可,其余镜用卖点原词和可感知细节(口感/气味/动作/使用场景)。
|
||||
Vlog 才允许个别镜纯画面;口播禁止整镜无声。
|
||||
- **禁违规词**:医疗功效(治疗/根治/抗癌…)、绝对化用语(最/第一/100%/国家级…)一律不写。
|
||||
- 不浮夸、不空喊,卖点要落到「商品怎么解决痛点」。
|
||||
- 不浮夸、不空喊,卖点要落到「商品怎么解决痛点」。人物口吻跟输入的人物设定走,不要万能主播腔。
|
||||
|
||||
### 铁律 4 · 一键自动化(与影视母版相反)
|
||||
|
||||
@@ -124,10 +131,10 @@ description: >
|
||||
| 参数 | 值 |
|
||||
| ---- | ---- |
|
||||
| 画幅 | **默认 9:16 竖屏**,由输入可覆盖(16:9 / 1:1 / 4:5 等照用) |
|
||||
| 总时长 | **5–60 秒,5 秒步进**,由输入给定;未指定时默认 30 |
|
||||
| 总时长 | **15 / 30 / 45 / 60 秒**,由输入给定;未指定时默认 30 |
|
||||
| 表现形式 | **口播 / 短剧 / Vlog**,由输入给定;未指定时按品类人群自选 |
|
||||
| 视频结构 | **痛点解决 / 前后对比 / 测评验证 / 场景种草**,由输入给定;未指定时按品类人群自选 |
|
||||
| 分镜 | **单镜 4–15 秒,可不等长**;镜数按表现形式的推荐节奏定(见方法论) |
|
||||
| 分镜 | **每镜固定 15 秒**;镜数 = 总时长 / 15 |
|
||||
| 镜头功能 | 钩子 → 痛点 → 卖点 → CTA(黄金结构;具体骨架以视频结构套路为准) |
|
||||
| 发声方式 | 出片模型直接生成画面+音效+人声(**不走 TTS**) |
|
||||
|
||||
@@ -163,13 +170,14 @@ description: >
|
||||
## 生成流程(内部执行,一次走完,不暂停)
|
||||
|
||||
1. **路由** — 判定输入模式(①/②/③),加载对应 references;再按输入的表现形式与视频结构加载那两份套路。
|
||||
2. **定镜** — 读画幅(`aspect_ratio` 默认 9:16)与总时长(5–60 秒,未指定默认 30);
|
||||
按表现形式的推荐单镜节奏定出镜数,再给每镜分配 4–15 秒的时长,**确保加总等于总时长**。
|
||||
2. **定镜** — 读画幅(`aspect_ratio` 默认 9:16)与总时长(15/30/45/60,未指定默认 30);
|
||||
镜数 = 总时长 / 15,**每镜 duration 一律填 15**。
|
||||
3. **定调(tone)** — 依据视频结构 + 品类话术 + 平台调性,选定 `tone`;②③ 模式尊重用户已表达的倾向。
|
||||
4. **抽取/创建 entities** — 识别脚本需要的角色 / 场景 / 商品;为每个 entity 写一份**全脚本共用**的 `visual_prompt`(保证多镜同一角色同一张脸);可选写 `voice_ref` 锁音色。
|
||||
5. **按套路填结构** — 优先用视频结构套路里的骨架给每个 segment 分配 `role`;
|
||||
套路没覆盖到的用「role 按镜数分配」表兜底;钩子镜套用该套路指定的钩子写法。
|
||||
6. **写 narration / visual / 商品露出** — 每镜旁白 ≤ `duration × 3.5` 字、口语化、过红线;
|
||||
6. **写 narration / visual / 商品露出** — 口播 15 秒镜旁白 38–47 字(下限 36)、口语化、过红线;
|
||||
**visual 按秒拆成 3–5 条分镜**;必须把输入给出的卖点原词和商品描述细节写进旁白或对白,不要每句只重复商品名;
|
||||
发声方式按表现形式套路来;每镜规划自然的 `product_exposure`。
|
||||
7. **连引用** — 填 `entity_refs` 与 `speaker`,确认每个 entity 都被引用、id 都合法。
|
||||
8. **自检** — 跑 `checklist.md`,过了再输出。
|
||||
|
||||
Reference in New Issue
Block a user