@optima-chat/optima-agent 0.9.11 → 0.9.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/.kb-skills-managed.json +9 -9
- package/.claude/skills/ads/SKILL.md +244 -244
- package/.claude/skills/ads/template/campaign/CREATIVES.md +18 -18
- package/.claude/skills/ads/template/campaign/NOTES.md +10 -10
- package/.claude/skills/ads/template/campaign/STRATEGY.md +29 -29
- package/.claude/skills/ads/template/user/ADS.md +29 -29
- package/.claude/skills/ads/template/user/LEARNINGS.md +15 -15
- package/.claude/skills/ads/template/user/PROGRESS.md +20 -20
- package/.claude/skills/ads/template/user/README.md +25 -25
- package/.claude/skills/ads/template/user/assets/.gitignore +2 -2
- package/.claude/skills/bi/SKILL.md +131 -131
- package/.claude/skills/browser/SKILL.md +201 -201
- package/.claude/skills/channels/SKILL.md +188 -188
- package/.claude/skills/collection/SKILL.md +88 -88
- package/.claude/skills/douyin/SKILL.md +408 -408
- package/.claude/skills/ffmpeg/SKILL.md +164 -164
- package/.claude/skills/gen/SKILL.md +279 -279
- package/.claude/skills/growth/SKILL.md +90 -90
- package/.claude/skills/growth/template/ACCOUNTS.md +14 -14
- package/.claude/skills/growth/template/CALENDAR.md +7 -7
- package/.claude/skills/growth/template/COMMENTS.md +7 -7
- package/.claude/skills/growth/template/GROWTH.md +37 -37
- package/.claude/skills/growth/template/PROGRESS.md +4 -4
- package/.claude/skills/growth/template/README.md +20 -20
- package/.claude/skills/growth/template/TOPICS.md +7 -7
- package/.claude/skills/homepage/SKILL.md +177 -177
- package/.claude/skills/i18n/SKILL.md +517 -517
- package/.claude/skills/ingesting-sources/SKILL.md +94 -94
- package/.claude/skills/initializing-kb/SKILL.md +117 -117
- package/.claude/skills/instagram/SKILL.md +321 -321
- package/.claude/skills/inventory/SKILL.md +328 -328
- package/.claude/skills/kol-outreach/SKILL.md +232 -232
- package/.claude/skills/kol-outreach/template/campaign/CONFIG.md +60 -60
- package/.claude/skills/kol-outreach/template/campaign/KOLS.md +6 -6
- package/.claude/skills/kol-outreach/template/campaign/PROGRESS.md +3 -3
- package/.claude/skills/kol-outreach/template/campaign/TEMPLATES.md +88 -88
- package/.claude/skills/kol-outreach/template/merchant/BRAND.md +36 -36
- package/.claude/skills/kol-outreach/template/merchant/CAMPAIGNS.md +6 -6
- package/.claude/skills/kol-outreach/template/merchant/MERCHANT_LIMITS.md +16 -16
- package/.claude/skills/kol-outreach/template/merchant/PROGRESS.md +4 -4
- package/.claude/skills/kol-outreach/template/merchant/README.md +20 -20
- package/.claude/skills/linting-the-wiki/SKILL.md +68 -68
- package/.claude/skills/logistics/SKILL.md +180 -180
- package/.claude/skills/markdown-pdf/SKILL.md +72 -72
- package/.claude/skills/merchant/SKILL.md +110 -110
- package/.claude/skills/multigrid-poster/SKILL.md +192 -192
- package/.claude/skills/multigrid-poster/layouts/2x2.json +34 -34
- package/.claude/skills/multigrid-poster/layouts/3x3.json +43 -43
- package/.claude/skills/multigrid-poster/scripts/compose.py +116 -116
- package/.claude/skills/order/SKILL.md +452 -452
- package/.claude/skills/product/SKILL.md +379 -379
- package/.claude/skills/product-page/SKILL.md +106 -106
- package/.claude/skills/querying-the-wiki/SKILL.md +59 -59
- package/.claude/skills/reddit/SKILL.md +277 -277
- package/.claude/skills/review/SKILL.md +321 -321
- package/.claude/skills/scout/SKILL.md +575 -575
- package/.claude/skills/sentinel/SKILL.md +281 -281
- package/.claude/skills/shein/SKILL.md +246 -246
- package/.claude/skills/shipping/SKILL.md +200 -200
- package/.claude/skills/shop-content/SKILL.md +101 -101
- package/.claude/skills/shopify/SKILL.md +282 -282
- package/.claude/skills/skillify/SKILL.md +114 -114
- package/.claude/skills/taobao/SKILL.md +238 -238
- package/.claude/skills/tiktok/SKILL.md +381 -381
- package/.claude/skills/twitter/SKILL.md +302 -302
- package/.claude/skills/updating-related-pages/SKILL.md +65 -65
- package/.claude/skills/video-edit/SKILL.md +138 -138
- package/.claude/skills/video-gen/SKILL.md +720 -630
- package/.claude/skills/video-gen/templates/INDEX.md +78 -78
- package/.claude/skills/video-gen/templates/before-after-beauty.md +183 -183
- package/.claude/skills/video-gen/templates/drama-fmcg.md +183 -183
- package/.claude/skills/video-gen/templates/kol-reaction-food.md +193 -193
- package/.claude/skills/video-gen/templates/multi-point-apparel.md +185 -185
- package/.claude/skills/video-gen/templates/pain-solution-home.md +184 -184
- package/.claude/skills/video-gen/templates/pdp-360-showcase.md +189 -189
- package/.claude/skills/video-gen/templates/pdp-feature-highlight.md +182 -182
- package/.claude/skills/video-gen/templates/scene-digital.md +183 -183
- package/.claude/skills/wechat/SKILL.md +174 -174
- package/.claude/skills/xhs/SKILL.md +170 -170
- package/README.md +276 -276
- package/dist/bin/optima.js +26 -26
- package/dist/bin/serve.js +23 -23
- package/dist/bin/video-edit.d.ts +3 -0
- package/dist/bin/video-edit.d.ts.map +1 -0
- package/dist/bin/video-edit.js +153 -0
- package/dist/bin/video-edit.js.map +1 -0
- package/dist/src/agent.d.ts +1 -1
- package/dist/src/agent.js +4 -4
- package/dist/src/system-prompt.d.ts.map +1 -1
- package/dist/src/system-prompt.js +175 -173
- package/dist/src/system-prompt.js.map +1 -1
- package/dist/src/tools/memory.js +10 -10
- package/dist/src/ui/headless.js +7 -7
- package/package.json +79 -79
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: templates-index
|
|
3
|
-
purpose: "路由表 · 在读任何模板前先读这份,决定选哪个"
|
|
4
|
-
design_principle: "三问内定位到唯一模板;不能定位的走兜底"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Templates Index
|
|
8
|
-
|
|
9
|
-
> **用法**:Agent 在「形成 Storyboard」第 1 步读这份,决定下一步读哪一个具体模板文件。**不要先把 8 个模板全读一遍**——那会白烧 context 而且更容易选错。
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 三问路由
|
|
14
|
-
|
|
15
|
-
### 问 1:放哪里投?
|
|
16
|
-
|
|
17
|
-
| 投放目的 | 跳到 |
|
|
18
|
-
|---|---|
|
|
19
|
-
| 详情页 / PDP / 产品档案(不带 CTA)| **问 2a** |
|
|
20
|
-
| 社媒(抖音 / TikTok / 小红书 / IG)| **问 2b** |
|
|
21
|
-
| 两者都要 | 先按社媒选,发布时按 `G · 平台 delta` 裁切成 PDP 版本 |
|
|
22
|
-
|
|
23
|
-
### 问 2a:PDP 重外观还是重卖点?
|
|
24
|
-
|
|
25
|
-
| 产品特征 | 模板 | 时长 |
|
|
26
|
-
|---|---|---|
|
|
27
|
-
| 重外观 / 造型导向(家居 · 服装 · 配饰 · 玩具 · 礼盒) | `pdp-360-showcase.md` | 15-25s |
|
|
28
|
-
| 重功能 / 参数导向(数码 · 小家电 · 工具 · 办公设备) | `pdp-feature-highlight.md` | 20-30s |
|
|
29
|
-
|
|
30
|
-
### 问 2b:按产品品类选
|
|
31
|
-
|
|
32
|
-
| 产品品类 | 模板 | 形态 | 客单带 | 时长 |
|
|
33
|
-
|---|---|---|---|---|
|
|
34
|
-
| 家居 / 日用 / 清洁 / 收纳 | `pain-solution-home.md` | 痛点-解决 | ¥50–300 | 18-22s |
|
|
35
|
-
| 美妆 / 护肤 / 洗护 / 清洁工具 | `before-after-beauty.md` | 效果对比 | ¥80–500 | 20-25s |
|
|
36
|
-
| 数码 / 3C / 智能硬件 | `scene-digital.md` | 场景化 | — | 25-35s |
|
|
37
|
-
| 服装 / 鞋帽 / 配饰 | `multi-point-apparel.md` | 多卖点 | — | 20-30s |
|
|
38
|
-
| 食品 / 饮料 / 零食(重口味体验)| `kol-reaction-food.md` | KOL 反应 | — | 30-45s |
|
|
39
|
-
| 快消 / 咖啡 / 功能饮料 / 办公零食 | `drama-fmcg.md` | 剧情植入 | ¥20–100 | 25-35s |
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 疑难消歧(两个看似都能套时)
|
|
44
|
-
|
|
45
|
-
| 冲突 | 选择规则 |
|
|
46
|
-
|---|---|
|
|
47
|
-
| 家居痛点类 vs 美妆效果类(如清洁美容工具) | 看"证据类型":销量/评论驱动 → `pain-solution-home`;视觉前后对比 → `before-after-beauty` |
|
|
48
|
-
| 数码场景 vs 家居痛点(如智能清洁机器人) | 看"核心卖点语言":功能参数主导 → `scene-digital`;解决具体痛点主导 → `pain-solution-home` |
|
|
49
|
-
| 食品 KOL 反应 vs FMCG 剧情(如新品咖啡) | 看"客单 × 使用频次":¥20-100 高频日饮 → `drama-fmcg`;≥¥50 单次体验性 → `kol-reaction-food` |
|
|
50
|
-
| 服装多卖点 vs PDP 功能 | 看"投放位置":社媒 → `multi-point-apparel`;详情页 → `pdp-feature-highlight` |
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## 兜底(现有 8 个模板都不合适时)
|
|
55
|
-
|
|
56
|
-
先检查是否属于下列**已知不适合**的场景,再决定如何处理:
|
|
57
|
-
|
|
58
|
-
| 场景 | 推荐做法 |
|
|
59
|
-
|---|---|
|
|
60
|
-
| 客单价 ≥ ¥500 的信任型购买(美容仪 · 高端数码 · 奢品) | 跳过模板,按 KOL 信任型自由 storyboard(长讲解 + 深度测评,现有模板都偏短 + 偏转化) |
|
|
61
|
-
| 香水 / 酒类等**不可视化**品类 | 走 `kol-reaction-food` 的 KOL 反应骨架,但主镜头替换为品牌叙事 |
|
|
62
|
-
| 工业 B2B / 服务类(非实物商品) | 现有模板均不适用,回到零构建 |
|
|
63
|
-
| 品类在表里但形态诉求不符(如美妆做剧情植入) | 优先按品类选,再从 `drama-fmcg.md` 的 B 段骨架**借"剧情结构"** |
|
|
64
|
-
| 多品类组合套装 | 选主品类模板 + 每镜 PRODUCT_LOCK 列出所有 SKU |
|
|
65
|
-
|
|
66
|
-
**什么时候应该跳过模板**:
|
|
67
|
-
- 复刻场景,源视频形态不在上表覆盖内(按 `analysis.md` 的结构自由构建)
|
|
68
|
-
- 用户显式说"别用模板 / 按我这个参考做"
|
|
69
|
-
- 迭代场景(`再试` / `改 X`),沿用旧 storyboard 即可,不用重新路由
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## Agent 交互规则
|
|
74
|
-
|
|
75
|
-
1. **展示选择结果**:选完模板,告诉用户一句话"我准备用 `<模板名>`(<形态描述>)给你做 storyboard,合适吗?",用户否认才换。
|
|
76
|
-
2. **不展示路由过程**:用户看不到 INDEX 推理过程,只看结论。
|
|
77
|
-
3. **写入 history**:最终用的模板名写进 `history.md` 的 `template` 列,方便迭代时追溯。
|
|
78
|
-
4. **模板冲突优先级**:用户明示 > 品类匹配 > 形态匹配 > 时长匹配。
|
|
1
|
+
---
|
|
2
|
+
name: templates-index
|
|
3
|
+
purpose: "路由表 · 在读任何模板前先读这份,决定选哪个"
|
|
4
|
+
design_principle: "三问内定位到唯一模板;不能定位的走兜底"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Templates Index
|
|
8
|
+
|
|
9
|
+
> **用法**:Agent 在「形成 Storyboard」第 1 步读这份,决定下一步读哪一个具体模板文件。**不要先把 8 个模板全读一遍**——那会白烧 context 而且更容易选错。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 三问路由
|
|
14
|
+
|
|
15
|
+
### 问 1:放哪里投?
|
|
16
|
+
|
|
17
|
+
| 投放目的 | 跳到 |
|
|
18
|
+
|---|---|
|
|
19
|
+
| 详情页 / PDP / 产品档案(不带 CTA)| **问 2a** |
|
|
20
|
+
| 社媒(抖音 / TikTok / 小红书 / IG)| **问 2b** |
|
|
21
|
+
| 两者都要 | 先按社媒选,发布时按 `G · 平台 delta` 裁切成 PDP 版本 |
|
|
22
|
+
|
|
23
|
+
### 问 2a:PDP 重外观还是重卖点?
|
|
24
|
+
|
|
25
|
+
| 产品特征 | 模板 | 时长 |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| 重外观 / 造型导向(家居 · 服装 · 配饰 · 玩具 · 礼盒) | `pdp-360-showcase.md` | 15-25s |
|
|
28
|
+
| 重功能 / 参数导向(数码 · 小家电 · 工具 · 办公设备) | `pdp-feature-highlight.md` | 20-30s |
|
|
29
|
+
|
|
30
|
+
### 问 2b:按产品品类选
|
|
31
|
+
|
|
32
|
+
| 产品品类 | 模板 | 形态 | 客单带 | 时长 |
|
|
33
|
+
|---|---|---|---|---|
|
|
34
|
+
| 家居 / 日用 / 清洁 / 收纳 | `pain-solution-home.md` | 痛点-解决 | ¥50–300 | 18-22s |
|
|
35
|
+
| 美妆 / 护肤 / 洗护 / 清洁工具 | `before-after-beauty.md` | 效果对比 | ¥80–500 | 20-25s |
|
|
36
|
+
| 数码 / 3C / 智能硬件 | `scene-digital.md` | 场景化 | — | 25-35s |
|
|
37
|
+
| 服装 / 鞋帽 / 配饰 | `multi-point-apparel.md` | 多卖点 | — | 20-30s |
|
|
38
|
+
| 食品 / 饮料 / 零食(重口味体验)| `kol-reaction-food.md` | KOL 反应 | — | 30-45s |
|
|
39
|
+
| 快消 / 咖啡 / 功能饮料 / 办公零食 | `drama-fmcg.md` | 剧情植入 | ¥20–100 | 25-35s |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 疑难消歧(两个看似都能套时)
|
|
44
|
+
|
|
45
|
+
| 冲突 | 选择规则 |
|
|
46
|
+
|---|---|
|
|
47
|
+
| 家居痛点类 vs 美妆效果类(如清洁美容工具) | 看"证据类型":销量/评论驱动 → `pain-solution-home`;视觉前后对比 → `before-after-beauty` |
|
|
48
|
+
| 数码场景 vs 家居痛点(如智能清洁机器人) | 看"核心卖点语言":功能参数主导 → `scene-digital`;解决具体痛点主导 → `pain-solution-home` |
|
|
49
|
+
| 食品 KOL 反应 vs FMCG 剧情(如新品咖啡) | 看"客单 × 使用频次":¥20-100 高频日饮 → `drama-fmcg`;≥¥50 单次体验性 → `kol-reaction-food` |
|
|
50
|
+
| 服装多卖点 vs PDP 功能 | 看"投放位置":社媒 → `multi-point-apparel`;详情页 → `pdp-feature-highlight` |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 兜底(现有 8 个模板都不合适时)
|
|
55
|
+
|
|
56
|
+
先检查是否属于下列**已知不适合**的场景,再决定如何处理:
|
|
57
|
+
|
|
58
|
+
| 场景 | 推荐做法 |
|
|
59
|
+
|---|---|
|
|
60
|
+
| 客单价 ≥ ¥500 的信任型购买(美容仪 · 高端数码 · 奢品) | 跳过模板,按 KOL 信任型自由 storyboard(长讲解 + 深度测评,现有模板都偏短 + 偏转化) |
|
|
61
|
+
| 香水 / 酒类等**不可视化**品类 | 走 `kol-reaction-food` 的 KOL 反应骨架,但主镜头替换为品牌叙事 |
|
|
62
|
+
| 工业 B2B / 服务类(非实物商品) | 现有模板均不适用,回到零构建 |
|
|
63
|
+
| 品类在表里但形态诉求不符(如美妆做剧情植入) | 优先按品类选,再从 `drama-fmcg.md` 的 B 段骨架**借"剧情结构"** |
|
|
64
|
+
| 多品类组合套装 | 选主品类模板 + 每镜 PRODUCT_LOCK 列出所有 SKU |
|
|
65
|
+
|
|
66
|
+
**什么时候应该跳过模板**:
|
|
67
|
+
- 复刻场景,源视频形态不在上表覆盖内(按 `analysis.md` 的结构自由构建)
|
|
68
|
+
- 用户显式说"别用模板 / 按我这个参考做"
|
|
69
|
+
- 迭代场景(`再试` / `改 X`),沿用旧 storyboard 即可,不用重新路由
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Agent 交互规则
|
|
74
|
+
|
|
75
|
+
1. **展示选择结果**:选完模板,告诉用户一句话"我准备用 `<模板名>`(<形态描述>)给你做 storyboard,合适吗?",用户否认才换。
|
|
76
|
+
2. **不展示路由过程**:用户看不到 INDEX 推理过程,只看结论。
|
|
77
|
+
3. **写入 history**:最终用的模板名写进 `history.md` 的 `template` 列,方便迭代时追溯。
|
|
78
|
+
4. **模板冲突优先级**:用户明示 > 品类匹配 > 形态匹配 > 时长匹配。
|
|
@@ -1,183 +1,183 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: before-after-beauty
|
|
3
|
-
type: before-after
|
|
4
|
-
category: beauty
|
|
5
|
-
duration_sweet_spot: 20-25s
|
|
6
|
-
design_principle: "每个字段对应一个可预见的失败模式;字段密度按镜头风险不对称"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Template: 效果对比型(美妆 / 护肤 / 清洁)
|
|
10
|
-
|
|
11
|
-
> **第一性原理**:本模板每个字段对应一个具体的失败模式。
|
|
12
|
-
> **适合**:美妆 / 护肤 / 洗护 / 家居清洁,客单价 ¥80–500
|
|
13
|
-
> **高风险镜头**:#4(产品应用 CU)· #7(after 特写)· #9(CTA)
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# A · 项目卡(**对抗"决策基础不全"**)
|
|
18
|
-
|
|
19
|
-
| 字段 | 填写 | 不填的后果 |
|
|
20
|
-
|---|---|---|
|
|
21
|
-
| `{product_name}` | | PRODUCT_LOCK 无锚点 |
|
|
22
|
-
| `{product_type}`(面膜/粉底/洁面/...) | | 影响镜头动作(涂抹/按压/清洁)|
|
|
23
|
-
| `{effect_claim}`("提亮两个度")| | Hook 无承诺点 |
|
|
24
|
-
| `{price}` / `{original_price}` | | CTA 写不出 |
|
|
25
|
-
| `{target_skin}`(油皮/干皮/敏感)| | 受众不清,参考图用错 |
|
|
26
|
-
| `{before_condition}`(暗黄/干燥/痘痘)| | #1 #2 拍不出可视化痛点 |
|
|
27
|
-
| `{after_state}`(透亮/水润/净透)| | #6 #7 拍不出 reveal |
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
# B · 五段骨架(Before-Apply-After-Proof-CTA)
|
|
32
|
-
|
|
33
|
-
| 段 | 时长 | 必须决定的事 |
|
|
34
|
-
|---|---|---|
|
|
35
|
-
| BEFORE | 0-4s | 展示**哪种皮肤问题**?(暗黄/出油/细纹)|
|
|
36
|
-
| APPLY | 4-10s | 展示**产品使用动作**(涂抹/按压/停留多久)|
|
|
37
|
-
| AFTER | 10-15s | 以**什么机位**展示效果(同角度对比 / 时间流逝)|
|
|
38
|
-
| PROOF | 15-20s | 拿什么证据:**成分 / 销量 / 评论 / KOL 背书**(四选一)|
|
|
39
|
-
| CTA | 20-25s | 限时 + 赠品 + 位置指示 |
|
|
40
|
-
|
|
41
|
-
**效果对比类铁律**:BEFORE 和 AFTER **必须同角度同光线**,否则"对比"失效。
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
# C · 镜头表(字段密度按风险不对称)
|
|
46
|
-
|
|
47
|
-
| # | 时长 | 画面 | 字幕 | 运镜 | PRODUCT_LOCK | REF_IMG | NEGATIVE |
|
|
48
|
-
|---|---|---|---|---|---|---|---|
|
|
49
|
-
| 1 | 0-2s | `{before_CU}` 面部痛点特写 | `{pain_label}`("暗黄"/"出油") | CU 正脸 + 环形光 | — | `refs/before.jpg` | no skin distortion |
|
|
50
|
-
| 2 | 2-4s | `{pain_multi_angle}` 多角度痛点 | 痛点词 ×3 | 侧脸 / 仰角 | — | — | — |
|
|
51
|
-
| 3 | 4-6s | `{product}` 开瓶 / 挤出 | `{product_name}` | CU + 静止 | **★ full** | **`refs/product.jpg`** | **no label distortion, no color shift** |
|
|
52
|
-
| **4** | **6-10s** | **`{apply_motion}`** 涂抹 / 按压 | `{apply_verb}`("轻拍"/"按摩")| **MS 跟手 + 45° 侧光** | **★ same** | **`refs/product.jpg`** | **no extra fingers, no smudge on product** |
|
|
53
|
-
| 5 | 10-13s | `{time_lapse}` 变化过程 | "5 分钟后" | 定格 + 淡入淡出 | — | — | — |
|
|
54
|
-
| **6** | **13-15s** | **`{after_CU}` 效果特写** | `{after_word}`("透亮"/"水润")| **CU 同机位对比** | — | **`refs/after.jpg`** | **no over-smoothed skin, no unrealistic glow** |
|
|
55
|
-
| 7 | 15-17s | `{side_by_side}` 对比拼图 | "before / after" | 静止 | — | `refs/compare.jpg` | no mirror flip |
|
|
56
|
-
| 8 | 17-20s | `{proof_evidence}` 成分/销量/评论 | "{proof_label}" | 屏录 | — | `refs/proof.png` | no fake data |
|
|
57
|
-
| **9** | **20-25s** | **`{product_hero}` + 价格 + 购物车箭头** | `{cta_line}` | **CU + 轻推** | **★ hero** | **`refs/product.jpg`** | **no burned-in subtitle** |
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
# D · PRODUCT_LOCK 规范
|
|
62
|
-
|
|
63
|
-
```yaml
|
|
64
|
-
product_lock:
|
|
65
|
-
name: "{product_name}"
|
|
66
|
-
must_specify:
|
|
67
|
-
- bottle_shape: "{e.g. pump / dropper / squeeze tube}"
|
|
68
|
-
- color_palette: "{e.g. nude pink + white + gold accent}"
|
|
69
|
-
- label_text: "{e.g. 中文品牌 + 英文 product line + 容量}"
|
|
70
|
-
- cap_style: "{e.g. screw-top / flip-top / pump head}"
|
|
71
|
-
consistency_method:
|
|
72
|
-
primary: "same seed across #3/#4/#9"
|
|
73
|
-
backup: "image-to-video chain #3 → #4 (apply motion 续接)"
|
|
74
|
-
reference_image: "refs/product.jpg (≥1200x1200 白底 + 3 角度)"
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
# E · 参考图清单
|
|
80
|
-
|
|
81
|
-
| 文件 | 用途 | 必须 |
|
|
82
|
-
|---|---|---|
|
|
83
|
-
| `refs/product.jpg` | 产品主图(白底 · ≥1200x1200)| ✅ |
|
|
84
|
-
| `refs/before.jpg` | before 皮肤状态参考 | ✅ |
|
|
85
|
-
| `refs/after.jpg` | after 效果参考(同角度同光线)| ✅ |
|
|
86
|
-
| `refs/compare.jpg` | 对比拼图参考 | ⚠️ 推荐 |
|
|
87
|
-
| `refs/proof.png` | 成分 / 销量 / 评论截图 | ✅ |
|
|
88
|
-
|
|
89
|
-
**对比类铁律**:`refs/before.jpg` 和 `refs/after.jpg` **必须同机位同光线**,否则 AI 生成时会出现角度不一致。
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
# F · 通用默认值
|
|
94
|
-
|
|
95
|
-
```yaml
|
|
96
|
-
aspect: "9:16"
|
|
97
|
-
total_duration: 25
|
|
98
|
-
pacing: slow-moderate
|
|
99
|
-
asl: 2.8
|
|
100
|
-
bgm:
|
|
101
|
-
douyin: "商家原声(轻柔)"
|
|
102
|
-
tiktok: "original sound / satisfying ASMR"
|
|
103
|
-
xhs: "治愈钢琴 / 纯音乐"
|
|
104
|
-
hook_template: "{target_skin} 姐妹还在 {pain_noun} 吗?"
|
|
105
|
-
cta_template: "{price}(原价 {original_price})送 {gift}"
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
# G · 平台 Delta
|
|
111
|
-
|
|
112
|
-
| | 抖音小店 | TikTok Shop | 小红书 |
|
|
113
|
-
|---|---|---|---|
|
|
114
|
-
| 字幕 | 中文 | 英文 + "GLOW UP ✨" | 中文 + 表情 + 成分党术语 |
|
|
115
|
-
| 时长 | 25s(master)| 22s | 30s(加前置"成分解读")|
|
|
116
|
-
| BGM | 商家原声 | original sound (ASMR) | 纯音乐 |
|
|
117
|
-
| CTA 话术 | "小黄车 送同品牌面膜" | "Linked in bio ✨" | "评论区扣 1 发链接" |
|
|
118
|
-
| Hashtag | `#美妆护肤 #护肤心得` | `#skincaretiktok #glowup #beforeafter` | `#护肤 #成分党 #抗老` |
|
|
119
|
-
| 封面帧 | #6 after CU | #7 side-by-side 对比 | #4 涂抹动作 |
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
# H · 失败模式 Checklist
|
|
124
|
-
|
|
125
|
-
## H.1 生成前
|
|
126
|
-
|
|
127
|
-
- [ ] `refs/before.jpg` 和 `refs/after.jpg` **同机位同光线**
|
|
128
|
-
- [ ] `refs/product.jpg` ≥ 1200x1200 且**标签文字清晰**
|
|
129
|
-
- [ ] `PRODUCT_LOCK.label_text` 填写完整(AI 易生成乱码 label)
|
|
130
|
-
- [ ] NEGATIVE 含 `no label distortion / no text garble`
|
|
131
|
-
|
|
132
|
-
## H.2 导出前
|
|
133
|
-
|
|
134
|
-
- [ ] 产品在 #3/#4/#9 外观一致(特别检查**瓶身标签**是否乱码)
|
|
135
|
-
- [ ] BEFORE vs AFTER 是否同角度(对比类视频死穴)
|
|
136
|
-
- [ ] 皮肤过度美化?(`no over-smoothed skin` 触发)
|
|
137
|
-
- [ ] AFTER 特写里**没有产品**(产品只在应用段出现)
|
|
138
|
-
|
|
139
|
-
## H.3 发布前
|
|
140
|
-
|
|
141
|
-
- [ ] 静音能看懂"前后对比"逻辑?
|
|
142
|
-
- [ ] 2× 播放节奏跟得上?
|
|
143
|
-
- [ ] 效果承诺是否违反广告法(医美词 / 神奇 / 最好)?← **美妆额外红线**
|
|
144
|
-
- [ ] 各平台 Delta 改完?
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
# I · 成本预估
|
|
149
|
-
|
|
150
|
-
```yaml
|
|
151
|
-
production_cost:
|
|
152
|
-
per_second_rate_usd:
|
|
153
|
-
standard: TBD # 填自 Optima credits 换算表
|
|
154
|
-
hifi: TBD # 填自 Optima credits 换算表
|
|
155
|
-
complexity_note: "美妆特写 prompt 更复杂"
|
|
156
|
-
human_review: "45 min(广告法审查额外)"
|
|
157
|
-
editing: "1.5 hour"
|
|
158
|
-
per_platform_delta: "20 min × 3 = 1 hour"
|
|
159
|
-
total: "$5.4 + 3.5 hours"
|
|
160
|
-
|
|
161
|
-
breakeven_math:
|
|
162
|
-
if_product_margin: "{margin} (美妆毛利通常 60-70%)"
|
|
163
|
-
conversion_rate_assumption: "1.5%"
|
|
164
|
-
realistic_range_per_platform: "20K-200K views (美妆赛道高)"
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
# J · 复用边界
|
|
170
|
-
|
|
171
|
-
**✅ 直接套用**:
|
|
172
|
-
面膜 · 精华 · 粉底 · 眼霜 · 洗面奶 · 身体乳 · 清洁工具(如洁面仪)
|
|
173
|
-
|
|
174
|
-
**❌ 不适合**:
|
|
175
|
-
- 香水(不可视化 → 换 kol-reaction-food 类模板)
|
|
176
|
-
- 美容仪 ≥¥500 → KOL 信任型
|
|
177
|
-
- 家居清洁 → `pain-solution-home.md`(痛点驱动而非美学驱动)
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
# 相关
|
|
182
|
-
|
|
183
|
-
- 美妆广告法红线参考:国标 GB/T 2716(不含医美宣称)
|
|
1
|
+
---
|
|
2
|
+
name: before-after-beauty
|
|
3
|
+
type: before-after
|
|
4
|
+
category: beauty
|
|
5
|
+
duration_sweet_spot: 20-25s
|
|
6
|
+
design_principle: "每个字段对应一个可预见的失败模式;字段密度按镜头风险不对称"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Template: 效果对比型(美妆 / 护肤 / 清洁)
|
|
10
|
+
|
|
11
|
+
> **第一性原理**:本模板每个字段对应一个具体的失败模式。
|
|
12
|
+
> **适合**:美妆 / 护肤 / 洗护 / 家居清洁,客单价 ¥80–500
|
|
13
|
+
> **高风险镜头**:#4(产品应用 CU)· #7(after 特写)· #9(CTA)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# A · 项目卡(**对抗"决策基础不全"**)
|
|
18
|
+
|
|
19
|
+
| 字段 | 填写 | 不填的后果 |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `{product_name}` | | PRODUCT_LOCK 无锚点 |
|
|
22
|
+
| `{product_type}`(面膜/粉底/洁面/...) | | 影响镜头动作(涂抹/按压/清洁)|
|
|
23
|
+
| `{effect_claim}`("提亮两个度")| | Hook 无承诺点 |
|
|
24
|
+
| `{price}` / `{original_price}` | | CTA 写不出 |
|
|
25
|
+
| `{target_skin}`(油皮/干皮/敏感)| | 受众不清,参考图用错 |
|
|
26
|
+
| `{before_condition}`(暗黄/干燥/痘痘)| | #1 #2 拍不出可视化痛点 |
|
|
27
|
+
| `{after_state}`(透亮/水润/净透)| | #6 #7 拍不出 reveal |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# B · 五段骨架(Before-Apply-After-Proof-CTA)
|
|
32
|
+
|
|
33
|
+
| 段 | 时长 | 必须决定的事 |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| BEFORE | 0-4s | 展示**哪种皮肤问题**?(暗黄/出油/细纹)|
|
|
36
|
+
| APPLY | 4-10s | 展示**产品使用动作**(涂抹/按压/停留多久)|
|
|
37
|
+
| AFTER | 10-15s | 以**什么机位**展示效果(同角度对比 / 时间流逝)|
|
|
38
|
+
| PROOF | 15-20s | 拿什么证据:**成分 / 销量 / 评论 / KOL 背书**(四选一)|
|
|
39
|
+
| CTA | 20-25s | 限时 + 赠品 + 位置指示 |
|
|
40
|
+
|
|
41
|
+
**效果对比类铁律**:BEFORE 和 AFTER **必须同角度同光线**,否则"对比"失效。
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# C · 镜头表(字段密度按风险不对称)
|
|
46
|
+
|
|
47
|
+
| # | 时长 | 画面 | 字幕 | 运镜 | PRODUCT_LOCK | REF_IMG | NEGATIVE |
|
|
48
|
+
|---|---|---|---|---|---|---|---|
|
|
49
|
+
| 1 | 0-2s | `{before_CU}` 面部痛点特写 | `{pain_label}`("暗黄"/"出油") | CU 正脸 + 环形光 | — | `refs/before.jpg` | no skin distortion |
|
|
50
|
+
| 2 | 2-4s | `{pain_multi_angle}` 多角度痛点 | 痛点词 ×3 | 侧脸 / 仰角 | — | — | — |
|
|
51
|
+
| 3 | 4-6s | `{product}` 开瓶 / 挤出 | `{product_name}` | CU + 静止 | **★ full** | **`refs/product.jpg`** | **no label distortion, no color shift** |
|
|
52
|
+
| **4** | **6-10s** | **`{apply_motion}`** 涂抹 / 按压 | `{apply_verb}`("轻拍"/"按摩")| **MS 跟手 + 45° 侧光** | **★ same** | **`refs/product.jpg`** | **no extra fingers, no smudge on product** |
|
|
53
|
+
| 5 | 10-13s | `{time_lapse}` 变化过程 | "5 分钟后" | 定格 + 淡入淡出 | — | — | — |
|
|
54
|
+
| **6** | **13-15s** | **`{after_CU}` 效果特写** | `{after_word}`("透亮"/"水润")| **CU 同机位对比** | — | **`refs/after.jpg`** | **no over-smoothed skin, no unrealistic glow** |
|
|
55
|
+
| 7 | 15-17s | `{side_by_side}` 对比拼图 | "before / after" | 静止 | — | `refs/compare.jpg` | no mirror flip |
|
|
56
|
+
| 8 | 17-20s | `{proof_evidence}` 成分/销量/评论 | "{proof_label}" | 屏录 | — | `refs/proof.png` | no fake data |
|
|
57
|
+
| **9** | **20-25s** | **`{product_hero}` + 价格 + 购物车箭头** | `{cta_line}` | **CU + 轻推** | **★ hero** | **`refs/product.jpg`** | **no burned-in subtitle** |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
# D · PRODUCT_LOCK 规范
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
product_lock:
|
|
65
|
+
name: "{product_name}"
|
|
66
|
+
must_specify:
|
|
67
|
+
- bottle_shape: "{e.g. pump / dropper / squeeze tube}"
|
|
68
|
+
- color_palette: "{e.g. nude pink + white + gold accent}"
|
|
69
|
+
- label_text: "{e.g. 中文品牌 + 英文 product line + 容量}"
|
|
70
|
+
- cap_style: "{e.g. screw-top / flip-top / pump head}"
|
|
71
|
+
consistency_method:
|
|
72
|
+
primary: "same seed across #3/#4/#9"
|
|
73
|
+
backup: "image-to-video chain #3 → #4 (apply motion 续接)"
|
|
74
|
+
reference_image: "refs/product.jpg (≥1200x1200 白底 + 3 角度)"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
# E · 参考图清单
|
|
80
|
+
|
|
81
|
+
| 文件 | 用途 | 必须 |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `refs/product.jpg` | 产品主图(白底 · ≥1200x1200)| ✅ |
|
|
84
|
+
| `refs/before.jpg` | before 皮肤状态参考 | ✅ |
|
|
85
|
+
| `refs/after.jpg` | after 效果参考(同角度同光线)| ✅ |
|
|
86
|
+
| `refs/compare.jpg` | 对比拼图参考 | ⚠️ 推荐 |
|
|
87
|
+
| `refs/proof.png` | 成分 / 销量 / 评论截图 | ✅ |
|
|
88
|
+
|
|
89
|
+
**对比类铁律**:`refs/before.jpg` 和 `refs/after.jpg` **必须同机位同光线**,否则 AI 生成时会出现角度不一致。
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
# F · 通用默认值
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
aspect: "9:16"
|
|
97
|
+
total_duration: 25
|
|
98
|
+
pacing: slow-moderate
|
|
99
|
+
asl: 2.8
|
|
100
|
+
bgm:
|
|
101
|
+
douyin: "商家原声(轻柔)"
|
|
102
|
+
tiktok: "original sound / satisfying ASMR"
|
|
103
|
+
xhs: "治愈钢琴 / 纯音乐"
|
|
104
|
+
hook_template: "{target_skin} 姐妹还在 {pain_noun} 吗?"
|
|
105
|
+
cta_template: "{price}(原价 {original_price})送 {gift}"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
# G · 平台 Delta
|
|
111
|
+
|
|
112
|
+
| | 抖音小店 | TikTok Shop | 小红书 |
|
|
113
|
+
|---|---|---|---|
|
|
114
|
+
| 字幕 | 中文 | 英文 + "GLOW UP ✨" | 中文 + 表情 + 成分党术语 |
|
|
115
|
+
| 时长 | 25s(master)| 22s | 30s(加前置"成分解读")|
|
|
116
|
+
| BGM | 商家原声 | original sound (ASMR) | 纯音乐 |
|
|
117
|
+
| CTA 话术 | "小黄车 送同品牌面膜" | "Linked in bio ✨" | "评论区扣 1 发链接" |
|
|
118
|
+
| Hashtag | `#美妆护肤 #护肤心得` | `#skincaretiktok #glowup #beforeafter` | `#护肤 #成分党 #抗老` |
|
|
119
|
+
| 封面帧 | #6 after CU | #7 side-by-side 对比 | #4 涂抹动作 |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
# H · 失败模式 Checklist
|
|
124
|
+
|
|
125
|
+
## H.1 生成前
|
|
126
|
+
|
|
127
|
+
- [ ] `refs/before.jpg` 和 `refs/after.jpg` **同机位同光线**
|
|
128
|
+
- [ ] `refs/product.jpg` ≥ 1200x1200 且**标签文字清晰**
|
|
129
|
+
- [ ] `PRODUCT_LOCK.label_text` 填写完整(AI 易生成乱码 label)
|
|
130
|
+
- [ ] NEGATIVE 含 `no label distortion / no text garble`
|
|
131
|
+
|
|
132
|
+
## H.2 导出前
|
|
133
|
+
|
|
134
|
+
- [ ] 产品在 #3/#4/#9 外观一致(特别检查**瓶身标签**是否乱码)
|
|
135
|
+
- [ ] BEFORE vs AFTER 是否同角度(对比类视频死穴)
|
|
136
|
+
- [ ] 皮肤过度美化?(`no over-smoothed skin` 触发)
|
|
137
|
+
- [ ] AFTER 特写里**没有产品**(产品只在应用段出现)
|
|
138
|
+
|
|
139
|
+
## H.3 发布前
|
|
140
|
+
|
|
141
|
+
- [ ] 静音能看懂"前后对比"逻辑?
|
|
142
|
+
- [ ] 2× 播放节奏跟得上?
|
|
143
|
+
- [ ] 效果承诺是否违反广告法(医美词 / 神奇 / 最好)?← **美妆额外红线**
|
|
144
|
+
- [ ] 各平台 Delta 改完?
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
# I · 成本预估
|
|
149
|
+
|
|
150
|
+
```yaml
|
|
151
|
+
production_cost:
|
|
152
|
+
per_second_rate_usd:
|
|
153
|
+
standard: TBD # 填自 Optima credits 换算表
|
|
154
|
+
hifi: TBD # 填自 Optima credits 换算表
|
|
155
|
+
complexity_note: "美妆特写 prompt 更复杂"
|
|
156
|
+
human_review: "45 min(广告法审查额外)"
|
|
157
|
+
editing: "1.5 hour"
|
|
158
|
+
per_platform_delta: "20 min × 3 = 1 hour"
|
|
159
|
+
total: "$5.4 + 3.5 hours"
|
|
160
|
+
|
|
161
|
+
breakeven_math:
|
|
162
|
+
if_product_margin: "{margin} (美妆毛利通常 60-70%)"
|
|
163
|
+
conversion_rate_assumption: "1.5%"
|
|
164
|
+
realistic_range_per_platform: "20K-200K views (美妆赛道高)"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
# J · 复用边界
|
|
170
|
+
|
|
171
|
+
**✅ 直接套用**:
|
|
172
|
+
面膜 · 精华 · 粉底 · 眼霜 · 洗面奶 · 身体乳 · 清洁工具(如洁面仪)
|
|
173
|
+
|
|
174
|
+
**❌ 不适合**:
|
|
175
|
+
- 香水(不可视化 → 换 kol-reaction-food 类模板)
|
|
176
|
+
- 美容仪 ≥¥500 → KOL 信任型
|
|
177
|
+
- 家居清洁 → `pain-solution-home.md`(痛点驱动而非美学驱动)
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
# 相关
|
|
182
|
+
|
|
183
|
+
- 美妆广告法红线参考:国标 GB/T 2716(不含医美宣称)
|