@optima-chat/optima-agent 0.9.12 → 0.9.14
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 +123 -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/src/agent.d.ts +1 -1
- package/dist/src/agent.js +4 -4
- package/dist/src/system-prompt.js +175 -175
- package/dist/src/tools/memory.js +10 -10
- package/dist/src/ui/headless.js +7 -7
- package/package.json +79 -79
- package/dist/bin/video-edit.d.ts +0 -3
- package/dist/bin/video-edit.d.ts.map +0 -1
- package/dist/bin/video-edit.js +0 -153
- package/dist/bin/video-edit.js.map +0 -1
|
@@ -1,184 +1,184 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pain-solution-home
|
|
3
|
-
type: pain-solution
|
|
4
|
-
category: home
|
|
5
|
-
duration_sweet_spot: 18-22s
|
|
6
|
-
design_principle: "每个字段对应一个可预见的失败模式;字段密度按镜头风险不对称"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Template: 痛点-解决型(家居 / 日用)
|
|
10
|
-
|
|
11
|
-
> **第一性原理**:本模板的每个字段都是为了阻止一个具体的失败模式。没有装饰字段。
|
|
12
|
-
> **适合**:家居 / 日用 / 清洁 / 收纳,客单价 ¥50–300
|
|
13
|
-
> **高风险镜头**:#4(产品首次出现)· #9(商品 CTA)—— 字段密度最高
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# A · 项目卡(**对抗"类型选错 / 决策基础不全"**)
|
|
18
|
-
|
|
19
|
-
| 字段 | 填写 | 不填的后果 |
|
|
20
|
-
|---|---|---|
|
|
21
|
-
| `{product_name}` | | PRODUCT_LOCK 无锚点 |
|
|
22
|
-
| `{product_category}` | | 判断不了是否属于本模板 |
|
|
23
|
-
| `{price}` / `{original_price}` | | CTA 写不出 |
|
|
24
|
-
| `{price_point}`(低/中/高客单)| | 客单 >¥300 应切 KOL 模板 |
|
|
25
|
-
| `{target_user}` | | Hook 找不到切入语气 |
|
|
26
|
-
| `{core_pain_noun}`(如"脏水"/"油污")| | HOOK 模板无法填充 |
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
# B · 五段骨架(**对抗"电商结构不全,漏 PROOF 则转化崩"**)
|
|
31
|
-
|
|
32
|
-
| 段 | 时长 | 必须决定的事 |
|
|
33
|
-
|---|---|---|
|
|
34
|
-
| HOOK | 0-2s | 痛点反问的**一句话**(≤15 字)|
|
|
35
|
-
| PAIN | 2-5s | 旧方案要暴露哪**两个**缺陷 |
|
|
36
|
-
| SOLUTION | 5-12s | 核心动作名(如"一脚踩→自动拧")|
|
|
37
|
-
| PROOF | 12-18s | **拿什么证据**:销量数字 / 评论截图 / 对比图(必须指定)|
|
|
38
|
-
| CTA | 18-22s | 紧迫感 + 位置指示("左下角 ¥99 限时")|
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
# C · 镜头表(**字段密度按风险不对称**)
|
|
43
|
-
|
|
44
|
-
**低风险镜头**(#1-#3 痛点场景)只需要 4 列;
|
|
45
|
-
**高风险镜头**(#4-#6 产品演示 · #9 CTA)增加 PRODUCT_LOCK + REFERENCE_IMG + NEGATIVE 三列。
|
|
46
|
-
|
|
47
|
-
| # | 时长 | 画面 | 字幕 | 运镜 | PRODUCT_LOCK | REF_IMG | NEGATIVE |
|
|
48
|
-
|---|---|---|---|---|---|---|---|
|
|
49
|
-
| 1 | 0-2s | `{pain_CU}` 痛点 CU | `{hook_line}` | CU + 手持微抖 | — | `refs/pain_context.jpg`(可选) | no text overlay |
|
|
50
|
-
| 2 | 2-3.5s | `{old_method_pain}` | "痛点关键词" | 跟手 | — | — | — |
|
|
51
|
-
| 3 | 3.5-5s | `{pain_consequence}` | "三大问题" | 特写 | — | — | — |
|
|
52
|
-
| **4** | **5-8s** | **`{product}` 出场 + 核心动作** | `{core_action}` | **CU + 静止** | **★ full** | **`refs/product.jpg`** | **no variations, no morphing** |
|
|
53
|
-
| **5** | **8-11s** | **`{product_demo}` 效果** | "自动/一键" | **跟手** | **★ same as #4** | **`refs/product.jpg`** | **no color shift, no flip** |
|
|
54
|
-
| **6** | **11-14s** | **全景 `{clean_result}`** | "省时 80%" | **中景** | **★ same** | — | **no warping** |
|
|
55
|
-
| 7 | 14-17s | `{sales_screenshot}` | "热卖 {sales_number}" | 屏录 | — | `refs/sales_page.png` | no fake data, no blur |
|
|
56
|
-
| 8 | 17-19s | `{reviews_rollup}` | "4.9 分好评" | 屏录 | — | `refs/reviews.png` | no text distortion |
|
|
57
|
-
| **9** | **19-22s** | **`{product_CU}` + 价格 + 购物车箭头** | `{cta_line}` | **CU + 轻推** | **★ hero shot** | **`refs/product.jpg`** | **no burned-in subtitle, no extra arrows** |
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
# D · PRODUCT_LOCK 规范(**对抗"AI 生成时产品每段都变形"**)
|
|
62
|
-
|
|
63
|
-
```yaml
|
|
64
|
-
product_lock:
|
|
65
|
-
name: "{product_name}"
|
|
66
|
-
must_specify:
|
|
67
|
-
- color_palette: "{e.g. matte white + silver accents + blue ring}"
|
|
68
|
-
- material_finish: "{e.g. ABS plastic + brushed aluminum}"
|
|
69
|
-
- logo_position: "{e.g. top front, 5mm height}"
|
|
70
|
-
- silhouette: "{e.g. cylindrical head + 30cm pole + pedal base}"
|
|
71
|
-
consistency_method:
|
|
72
|
-
primary: "same seed across shots #4/#5/#6/#9"
|
|
73
|
-
backup: "image-to-video chain #4 → #5 → #6 (use last frame as next input)"
|
|
74
|
-
reference_image: "refs/product.jpg (800x800 white background, 3+ angles)"
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
# E · 参考图清单(**对抗"缺视觉锚点 / 照着空气生成"**)
|
|
80
|
-
|
|
81
|
-
| 文件 | 用途 | 必须有 |
|
|
82
|
-
|---|---|---|
|
|
83
|
-
| `refs/product.jpg` | 产品主图(白底 · ≥800x800) | ✅ |
|
|
84
|
-
| `refs/product_detail.jpg` | 细节特写(logo / 材质) | ✅ |
|
|
85
|
-
| `refs/pain_context.jpg` | 痛点场景参考(可选,增强 #1-#3 真实感) | ⚠️ 推荐 |
|
|
86
|
-
| `refs/sales_page.png` | 销量截图(用于 #7) | ✅ |
|
|
87
|
-
| `refs/reviews.png` | 评论滚动截图(用于 #8) | ✅ |
|
|
88
|
-
|
|
89
|
-
**缺任何一张 ✅ 标的 → storyboard 未完成,不能进生成**。
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
# F · 通用默认值
|
|
94
|
-
|
|
95
|
-
```yaml
|
|
96
|
-
aspect: "9:16"
|
|
97
|
-
total_duration: 22
|
|
98
|
-
pacing: moderate-fast
|
|
99
|
-
asl: 2.4 # 平均镜头长度(秒)
|
|
100
|
-
bgm:
|
|
101
|
-
douyin: "商家原声讲解"
|
|
102
|
-
tiktok: "original sound"
|
|
103
|
-
xhs: "轻音乐 + ASMR"
|
|
104
|
-
hook_template: "你家的 {core_pain_noun} 还是这样吗?"
|
|
105
|
-
cta_template: "左下角 {price}(原价 {original_price})限时"
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
# G · 平台 Delta(**对抗"一版三投,数据必有两个差"**)
|
|
111
|
-
|
|
112
|
-
| | 抖音小店 | TikTok Shop | 小红书 |
|
|
113
|
-
|---|---|---|---|
|
|
114
|
-
| 字幕 | 中文 | 英文大写 + 🤯 | 中文 + 表情 |
|
|
115
|
-
| 时长 | 22s(master)| 17s(砍 #2 #6)| 28s(加场景化前置)|
|
|
116
|
-
| BGM | 商家原声 | original sound | 轻音乐 + ASMR |
|
|
117
|
-
| CTA 话术 | "左下角小黄车" | "Yellow basket 👇" | "评论区拿链接" |
|
|
118
|
-
| Hashtag | `#家居好物 #懒人神器` | `#tiktokmademebuyit #cleantok` | `#家居种草 #懒人必备` |
|
|
119
|
-
| 封面帧 | #4 动作感 | #5 前后对比 | #6 治愈感 |
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
# H · 失败模式 Checklist(**发布前必过**)
|
|
124
|
-
|
|
125
|
-
## H.1 生成前(**对抗"生成就翻车"**)
|
|
126
|
-
|
|
127
|
-
- [ ] `refs/product.jpg` 存在且清晰度 ≥ 1080×1080
|
|
128
|
-
- [ ] `PRODUCT_LOCK` 的 4 项 must_specify 全部填写
|
|
129
|
-
- [ ] 镜头 #4 #5 #6 #9 使用同一个 seed 和同一张 reference
|
|
130
|
-
- [ ] `NEGATIVE` 字段包含 5 要素(no distorted hands / no text / no variations / no morphing / no watermark)
|
|
131
|
-
|
|
132
|
-
## H.2 导出前(**对抗"生成完了才发现错"**)
|
|
133
|
-
|
|
134
|
-
- [ ] 产品在 #4/#5/#6/#9 四个镜头里外观一致(目检)
|
|
135
|
-
- [ ] 没有手指畸形 / 产品文字被 AI 错误生成
|
|
136
|
-
- [ ] 字幕是后期叠加,不是被生成到画面里
|
|
137
|
-
- [ ] 9 个镜头拼接后总时长 = 22s ± 0.5s
|
|
138
|
-
- [ ] BGM 节拍对齐 Shot #4 的动作点
|
|
139
|
-
|
|
140
|
-
## H.3 发布前(**对抗"发了没人看"**)
|
|
141
|
-
|
|
142
|
-
- [ ] 静音测试:关声音能看懂卖点?
|
|
143
|
-
- [ ] 2× 播放能跟上节奏?
|
|
144
|
-
- [ ] Scroll Stop:朋友看首 3 秒会划走吗?
|
|
145
|
-
- [ ] 价格 / 库存 / CTA 信息当下有效?
|
|
146
|
-
- [ ] 各平台 Delta 已按 G 表改完?
|
|
147
|
-
|
|
148
|
-
**三段 checklist 全过才发。**
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
# I · 成本预估(**对抗"商家盲投"**)
|
|
153
|
-
|
|
154
|
-
```yaml
|
|
155
|
-
production_cost:
|
|
156
|
-
per_second_rate_usd:
|
|
157
|
-
standard: TBD # 填自 Optima credits 换算表
|
|
158
|
-
hifi: TBD # 填自 Optima credits 换算表
|
|
159
|
-
complexity_note: ""
|
|
160
|
-
human_review: "30 min"
|
|
161
|
-
editing_subtitle_bgm: "1 hour"
|
|
162
|
-
per_platform_delta: "15 min × 3 = 45 min"
|
|
163
|
-
total: "$4.5 + 2.5 hours"
|
|
164
|
-
|
|
165
|
-
breakeven_math:
|
|
166
|
-
if_product_margin: "{margin}"
|
|
167
|
-
conversion_rate_assumption: "2%"
|
|
168
|
-
views_to_breakeven: "total_cost / (price × margin × conversion_rate)"
|
|
169
|
-
realistic_range_per_platform: "10K-100K views (based on 15-item viral sample)"
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
# J · 复用边界(**对抗"模板套错产品"**)
|
|
175
|
-
|
|
176
|
-
**✅ 直接套用**(仅改 `{product}` / `{pain}` / `{sales}` 字段):
|
|
177
|
-
洗衣球 · 洗鞋机 · 油烟净 · 厨房收纳 · 切菜神器 · 马桶刷 · 地板清洁剂
|
|
178
|
-
|
|
179
|
-
**❌ 不适合**(切换到其他模板):
|
|
180
|
-
- 美妆 → `before-after-beauty.md`
|
|
181
|
-
- 数码 / 3C → `scene-digital.md`
|
|
182
|
-
- 服装 → `multi-point-apparel.md`
|
|
183
|
-
- 食品 → `kol-reaction-food.md`
|
|
184
|
-
- 客单价 ≥¥500 → KOL 信任型模板
|
|
1
|
+
---
|
|
2
|
+
name: pain-solution-home
|
|
3
|
+
type: pain-solution
|
|
4
|
+
category: home
|
|
5
|
+
duration_sweet_spot: 18-22s
|
|
6
|
+
design_principle: "每个字段对应一个可预见的失败模式;字段密度按镜头风险不对称"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Template: 痛点-解决型(家居 / 日用)
|
|
10
|
+
|
|
11
|
+
> **第一性原理**:本模板的每个字段都是为了阻止一个具体的失败模式。没有装饰字段。
|
|
12
|
+
> **适合**:家居 / 日用 / 清洁 / 收纳,客单价 ¥50–300
|
|
13
|
+
> **高风险镜头**:#4(产品首次出现)· #9(商品 CTA)—— 字段密度最高
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# A · 项目卡(**对抗"类型选错 / 决策基础不全"**)
|
|
18
|
+
|
|
19
|
+
| 字段 | 填写 | 不填的后果 |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `{product_name}` | | PRODUCT_LOCK 无锚点 |
|
|
22
|
+
| `{product_category}` | | 判断不了是否属于本模板 |
|
|
23
|
+
| `{price}` / `{original_price}` | | CTA 写不出 |
|
|
24
|
+
| `{price_point}`(低/中/高客单)| | 客单 >¥300 应切 KOL 模板 |
|
|
25
|
+
| `{target_user}` | | Hook 找不到切入语气 |
|
|
26
|
+
| `{core_pain_noun}`(如"脏水"/"油污")| | HOOK 模板无法填充 |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# B · 五段骨架(**对抗"电商结构不全,漏 PROOF 则转化崩"**)
|
|
31
|
+
|
|
32
|
+
| 段 | 时长 | 必须决定的事 |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| HOOK | 0-2s | 痛点反问的**一句话**(≤15 字)|
|
|
35
|
+
| PAIN | 2-5s | 旧方案要暴露哪**两个**缺陷 |
|
|
36
|
+
| SOLUTION | 5-12s | 核心动作名(如"一脚踩→自动拧")|
|
|
37
|
+
| PROOF | 12-18s | **拿什么证据**:销量数字 / 评论截图 / 对比图(必须指定)|
|
|
38
|
+
| CTA | 18-22s | 紧迫感 + 位置指示("左下角 ¥99 限时")|
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
# C · 镜头表(**字段密度按风险不对称**)
|
|
43
|
+
|
|
44
|
+
**低风险镜头**(#1-#3 痛点场景)只需要 4 列;
|
|
45
|
+
**高风险镜头**(#4-#6 产品演示 · #9 CTA)增加 PRODUCT_LOCK + REFERENCE_IMG + NEGATIVE 三列。
|
|
46
|
+
|
|
47
|
+
| # | 时长 | 画面 | 字幕 | 运镜 | PRODUCT_LOCK | REF_IMG | NEGATIVE |
|
|
48
|
+
|---|---|---|---|---|---|---|---|
|
|
49
|
+
| 1 | 0-2s | `{pain_CU}` 痛点 CU | `{hook_line}` | CU + 手持微抖 | — | `refs/pain_context.jpg`(可选) | no text overlay |
|
|
50
|
+
| 2 | 2-3.5s | `{old_method_pain}` | "痛点关键词" | 跟手 | — | — | — |
|
|
51
|
+
| 3 | 3.5-5s | `{pain_consequence}` | "三大问题" | 特写 | — | — | — |
|
|
52
|
+
| **4** | **5-8s** | **`{product}` 出场 + 核心动作** | `{core_action}` | **CU + 静止** | **★ full** | **`refs/product.jpg`** | **no variations, no morphing** |
|
|
53
|
+
| **5** | **8-11s** | **`{product_demo}` 效果** | "自动/一键" | **跟手** | **★ same as #4** | **`refs/product.jpg`** | **no color shift, no flip** |
|
|
54
|
+
| **6** | **11-14s** | **全景 `{clean_result}`** | "省时 80%" | **中景** | **★ same** | — | **no warping** |
|
|
55
|
+
| 7 | 14-17s | `{sales_screenshot}` | "热卖 {sales_number}" | 屏录 | — | `refs/sales_page.png` | no fake data, no blur |
|
|
56
|
+
| 8 | 17-19s | `{reviews_rollup}` | "4.9 分好评" | 屏录 | — | `refs/reviews.png` | no text distortion |
|
|
57
|
+
| **9** | **19-22s** | **`{product_CU}` + 价格 + 购物车箭头** | `{cta_line}` | **CU + 轻推** | **★ hero shot** | **`refs/product.jpg`** | **no burned-in subtitle, no extra arrows** |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
# D · PRODUCT_LOCK 规范(**对抗"AI 生成时产品每段都变形"**)
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
product_lock:
|
|
65
|
+
name: "{product_name}"
|
|
66
|
+
must_specify:
|
|
67
|
+
- color_palette: "{e.g. matte white + silver accents + blue ring}"
|
|
68
|
+
- material_finish: "{e.g. ABS plastic + brushed aluminum}"
|
|
69
|
+
- logo_position: "{e.g. top front, 5mm height}"
|
|
70
|
+
- silhouette: "{e.g. cylindrical head + 30cm pole + pedal base}"
|
|
71
|
+
consistency_method:
|
|
72
|
+
primary: "same seed across shots #4/#5/#6/#9"
|
|
73
|
+
backup: "image-to-video chain #4 → #5 → #6 (use last frame as next input)"
|
|
74
|
+
reference_image: "refs/product.jpg (800x800 white background, 3+ angles)"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
# E · 参考图清单(**对抗"缺视觉锚点 / 照着空气生成"**)
|
|
80
|
+
|
|
81
|
+
| 文件 | 用途 | 必须有 |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `refs/product.jpg` | 产品主图(白底 · ≥800x800) | ✅ |
|
|
84
|
+
| `refs/product_detail.jpg` | 细节特写(logo / 材质) | ✅ |
|
|
85
|
+
| `refs/pain_context.jpg` | 痛点场景参考(可选,增强 #1-#3 真实感) | ⚠️ 推荐 |
|
|
86
|
+
| `refs/sales_page.png` | 销量截图(用于 #7) | ✅ |
|
|
87
|
+
| `refs/reviews.png` | 评论滚动截图(用于 #8) | ✅ |
|
|
88
|
+
|
|
89
|
+
**缺任何一张 ✅ 标的 → storyboard 未完成,不能进生成**。
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
# F · 通用默认值
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
aspect: "9:16"
|
|
97
|
+
total_duration: 22
|
|
98
|
+
pacing: moderate-fast
|
|
99
|
+
asl: 2.4 # 平均镜头长度(秒)
|
|
100
|
+
bgm:
|
|
101
|
+
douyin: "商家原声讲解"
|
|
102
|
+
tiktok: "original sound"
|
|
103
|
+
xhs: "轻音乐 + ASMR"
|
|
104
|
+
hook_template: "你家的 {core_pain_noun} 还是这样吗?"
|
|
105
|
+
cta_template: "左下角 {price}(原价 {original_price})限时"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
# G · 平台 Delta(**对抗"一版三投,数据必有两个差"**)
|
|
111
|
+
|
|
112
|
+
| | 抖音小店 | TikTok Shop | 小红书 |
|
|
113
|
+
|---|---|---|---|
|
|
114
|
+
| 字幕 | 中文 | 英文大写 + 🤯 | 中文 + 表情 |
|
|
115
|
+
| 时长 | 22s(master)| 17s(砍 #2 #6)| 28s(加场景化前置)|
|
|
116
|
+
| BGM | 商家原声 | original sound | 轻音乐 + ASMR |
|
|
117
|
+
| CTA 话术 | "左下角小黄车" | "Yellow basket 👇" | "评论区拿链接" |
|
|
118
|
+
| Hashtag | `#家居好物 #懒人神器` | `#tiktokmademebuyit #cleantok` | `#家居种草 #懒人必备` |
|
|
119
|
+
| 封面帧 | #4 动作感 | #5 前后对比 | #6 治愈感 |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
# H · 失败模式 Checklist(**发布前必过**)
|
|
124
|
+
|
|
125
|
+
## H.1 生成前(**对抗"生成就翻车"**)
|
|
126
|
+
|
|
127
|
+
- [ ] `refs/product.jpg` 存在且清晰度 ≥ 1080×1080
|
|
128
|
+
- [ ] `PRODUCT_LOCK` 的 4 项 must_specify 全部填写
|
|
129
|
+
- [ ] 镜头 #4 #5 #6 #9 使用同一个 seed 和同一张 reference
|
|
130
|
+
- [ ] `NEGATIVE` 字段包含 5 要素(no distorted hands / no text / no variations / no morphing / no watermark)
|
|
131
|
+
|
|
132
|
+
## H.2 导出前(**对抗"生成完了才发现错"**)
|
|
133
|
+
|
|
134
|
+
- [ ] 产品在 #4/#5/#6/#9 四个镜头里外观一致(目检)
|
|
135
|
+
- [ ] 没有手指畸形 / 产品文字被 AI 错误生成
|
|
136
|
+
- [ ] 字幕是后期叠加,不是被生成到画面里
|
|
137
|
+
- [ ] 9 个镜头拼接后总时长 = 22s ± 0.5s
|
|
138
|
+
- [ ] BGM 节拍对齐 Shot #4 的动作点
|
|
139
|
+
|
|
140
|
+
## H.3 发布前(**对抗"发了没人看"**)
|
|
141
|
+
|
|
142
|
+
- [ ] 静音测试:关声音能看懂卖点?
|
|
143
|
+
- [ ] 2× 播放能跟上节奏?
|
|
144
|
+
- [ ] Scroll Stop:朋友看首 3 秒会划走吗?
|
|
145
|
+
- [ ] 价格 / 库存 / CTA 信息当下有效?
|
|
146
|
+
- [ ] 各平台 Delta 已按 G 表改完?
|
|
147
|
+
|
|
148
|
+
**三段 checklist 全过才发。**
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
# I · 成本预估(**对抗"商家盲投"**)
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
production_cost:
|
|
156
|
+
per_second_rate_usd:
|
|
157
|
+
standard: TBD # 填自 Optima credits 换算表
|
|
158
|
+
hifi: TBD # 填自 Optima credits 换算表
|
|
159
|
+
complexity_note: ""
|
|
160
|
+
human_review: "30 min"
|
|
161
|
+
editing_subtitle_bgm: "1 hour"
|
|
162
|
+
per_platform_delta: "15 min × 3 = 45 min"
|
|
163
|
+
total: "$4.5 + 2.5 hours"
|
|
164
|
+
|
|
165
|
+
breakeven_math:
|
|
166
|
+
if_product_margin: "{margin}"
|
|
167
|
+
conversion_rate_assumption: "2%"
|
|
168
|
+
views_to_breakeven: "total_cost / (price × margin × conversion_rate)"
|
|
169
|
+
realistic_range_per_platform: "10K-100K views (based on 15-item viral sample)"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
# J · 复用边界(**对抗"模板套错产品"**)
|
|
175
|
+
|
|
176
|
+
**✅ 直接套用**(仅改 `{product}` / `{pain}` / `{sales}` 字段):
|
|
177
|
+
洗衣球 · 洗鞋机 · 油烟净 · 厨房收纳 · 切菜神器 · 马桶刷 · 地板清洁剂
|
|
178
|
+
|
|
179
|
+
**❌ 不适合**(切换到其他模板):
|
|
180
|
+
- 美妆 → `before-after-beauty.md`
|
|
181
|
+
- 数码 / 3C → `scene-digital.md`
|
|
182
|
+
- 服装 → `multi-point-apparel.md`
|
|
183
|
+
- 食品 → `kol-reaction-food.md`
|
|
184
|
+
- 客单价 ≥¥500 → KOL 信任型模板
|