@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.
Files changed (94) hide show
  1. package/.claude/skills/.kb-skills-managed.json +9 -9
  2. package/.claude/skills/ads/SKILL.md +244 -244
  3. package/.claude/skills/ads/template/campaign/CREATIVES.md +18 -18
  4. package/.claude/skills/ads/template/campaign/NOTES.md +10 -10
  5. package/.claude/skills/ads/template/campaign/STRATEGY.md +29 -29
  6. package/.claude/skills/ads/template/user/ADS.md +29 -29
  7. package/.claude/skills/ads/template/user/LEARNINGS.md +15 -15
  8. package/.claude/skills/ads/template/user/PROGRESS.md +20 -20
  9. package/.claude/skills/ads/template/user/README.md +25 -25
  10. package/.claude/skills/ads/template/user/assets/.gitignore +2 -2
  11. package/.claude/skills/bi/SKILL.md +131 -131
  12. package/.claude/skills/browser/SKILL.md +201 -201
  13. package/.claude/skills/channels/SKILL.md +188 -188
  14. package/.claude/skills/collection/SKILL.md +88 -88
  15. package/.claude/skills/douyin/SKILL.md +408 -408
  16. package/.claude/skills/ffmpeg/SKILL.md +164 -164
  17. package/.claude/skills/gen/SKILL.md +279 -279
  18. package/.claude/skills/growth/SKILL.md +90 -90
  19. package/.claude/skills/growth/template/ACCOUNTS.md +14 -14
  20. package/.claude/skills/growth/template/CALENDAR.md +7 -7
  21. package/.claude/skills/growth/template/COMMENTS.md +7 -7
  22. package/.claude/skills/growth/template/GROWTH.md +37 -37
  23. package/.claude/skills/growth/template/PROGRESS.md +4 -4
  24. package/.claude/skills/growth/template/README.md +20 -20
  25. package/.claude/skills/growth/template/TOPICS.md +7 -7
  26. package/.claude/skills/homepage/SKILL.md +177 -177
  27. package/.claude/skills/i18n/SKILL.md +517 -517
  28. package/.claude/skills/ingesting-sources/SKILL.md +94 -94
  29. package/.claude/skills/initializing-kb/SKILL.md +117 -117
  30. package/.claude/skills/instagram/SKILL.md +321 -321
  31. package/.claude/skills/inventory/SKILL.md +328 -328
  32. package/.claude/skills/kol-outreach/SKILL.md +232 -232
  33. package/.claude/skills/kol-outreach/template/campaign/CONFIG.md +60 -60
  34. package/.claude/skills/kol-outreach/template/campaign/KOLS.md +6 -6
  35. package/.claude/skills/kol-outreach/template/campaign/PROGRESS.md +3 -3
  36. package/.claude/skills/kol-outreach/template/campaign/TEMPLATES.md +88 -88
  37. package/.claude/skills/kol-outreach/template/merchant/BRAND.md +36 -36
  38. package/.claude/skills/kol-outreach/template/merchant/CAMPAIGNS.md +6 -6
  39. package/.claude/skills/kol-outreach/template/merchant/MERCHANT_LIMITS.md +16 -16
  40. package/.claude/skills/kol-outreach/template/merchant/PROGRESS.md +4 -4
  41. package/.claude/skills/kol-outreach/template/merchant/README.md +20 -20
  42. package/.claude/skills/linting-the-wiki/SKILL.md +68 -68
  43. package/.claude/skills/logistics/SKILL.md +180 -180
  44. package/.claude/skills/markdown-pdf/SKILL.md +72 -72
  45. package/.claude/skills/merchant/SKILL.md +110 -110
  46. package/.claude/skills/multigrid-poster/SKILL.md +192 -192
  47. package/.claude/skills/multigrid-poster/layouts/2x2.json +34 -34
  48. package/.claude/skills/multigrid-poster/layouts/3x3.json +43 -43
  49. package/.claude/skills/multigrid-poster/scripts/compose.py +116 -116
  50. package/.claude/skills/order/SKILL.md +452 -452
  51. package/.claude/skills/product/SKILL.md +379 -379
  52. package/.claude/skills/product-page/SKILL.md +106 -106
  53. package/.claude/skills/querying-the-wiki/SKILL.md +59 -59
  54. package/.claude/skills/reddit/SKILL.md +277 -277
  55. package/.claude/skills/review/SKILL.md +321 -321
  56. package/.claude/skills/scout/SKILL.md +575 -575
  57. package/.claude/skills/sentinel/SKILL.md +281 -281
  58. package/.claude/skills/shein/SKILL.md +246 -246
  59. package/.claude/skills/shipping/SKILL.md +200 -200
  60. package/.claude/skills/shop-content/SKILL.md +101 -101
  61. package/.claude/skills/shopify/SKILL.md +282 -282
  62. package/.claude/skills/skillify/SKILL.md +114 -114
  63. package/.claude/skills/taobao/SKILL.md +238 -238
  64. package/.claude/skills/tiktok/SKILL.md +381 -381
  65. package/.claude/skills/twitter/SKILL.md +302 -302
  66. package/.claude/skills/updating-related-pages/SKILL.md +65 -65
  67. package/.claude/skills/video-edit/SKILL.md +138 -138
  68. package/.claude/skills/video-gen/SKILL.md +720 -630
  69. package/.claude/skills/video-gen/templates/INDEX.md +78 -78
  70. package/.claude/skills/video-gen/templates/before-after-beauty.md +183 -183
  71. package/.claude/skills/video-gen/templates/drama-fmcg.md +183 -183
  72. package/.claude/skills/video-gen/templates/kol-reaction-food.md +193 -193
  73. package/.claude/skills/video-gen/templates/multi-point-apparel.md +185 -185
  74. package/.claude/skills/video-gen/templates/pain-solution-home.md +184 -184
  75. package/.claude/skills/video-gen/templates/pdp-360-showcase.md +189 -189
  76. package/.claude/skills/video-gen/templates/pdp-feature-highlight.md +182 -182
  77. package/.claude/skills/video-gen/templates/scene-digital.md +183 -183
  78. package/.claude/skills/wechat/SKILL.md +174 -174
  79. package/.claude/skills/xhs/SKILL.md +170 -170
  80. package/README.md +276 -276
  81. package/dist/bin/optima.js +26 -26
  82. package/dist/bin/serve.js +23 -23
  83. package/dist/bin/video-edit.d.ts +3 -0
  84. package/dist/bin/video-edit.d.ts.map +1 -0
  85. package/dist/bin/video-edit.js +153 -0
  86. package/dist/bin/video-edit.js.map +1 -0
  87. package/dist/src/agent.d.ts +1 -1
  88. package/dist/src/agent.js +4 -4
  89. package/dist/src/system-prompt.d.ts.map +1 -1
  90. package/dist/src/system-prompt.js +175 -173
  91. package/dist/src/system-prompt.js.map +1 -1
  92. package/dist/src/tools/memory.js +10 -10
  93. package/dist/src/ui/headless.js +7 -7
  94. package/package.json +79 -79
