| name | ecommerce-product-analysis |
| description | 电商产品图分析——从多张产品图抽取电商转化相关属性,构建锁定规格「产品档案 Product Bible」,作为产品跨图一致性与卖点提炼的共同数据底座。当电商出图流程需要理解产品、构建产品档案时使用。 |
电商产品图分析 → 产品档案 Product Bible
目标
把用户提供的多张产品图压成一份锁定规格,服务三个电商独有需求:
- 产品跨图一致性——后续所有素材(主图/详情/场景/SKU)必须让买家认出是同一件商品,产品档案是注入每个生成 prompt 的强制前缀块。
- 按需选参考图——逐张识别每张产品图展示的产品部位(茶汤/干茶/叶底/包装正面…),产出「产品图清单」。生成每张电商图时,只传该图描绘部位对应的那几张产品图(而非全部),并在 prompt 点名「与第 N 张完全一致」。
- 卖点提炼——文案 skill 据此提炼 FABE 卖点。
这是对实物商品的理解(品类/品牌/材质/包装/功能),不是对线稿角色配色的分析,也不是对种草笔记爆款的拆解——目标与维度完全不同。
MCP 工具
| MCP 工具 | 用途 |
|---|
analyze_image(project_id, file_path|image_url, prompt) | 逐张抽取产品属性(一次一张) |
compress_image(file_path, max_width) | 产品图 >10MB 时先压缩再分析 |
file_path 为服务端注册的产品图 server-local 路径(≤10MB);image_url 为 HTTPS。二选一。
分析流程
步骤 1:准备产品图清单
把 $PRODUCT_PHOTOS(来自 $DIR/.anban-creator/products/index.json,见主流程「产品图发现」)写入 $DIR/product-photos.md,逐张标注序号、来源路径、可见性(是否可访问/是否需压缩)。任一不可访问剔除并记录,至少保留 1 张;全不可访问则报错停止。
步骤 2:逐张抽取产品属性
对每张产品图调 analyze_image(逐张单张识别,一次一张),使用下方电商属性抽取 prompt。一张图可能只展示部分属性(如包装图只见包装文字,场景图见使用语境),多张互补。
subject 部位标签是关键产物——它决定后续生成时「这张图该被哪些电商图当参考」。务必为每张图给出明确的 subject(按品类用对应部位词:茶类=茶汤/干茶/叶底/包装;服饰=平铺/挂拍/细节/材质/模特;3C数码=正面/背面/接口/屏幕/配件/参数表;美妆个护=瓶身/膏体/质地/上脸/成分表;食品=成品/原料/包装正反/保质期标识;家居=整体/细节/使用场景;通用=包装正面/包装背面/产品本体/原料/成品/剖面/细节特写/使用场景/模特手持),看不清的标注置信 low。
电商属性抽取 prompt 模板:
你是电商商品视觉分析专家。分析这张产品图,仅基于图中可见内容,抽取以下电商转化相关属性,用简体中文返回严格 JSON:
{
"subject": "这张图展示的是产品的哪个部位/视角/状态?按品类给对应部位词:茶类=茶汤/干茶/叶底/包装;服饰=平铺/挂拍/细节/材质/模特;3C数码=正面/背面/接口/屏幕/配件/参数表;美妆个护=瓶身/膏体/质地/上脸/成分表;食品=成品/原料/包装正反/保质期标识;家居=整体/细节/使用场景;通用=包装正面/包装背面/产品本体/原料/成品/剖面/细节特写/使用场景/模特手持。该字段决定本图后续被哪些电商图选作参考。",
"category": "品类(如:无线蓝牙耳机/羽绒服/精华液)",
"subcategory": "细分类目",
"brand_logo": {"visible": true/false, "text": "图中可见的品牌/logo 文字", "position": "位置", "color": "颜色"},
"colors": {"primary": "主色(给 HEX 如 #1A1A1A + 语义名 如哑光黑)", "secondary": ["辅色1", "辅色2"]},
"materials": ["可见材质(如 ABS 塑料/羽绒/玻璃瓶)"],
"shape": "形状轮廓描述(如:入耳式、圆柱瓶身 30ml、方盒)",
"size_clues": "可见尺寸线索(如与手/桌面比例、标注的规格)",
"packaging_text": ["包装/瓶身/标签上可见的文字(品名、规格、成分、slogan 等),原样转录"],
"visible_features": ["可见功能/设计特征(如主动降噪、USB-C、防水等级标识)"],
"selling_point_candidates": ["可推断的卖点候选(如长续航、便携、成分天然)"],
"shooting_angle": "拍摄角度(正面/45°/俯拍/使用场景)",
"scene": "场景类型与调性:底质(纯白底/实景/模特手持/桌面陈列)+ 用途(lifestyle 生活场景 / 功能演示 / 卖点可视化)+ 可推断的季节/受众暗示(如夏季户外 / 居家主妇 / 商务人士)",
"confidence": "high/medium/low(low 触发条件:光线差/产品被遮挡/包装文字模糊/疑似非本品/角度无法判断主体;medium=部分属性靠推断)",
"missing_or_unclear": ["这张图看不清或需其他图补充的属性"]
}
只返回 JSON,不要解释。看不清的属性留空或填 null,并记入 missing_or_unclear。
步骤 3:汇总成产品档案
把多张图的抽取结果合并去重,冲突项以最清晰、打光最好、最代表商品的那张为准并标注来源图序号。产出 $DIR/product-bible.md,结构:
# 产品档案 Product Bible
## 锚点
- 最佳锚点参考图: $ANCHOR_REF = {选定的 server-local 路径}(来源:产品图 N,理由:最清晰/打光最好/最代表商品)
## 产品图清单(逐张识别产物 · 生成时按需选 ref 的查表依据)
**序号一经确定即在任务内固定**,作为生成 prompt「与【产品图清单】第 N 张完全一致」与视觉自检的稳定锚点("第 N 张" = 本清单序号,非 ref 数组下标)。
> **握手机制(关键)**:本「产品图清单」(序号 + subject + server-local 路径)是 `ecommerce-visual-design` 的 **asset-plan 唯一查询表**——asset-plan 每张图填「所需产品图=[第 N 张(subject)]」时**必须读本清单**,按本张电商图描绘的部位匹配 subject,取对应序号的产品图作 ref。没有它,visual-design 无法知道「哪张是茶汤、哪张是叶底」,也无法点名「与第 N 张完全一致」。
| 序号 | subject 部位标签 | server-local 路径 | 该图可见产品信息(色泽/形态/包装文字/材质) |
|------|------------------|-------------------|----------------------------------------------|
| 1 | 包装正面 | `$DIR/.anban-creator/products/product_01.png` | 品牌文字「XX」/ 主色 #XXX / 哑光金盒 |
| 2 | 茶汤 | `.../product_02.png` | 汤色橙黄透亮 / 玻璃公道杯 |
| 3 | 干茶 | `.../product_03.png` | 条索紧结 / 墨绿润 |
| 4 | 叶底 | `.../product_04.png` | 红边显露 / 柔软亮 |
(上表为示例;实际按逐张识别结果填写,每张产品图一行。)
## 基础属性
- 品类: ...
- 细分类目: ...
- 品牌/logo: 文字=...,位置=...,颜色=...
- 主色: #XXXXXX(语义名)
- 辅色: ...
- 材质: ...
- 形状轮廓: ...
- 尺寸线索: ...
## 包装可见文字(原样转录,用于一致性校验)
- 品名: ...
- 规格: ...
- 成分/材质标: ...
- slogan: ...
## 可见功能与设计特征
- ...
## 卖点候选(供 copywriting skill 排序)
- ...
## 拍摄与场景
- 角度/场景: ...
## 一致性锁定项(生成时必须严格遵守)
- 品牌 logo 文字与颜色: ...
- 主色 HEX: ...
- 形状轮廓: ...
- 包装可见文字(不得增删改): ...
## 缺失/低置信 (missing_data)
- ...
一致性锁定项是关键——这些是后续每个生成 prompt 的强制前缀块 【产品档案·必须严格遵守】... 的内容,视觉自检也据此派生。
步骤 4:选出最佳锚点
从产品图中选最佳锚点 $ANCHOR_REF(server-local 路径):最清晰、打光最好、最能代表商品全貌的一张。锚点用于一致性关键模块(主图①、详情核心场景)的 ref_image_path。理由写入档案。
常见失败与修复
| 问题 | 原因 | 修复 |
|---|
| 产品图 >10MB 无法 analyze | 超限 | 先 compress_image 再分析 |
| 多张图品牌/logo 矛盾 | 不同角度/版本 | 以包装文字最清晰那张为准,标注重复确认 |
| 颜色 HEX 不准 | 光线/白平衡 | 给语义色名 + 近似 HEX,标置信 medium |
| 某属性全部缺失 | 无对应角度图 | 记入 missing_data,降置信,不臆造 |
| 场景图混入非产品主体 | 背景杂物 | 区分产品主体与场景道具,档案只锁产品主体 |
产出
$DIR/product-bible.md(锁定规格,含**「产品图清单」**:序号 | subject 部位标签 | server-local 路径 | 该图可见产品信息)
$DIR/product-photos.md(产品图访问性清单与可见性)
$ANCHOR_REF(最佳锚点 server-local 路径,写入档案与内部变量)
「产品图清单」的 subject 标签 + 稳定序号是 ecommerce-visual-design「按需选参考图 + 点名保真」的查表依据——没有它,生成时无法知道「哪张是茶汤、哪张是叶底」,也无法在 prompt 里精确点名「与第 N 张完全一致」。