@@ -1,193 +1,193 @@
1
- ---
2
- name: kol-reaction-food
3
- type: kol-reaction
4
- category: food
5
- duration_sweet_spot: 30-45s
6
- design_principle: "每个字段对应一个可预见的失败模式;字段密度按镜头风险不对称"
7
- ---
8
-
9
- # Template: KOL 真实反应型(食品 / 饮料 / 预制菜)
10
-
11
- > **第一性原理**:本模板每个字段对应一个具体的失败模式。
12
- > **适合**:零食 / 饮料 / 预制菜 / 生鲜 / 调味品,客单价 ¥30–200
13
- > **高风险镜头**:#3(开箱)· #5(入口瞬间 / 味觉反应)· #8(CTA)
14
- > **信任核心**:#5 的**真实反应 CU** — 伪造反应 = 内容即死
15
-
16
- ---
17
-
18
- # A · 项目卡
19
-
20
- | 字段 | 填写 | 不填的后果 |
21
- |---|---|---|
22
- | `{product_name}` | | PRODUCT_LOCK 无锚点 |
23
- | `{product_category}`(零食/饮料/主食) | | 入口镜头拍摄方式不同 |
24
- | `{price}` | | CTA 写不出 |
25
- | `{target_user}`(打工人/学生/宝妈)| | Hook 找不到切入 |
26
- | `{kol_type}`(头部美食 / 素人开箱 / 主持专业)| | 镜头语言全盘变 |
27
- | `{taste_descriptor}`(甜咸/酥脆/麻辣)| | 味觉反应无法指导 |
28
- | `{product_highlights}`(3 个卖点:新鲜度 / 口感 / 份量)| | PROOF 空 |
29
-
30
- ---
31
-
32
- # B · 五段骨架(Intro-Unbox-Taste-Reaction-CTA)
33
-
34
- | 段 | 时长 | 必须决定的事 |
35
- |---|---|---|
36
- | INTRO | 0-5s | KOL 登场 + 产品预告("今天试{product}")|
37
- | UNBOX | 5-12s | 包装展示 + 产地 / 规格介绍 |
38
- | TASTE | 12-20s | **入口瞬间**(CU 核心,不可替代)|
39
- | REACTION | 20-35s | 真实口头 + 表情 + 特征描述 |
40
- | CTA | 35-42s | 评分 + 价格 + 限时优惠 |
41
-
42
- **食品类铁律**:#5 TASTE 段必须是**真实 KOL 或真人演员**拍摄,AI 生成易出现"假笑 / 嘴型不对 / 咀嚼违和"。
43
-
44
- ---
45
-
46
- # C · 镜头表(12 镜 · 42s · ASL ~3.5s · 慢于其他类型)
47
-
48
- | # | 时长 | 画面 | 字幕 | 运镜 | PRODUCT_LOCK | REF_IMG | NEGATIVE |
49
- |---|---|---|---|---|---|---|---|
50
- | 1 | 0-2.5s | `{kol_hero_shot}` KOL 本人 CU | `{kol_intro}`("今天吃{product}") | CU | — | `refs/kol.jpg` | **no deepfake**, no facial distortion |
51
- | 2 | 2.5-5s | `{product_in_hand}` KOL 举产品 | `{product_name}` | MS | **★ partial** | `refs/product.jpg` | no product warp |
52
- | **3** | **5-9s** | **`{unboxing_sequence}` 开箱过程** | `{unboxing_detail}`("真空包装/锁鲜膜")| **跟手 + CU** | **★ full** | **`refs/product_packaging.jpg`** | **no label garble, no brand confusion** |
53
- | 4 | 9-12s | `{product_close_up}` 食物本体特写 | `{visual_label}`("芝士爆浆")| 微距 + 自然光 | — | `refs/food_close.jpg` | no unappetizing color |
54
- | **5** | **12-16s** | **`{taste_moment}` 入口 CU** | `{taste_onomatope}`("咔嚓")| **CU 正脸 + 咀嚼 ASMR** | — | **`refs/kol.jpg`** | **no fake chewing, no mouth distortion** |
55
- | 6 | 16-20s | `{reaction_freeze}` 吃到瞬间定格 | `{exclaim_word}` | 定格 + 字幕爆出 | — | — | no over-acted reaction |
56
- | 7 | 20-25s | `{taste_description}` KOL 语言描述 | `{descriptor_1}`("外酥里嫩")| MS | — | — | — |
57
- | 8 | 25-30s | `{comparison_analogy}` 类比描述 | `{descriptor_2}`("像...但更...")| MS + B-roll | — | — | — |
58
- | 9 | 30-33s | `{product_multi_flavor}` 其他口味展示 | `{flavors_list}` | 快切 | **★ same** | `refs/product_variants.jpg` | no color shift |
59
- | 10 | 33-37s | `{rating_graphic}` 评分字幕卡 | `{rating}`("★★★★☆")| 静止 + 图形叠加 | — | — | — |
60
- | **11** | **37-41s** | **`{product_CU}` + 价格 + 小黄车箭头** | `{cta_line}` | **CU + 轻推** | **★ hero** | **`refs/product.jpg`** | **no burned subtitle** |
61
- | 12 | 41-42s | KOL 挥手 / 品牌 | `{sign_off}` | MS | — | — | — |
62
-
63
- ---
64
-
65
- # D · PRODUCT_LOCK 规范
66
-
67
- ```yaml
68
- product_lock:
69
- name: "{product_name}"
70
- must_specify:
71
- - package_shape: "{e.g. 立式袋装 / 罐装 / 盒装}"
72
- - label_colors: "{主色 + 副色}"
73
- - label_text: "{中英文品牌 + 口味名 + 净含量}"
74
- - food_appearance: "{颜色 + 形状 + 表面纹理}"
75
- consistency_method:
76
- primary: "same seed #3/#4/#9/#11"
77
- backup: "单独拍真实 KOL + AI 生成产品镜头拼接"
78
- reference_image: "refs/product.jpg + refs/food_close.jpg + refs/kol.jpg"
79
- ```
80
-
81
- **特别警告**:食品包装的**条码 / 生产日期 / 配料表**是 AI 的灾难区。NEGATIVE 必加 `no barcode distortion, no fake date, no ingredient garble`。
82
-
83
- ---
84
-
85
- # E · 参考图清单
86
-
87
- | 文件 | 用途 | 必须 |
88
- |---|---|---|
89
- | `refs/product.jpg` | 产品整体(带包装)| ✅ |
90
- | `refs/product_packaging.jpg` | 包装细节 | ✅ |
91
- | `refs/food_close.jpg` | 食物本体特写 | ✅ |
92
- | `refs/kol.jpg` | KOL 本人参考(若用真人拍摄则可跳过)| **仅 AI 生成 KOL 时必须** |
93
- | `refs/product_variants.jpg` | 多口味合影 | ⚠️ 推荐 |
94
-
95
- **食品类铁律**:#5 TASTE 段**优先用真人拍摄再合成**,AI 生成的吃相难以过审。
96
-
97
- ---
98
-
99
- # F · 通用默认值
100
-
101
- ```yaml
102
- aspect: "9:16"
103
- total_duration: 42
104
- pacing: slow-moderate
105
- asl: 3.5
106
- bgm:
107
- douyin: "商家原声 / KOL 本人声"
108
- tiktok: "original sound with chewing ASMR"
109
- xhs: "治愈轻音乐 + 环境音"
110
- hook_template: "{target_user} 的 {category} 清单加上这个"
111
- cta_template: "{price}(原价 {original_price}){limited_offer}"
112
- ```
113
-
114
- ---
115
-
116
- # G · 平台 Delta
117
-
118
- | | 抖音小店 | TikTok Shop | 小红书 |
119
- |---|---|---|---|
120
- | 字幕 | 中文 + 口味描述 | 英文 + foodie terms | 中文 + 配料表解读 |
121
- | 时长 | 42s(master)| 35s | 50s(加背景故事)|
122
- | KOL 风格 | 真实 / 口音亲切 | 高能 / 戏剧 | 精致 / 氛围 |
123
- | BGM | KOL 原声 + ASMR | original sound | 轻音乐 |
124
- | CTA 话术 | "小黄车 ¥29.9 抢" | "Link below! $4.99 🔥" | "评论区扣 1 拿链接" |
125
- | Hashtag | `#好吃到哭 #零食推荐` | `#foodreview #snacksoftiktok #tasty` | `#美食 #宝藏零食 #种草` |
126
- | 封面帧 | #6 反应定格 | #5 入口瞬间 | #4 食物特写 |
127
-
128
- ---
129
-
130
- # H · 失败模式 Checklist
131
-
132
- ## H.1 生成前
133
-
134
- - [ ] 决定 #5 TASTE 段用**真人拍摄**还是 AI 生成(真人更稳)
135
- - [ ] `refs/product_packaging.jpg` 含完整包装信息(条码 / 生产日期可不清晰但要存在)
136
- - [ ] NEGATIVE 含 `no barcode distortion, no fake date, no ingredient garble, no unappetizing color`
137
- - [ ] 口味描述避免医疗词("增强免疫力""改善睡眠"等)
138
-
139
- ## H.2 导出前
140
-
141
- - [ ] KOL 面部一致性(若 AI 生成,严防 deepfake 风险)
142
- - [ ] 食物颜色**诱人真实**(不要过度饱和成假色)
143
- - [ ] 包装文字可读(品牌名可见,不是乱码)
144
- - [ ] 口味描述**可兑现**(说"爆浆"真的有爆浆画面)
145
-
146
- ## H.3 发布前
147
-
148
- - [ ] 静音能看懂"KOL 在吃什么" + "评分几分"?
149
- - [ ] 2× 能跟上节奏?
150
- - [ ] 是否符合广告法(食品不可有"最""第一""治愈""功效"等)?← 食品红线
151
- - [ ] 保质期 / 过敏原信息是否需要补字幕?
152
- - [ ] 各平台 Delta 改完?
153
-
154
- ---
155
-
156
- # I · 成本预估
157
-
158
- ```yaml
159
- production_cost:
160
- per_second_rate_usd:
161
- standard: TBD # 填自 Optima credits 换算表
162
- hifi: TBD # 填自 Optima credits 换算表
163
- complexity_note: "混合真人 + AI"
164
- real_kol_filming: "$0-$500(自己拍 OR 雇 KOL)"
165
- human_review: "45 min(食品广告法审查重)"
166
- editing_asmr: "2 hours(ASMR 音效 + 字幕爆出)"
167
- per_platform_delta: "20 min × 3 = 1 hour"
168
- total: "$6 + $0-500 + 4 hours"
169
-
170
- breakeven_math:
171
- margin_typical: "30-50%(食品毛利中等)"
172
- conversion_rate: "2-4%(食品冲动消费高)"
173
- realistic_range_per_platform: "20K-500K views"
174
- ```
175
-
176
- ---
177
-
178
- # J · 复用边界
179
-
180
- **✅ 直接套用**:
181
- 零食 · 饮料 · 预制菜 · 调味品 · 乳制品 · 茶叶 · 咖啡豆
182
-
183
- **❌ 不适合**:
184
- - 生鲜(需要产地溯源型,非 KOL 反应型)
185
- - 保健品 → 严格广告法限制,需专门模板
186
- - 婴幼儿食品 → 需专家背书型模板
187
- - 高客单名贵食材(松露 / 鱼子酱)→ 奢侈品型模板
188
-
189
- ---
190
-
191
- # 相关
192
-
193
- - 食品广告法参考:国标 GB 7718 / GB 13432
1
+ ---
2
+ name: kol-reaction-food
3
+ type: kol-reaction
4
+ category: food
5
+ duration_sweet_spot: 30-45s
6
+ design_principle: "每个字段对应一个可预见的失败模式;字段密度按镜头风险不对称"
7
+ ---
8
+
9
+ # Template: KOL 真实反应型(食品 / 饮料 / 预制菜)
10
+
11
+ > **第一性原理**:本模板每个字段对应一个具体的失败模式。
12
+ > **适合**:零食 / 饮料 / 预制菜 / 生鲜 / 调味品,客单价 ¥30–200
13
+ > **高风险镜头**:#3(开箱)· #5(入口瞬间 / 味觉反应)· #8(CTA)
14
+ > **信任核心**:#5 的**真实反应 CU** — 伪造反应 = 内容即死
15
+
16
+ ---
17
+
18
+ # A · 项目卡
19
+
20
+ | 字段 | 填写 | 不填的后果 |
21
+ |---|---|---|
22
+ | `{product_name}` | | PRODUCT_LOCK 无锚点 |
23
+ | `{product_category}`(零食/饮料/主食) | | 入口镜头拍摄方式不同 |
24
+ | `{price}` | | CTA 写不出 |
25
+ | `{target_user}`(打工人/学生/宝妈)| | Hook 找不到切入 |
26
+ | `{kol_type}`(头部美食 / 素人开箱 / 主持专业)| | 镜头语言全盘变 |
27
+ | `{taste_descriptor}`(甜咸/酥脆/麻辣)| | 味觉反应无法指导 |
28
+ | `{product_highlights}`(3 个卖点:新鲜度 / 口感 / 份量)| | PROOF 空 |
29
+
30
+ ---
31
+
32
+ # B · 五段骨架(Intro-Unbox-Taste-Reaction-CTA)
33
+
34
+ | 段 | 时长 | 必须决定的事 |
35
+ |---|---|---|
36
+ | INTRO | 0-5s | KOL 登场 + 产品预告("今天试{product}")|
37
+ | UNBOX | 5-12s | 包装展示 + 产地 / 规格介绍 |
38
+ | TASTE | 12-20s | **入口瞬间**(CU 核心,不可替代)|
39
+ | REACTION | 20-35s | 真实口头 + 表情 + 特征描述 |
40
+ | CTA | 35-42s | 评分 + 价格 + 限时优惠 |
41
+
42
+ **食品类铁律**:#5 TASTE 段必须是**真实 KOL 或真人演员**拍摄,AI 生成易出现"假笑 / 嘴型不对 / 咀嚼违和"。
43
+
44
+ ---
45
+
46
+ # C · 镜头表(12 镜 · 42s · ASL ~3.5s · 慢于其他类型)
47
+
48
+ | # | 时长 | 画面 | 字幕 | 运镜 | PRODUCT_LOCK | REF_IMG | NEGATIVE |
49
+ |---|---|---|---|---|---|---|---|
50
+ | 1 | 0-2.5s | `{kol_hero_shot}` KOL 本人 CU | `{kol_intro}`("今天吃{product}") | CU | — | `refs/kol.jpg` | **no deepfake**, no facial distortion |
51
+ | 2 | 2.5-5s | `{product_in_hand}` KOL 举产品 | `{product_name}` | MS | **★ partial** | `refs/product.jpg` | no product warp |
52
+ | **3** | **5-9s** | **`{unboxing_sequence}` 开箱过程** | `{unboxing_detail}`("真空包装/锁鲜膜")| **跟手 + CU** | **★ full** | **`refs/product_packaging.jpg`** | **no label garble, no brand confusion** |
53
+ | 4 | 9-12s | `{product_close_up}` 食物本体特写 | `{visual_label}`("芝士爆浆")| 微距 + 自然光 | — | `refs/food_close.jpg` | no unappetizing color |
54
+ | **5** | **12-16s** | **`{taste_moment}` 入口 CU** | `{taste_onomatope}`("咔嚓")| **CU 正脸 + 咀嚼 ASMR** | — | **`refs/kol.jpg`** | **no fake chewing, no mouth distortion** |
55
+ | 6 | 16-20s | `{reaction_freeze}` 吃到瞬间定格 | `{exclaim_word}` | 定格 + 字幕爆出 | — | — | no over-acted reaction |
56
+ | 7 | 20-25s | `{taste_description}` KOL 语言描述 | `{descriptor_1}`("外酥里嫩")| MS | — | — | — |
57
+ | 8 | 25-30s | `{comparison_analogy}` 类比描述 | `{descriptor_2}`("像...但更...")| MS + B-roll | — | — | — |
58
+ | 9 | 30-33s | `{product_multi_flavor}` 其他口味展示 | `{flavors_list}` | 快切 | **★ same** | `refs/product_variants.jpg` | no color shift |
59
+ | 10 | 33-37s | `{rating_graphic}` 评分字幕卡 | `{rating}`("★★★★☆")| 静止 + 图形叠加 | — | — | — |
60
+ | **11** | **37-41s** | **`{product_CU}` + 价格 + 小黄车箭头** | `{cta_line}` | **CU + 轻推** | **★ hero** | **`refs/product.jpg`** | **no burned subtitle** |
61
+ | 12 | 41-42s | KOL 挥手 / 品牌 | `{sign_off}` | MS | — | — | — |
62
+
63
+ ---
64
+
65
+ # D · PRODUCT_LOCK 规范
66
+
67
+ ```yaml
68
+ product_lock:
69
+ name: "{product_name}"
70
+ must_specify:
71
+ - package_shape: "{e.g. 立式袋装 / 罐装 / 盒装}"
72
+ - label_colors: "{主色 + 副色}"
73
+ - label_text: "{中英文品牌 + 口味名 + 净含量}"
74
+ - food_appearance: "{颜色 + 形状 + 表面纹理}"
75
+ consistency_method:
76
+ primary: "same seed #3/#4/#9/#11"
77
+ backup: "单独拍真实 KOL + AI 生成产品镜头拼接"
78
+ reference_image: "refs/product.jpg + refs/food_close.jpg + refs/kol.jpg"
79
+ ```
80
+
81
+ **特别警告**:食品包装的**条码 / 生产日期 / 配料表**是 AI 的灾难区。NEGATIVE 必加 `no barcode distortion, no fake date, no ingredient garble`。
82
+
83
+ ---
84
+
85
+ # E · 参考图清单
86
+
87
+ | 文件 | 用途 | 必须 |
88
+ |---|---|---|
89
+ | `refs/product.jpg` | 产品整体(带包装)| ✅ |
90
+ | `refs/product_packaging.jpg` | 包装细节 | ✅ |
91
+ | `refs/food_close.jpg` | 食物本体特写 | ✅ |
92
+ | `refs/kol.jpg` | KOL 本人参考(若用真人拍摄则可跳过)| **仅 AI 生成 KOL 时必须** |
93
+ | `refs/product_variants.jpg` | 多口味合影 | ⚠️ 推荐 |
94
+
95
+ **食品类铁律**:#5 TASTE 段**优先用真人拍摄再合成**,AI 生成的吃相难以过审。
96
+
97
+ ---
98
+
99
+ # F · 通用默认值
100
+
101
+ ```yaml
102
+ aspect: "9:16"
103
+ total_duration: 42
104
+ pacing: slow-moderate
105
+ asl: 3.5
106
+ bgm:
107
+ douyin: "商家原声 / KOL 本人声"
108
+ tiktok: "original sound with chewing ASMR"
109
+ xhs: "治愈轻音乐 + 环境音"
110
+ hook_template: "{target_user} 的 {category} 清单加上这个"
111
+ cta_template: "{price}(原价 {original_price}){limited_offer}"
112
+ ```
113
+
114
+ ---
115
+
116
+ # G · 平台 Delta
117
+
118
+ | | 抖音小店 | TikTok Shop | 小红书 |
119
+ |---|---|---|---|
120
+ | 字幕 | 中文 + 口味描述 | 英文 + foodie terms | 中文 + 配料表解读 |
121
+ | 时长 | 42s(master)| 35s | 50s(加背景故事)|
122
+ | KOL 风格 | 真实 / 口音亲切 | 高能 / 戏剧 | 精致 / 氛围 |
123
+ | BGM | KOL 原声 + ASMR | original sound | 轻音乐 |
124
+ | CTA 话术 | "小黄车 ¥29.9 抢" | "Link below! $4.99 🔥" | "评论区扣 1 拿链接" |
125
+ | Hashtag | `#好吃到哭 #零食推荐` | `#foodreview #snacksoftiktok #tasty` | `#美食 #宝藏零食 #种草` |
126
+ | 封面帧 | #6 反应定格 | #5 入口瞬间 | #4 食物特写 |
127
+
128
+ ---
129
+
130
+ # H · 失败模式 Checklist
131
+
132
+ ## H.1 生成前
133
+
134
+ - [ ] 决定 #5 TASTE 段用**真人拍摄**还是 AI 生成(真人更稳)
135
+ - [ ] `refs/product_packaging.jpg` 含完整包装信息(条码 / 生产日期可不清晰但要存在)
136
+ - [ ] NEGATIVE 含 `no barcode distortion, no fake date, no ingredient garble, no unappetizing color`
137
+ - [ ] 口味描述避免医疗词("增强免疫力""改善睡眠"等)
138
+
139
+ ## H.2 导出前
140
+
141
+ - [ ] KOL 面部一致性(若 AI 生成,严防 deepfake 风险)
142
+ - [ ] 食物颜色**诱人真实**(不要过度饱和成假色)
143
+ - [ ] 包装文字可读(品牌名可见,不是乱码)
144
+ - [ ] 口味描述**可兑现**(说"爆浆"真的有爆浆画面)
145
+
146
+ ## H.3 发布前
147
+
148
+ - [ ] 静音能看懂"KOL 在吃什么" + "评分几分"?
149
+ - [ ] 2× 能跟上节奏?
150
+ - [ ] 是否符合广告法(食品不可有"最""第一""治愈""功效"等)?← 食品红线
151
+ - [ ] 保质期 / 过敏原信息是否需要补字幕?
152
+ - [ ] 各平台 Delta 改完?
153
+
154
+ ---
155
+
156
+ # I · 成本预估
157
+
158
+ ```yaml
159
+ production_cost:
160
+ per_second_rate_usd:
161
+ standard: TBD # 填自 Optima credits 换算表
162
+ hifi: TBD # 填自 Optima credits 换算表
163
+ complexity_note: "混合真人 + AI"
164
+ real_kol_filming: "$0-$500(自己拍 OR 雇 KOL)"
165
+ human_review: "45 min(食品广告法审查重)"
166
+ editing_asmr: "2 hours(ASMR 音效 + 字幕爆出)"
167
+ per_platform_delta: "20 min × 3 = 1 hour"
168
+ total: "$6 + $0-500 + 4 hours"
169
+
170
+ breakeven_math:
171
+ margin_typical: "30-50%(食品毛利中等)"
172
+ conversion_rate: "2-4%(食品冲动消费高)"
173
+ realistic_range_per_platform: "20K-500K views"
174
+ ```
175
+
176
+ ---
177
+
178
+ # J · 复用边界
179
+
180
+ **✅ 直接套用**:
181
+ 零食 · 饮料 · 预制菜 · 调味品 · 乳制品 · 茶叶 · 咖啡豆
182
+
183
+ **❌ 不适合**:
184
+ - 生鲜(需要产地溯源型,非 KOL 反应型)
185
+ - 保健品 → 严格广告法限制,需专门模板
186
+ - 婴幼儿食品 → 需专家背书型模板
187
+ - 高客单名贵食材(松露 / 鱼子酱)→ 奢侈品型模板
188
+
189
+ ---
190
+
191
+ # 相关
192
+
193
+ - 食品广告法参考:国标 GB 7718 / GB 13432