Install
openclaw skills install @linkfox-ai/linkfox-aigc-imagegen-brand-gene-extract品牌基因样式提取原子技能。根据商品图片与用户品牌基因参数(主色、字体、平台、地区、语言),提取统一的品牌视觉语言(Brand DNA),输出结构化 brandGeneJson 供下游原子技能消费。品牌基因提取、brand gene extract、brand DNA、品牌视觉定义、品牌调性提取、brand style extraction、visual identity extraction。被套图编排层(linkfox-aigc-imagegen-cloth / product 套图编排路径)在步骤三中调用;当用户说"提取品牌基因"、"定义品牌风格"、"brand gene"、"品牌视觉"时触发。
openclaw skills install @linkfox-ai/linkfox-aigc-imagegen-brand-gene-extract根据商品图片与用户品牌基因参数,提取统一的品牌视觉语言(Brand DNA),输出结构化 JSON 供下游原子技能消费。
| 场景 | 说明 |
|---|---|
| 套图编排调用 | 被 linkfox-aigc-imagegen-cloth / linkfox-aigc-imagegen-product(套图编排路径)在步骤三中调用,为整套图定义统一视觉基因 |
| 品牌基因变更 | 用户修改主色调/字体/平台/地区后重新提取 |
| 首次品牌定义 | 上下文中尚无品牌基因结果时,首次提取 |
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| images | list[image] | — | 用户上传的商品图片列表(至少 1 张),用于分析商品色彩与气质 |
| brandKey | object | — | 用户输入的品牌基因信息(见下方字段说明) |
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
| brandColor | string | "" | 品牌主色(HEX 值),非空时直接使用,为空时自动提取 |
| fontStyle | string | "" | 字体风格,非空时直接使用,为空时自动提取 |
| brandName | string | "" | 品牌名称,用于品牌植入策略 |
| language | string | "英文" | 目标市场语言 |
| platform | string | "亚马逊" | 发布平台(Amazon/TikTok/Shopee 等) |
| salesRegion | string | "美国" | 销售地区/国家 |
brandKey、imagesbrandKey 中各字段值brandColor 非空 → 直接采用;为空 → 标记为"自动提取"fontStyle 非空 → 直接采用;为空 → 标记为"自动提取"language 空则默认"英文";platform 空则默认"亚马逊";salesRegion 空则默认"美国"images 转为可访问 URL 列表(imageUrlList),供步骤 3 传入 textgenimageUrlList输入:步骤 1 的决策路由表、brandKey 全部字段
操作:将以下品牌视觉基因提取指令与 brandKey 参数拼装为完整 prompt,传入步骤 3:
角色:你是顶尖品牌视觉专家和创意总监,基于商品图片与参数,构建一套统一的视觉语言,确保品牌在不同场景下的高度一致性。
A. 统一视觉主题(UNIFIED_VISUAL_THEME)
Brand Color(品牌主色):
背景策略(Background Strategy):必须完整输出以下 4 个子字段,缺一不可,每个都给出具体内容(不得留空、不得只写字段名):
salesRegion 做文化本土化的整体环境风格。追求 100% 摄影级写实环境,严禁分层背景图层感,侧重生活方式与情感共鸣。
示例:"现代北欧极简家居,原木与暖白色调,落地窗自然采光,符合美国中产审美""原木长桌, 亚麻桌布, 绿植, 陶瓷器皿, 晨光""柔和自然侧光,暖色温 4000K,营造清晨慵懒氛围,轻微长投影增强立体感""品牌主色作为抱枕/标签点缀色出现,Logo 以低饱和压印形式出现在道具上,不喧宾夺主"B. 绝对字体锁定(LOCKED_TYPOGRAPHY)
字体风格:从以下库中锁定唯一一种风格:
颜色策略:
["Heading Color":颜色值] 和 ["Body color":颜色值],这是颜色定义而非文本内容灵活反白权限:当使用深色背景或纯品牌色色块时,授权切换为哑光白(#FFFFFF)文本
排版限制:统一为非斜体(Non-italic),行距适中(standard leading)
输出要求:严格按照下方「输出格式」输出完整 JSON,禁止输出任何解释性文字或代码块标记。
输出:完整的 textgen prompt 字符串
用途:作为步骤 3 的 prompt 输入
imageUrlListlinkfox-aigc-textgen SKILL.md 的调用方式调用 textgen 执行视觉推理。本步骤产出的内容要回读进上下文做字段提取(步骤 4),不链式拼进下游出图,因此用 textgen 的默认模式(不是 --content-only):把下列字段写成 JSON 参数文件,经 --stdin 传入运行,再解析 stdout。<textgen根目录> 通过 skill:linkfox-aigc-textgen 解析其 SKILL.md 所在目录的绝对路径取得;<本skill根目录> = 本 SKILL.md 所在目录的绝对路径。
⚠️ 中间参数文件落到会话
data/目录。先取目录:bash DATADIR=$(python <本skill根目录>/scripts/save_brand_gene.py --datadir)⚠️ 构造
brand_gene_params.json必须用 Write 工具写到$DATADIR/brand_gene_params.json(prompt 含引号、反斜杠等特殊字符,shell heredoc 内嵌 JSON 易解析失败)。若走命令行生成,只用python -c配合json.dumps,不要手拼 JSON 字符串。
python <textgen根目录>/scripts/aigc_textgen.py --stdin < "$DATADIR/brand_gene_params.json"
prompt:步骤 2 组装的品牌视觉基因提取指令(含「输出格式」要求)imageUrls:步骤 1 输出的 imageUrlListmodel:GEM_3_1_PRO(需要视觉理解与复杂推理能力)thinkingLevel:highcontent(解析方式按 linkfox-aigc-textgen SKILL.md 的「输出契约」)。content(换行可能为 ⏎ 占位符,提取前先还原为换行符)content 中提取品牌视觉基因各字段,严格按照下方「输出格式」自行组装为 brandGeneJson背景策略-光影 与 Brand Injection(品牌植入)),不得直接交付残缺 JSON,须按以下顺序兜底补齐:
content 其余文字中归纳推断该字段的合理值;brandGeneJson 必须字段齐全,禁止出现缺字段或字段值为空串。brandGeneJson(长度为 1 的 JSON 列表,字段齐全)brandGeneJson 写到 $DATADIR/brand_gene_assembled.json(DATADIR 同步骤 3);或_meta.json):
python <本skill根目录>/scripts/save_brand_gene.py "$DATADIR/brand_gene_assembled.json"
Saved full response: <绝对路径> (<N> bytes)——将该绝对路径记入上下文,后续 S3 套图编排通过 --brand-gene-file <绝对路径> 或 manifest 的 brand_gene_json 消费。linkfox-aigc-imagegen-cloth 的种草图/卖点图/A+图 等类型 / linkfox-aigc-imagegen-product 等)作为 brandGeneJson 参数| 产物 | 目录 | 说明 |
|---|---|---|
brand_gene_params.json | <session>/data/ | textgen 入参(步骤 3 中间文件) |
brandGeneJson 最终结果 | <session>/data/linkfox-aigc-imagegen-brand-gene-extract-<ts>.json | 经 save_brand_gene.py 落盘,供套图 S3 与单张 --brand-gene-file 复用 |
路径协议:<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/(<session> 取自 SESSION_ID),与仓库 CLAUDE.md「输出文件位置」一致。
brandColor 有值 → 输出 JSON 中 "brandColor (品牌主色)" 直接用该值fontStyle 有值 → 输出 JSON 中 "字体风格" 直接用该值"背景策略-风格定义"、"颜色策略-Heading" 等字段,默认都用核心变量的规则来获取,不受 brandKey 中 brandColor/fontStyle 的透传影响。
严格按照以下 JSON 格式输出,输出为长度为 1 的列表:
[
{
"brandColor": {
"brandColor (品牌主色)": "颜色名称与HEX值",
"背景策略-风格定义": "基于 salesRegion 的风格描述",
"背景策略-场景关键词": "关键词1, 关键词2, ...",
"背景策略-光影": "光影氛围描述",
"Brand Injection(品牌植入)": "品牌元素如何植入场景"
},
"fontStyle": {
"字体策略": "选定的字体家族名称",
"字体风格": "选定的具体字体名称",
"颜色策略-Heading": "[\"Heading Color\":颜色值/反白逻辑]",
"颜色策略-Body/Sub": "[\"Body color\":颜色值]",
"灵活反白": "You are authorized to switch to Matte White (#FFFFFF) text whenever using a dark background or a solid brand-color panel.",
"排版": "Non-italic, standard leading"
}
}
]
| 情况 | 处理 |
|---|---|
| images 为空 | 停止执行,提示用户上传至少 1 张商品图片 |
| brandKey 完全为空 | 所有字段按默认值填充(salesRegion=美国、language=英文、platform=亚马逊),主色与字体走自动提取 |
| 商品为纯黑白灰且无法提取彩色主色 | 允许使用黑白灰作为主色(黑白灰协议的唯一豁免条件) |
本 skill 由套图编排层在步骤三中调用,调用时机:
复用规则:同一上下文中提取结果可复用,无需重复调用。
GEM_3_1_PRO 对商品图片的视觉理解,可能与专业设计师判断有偏差save_brand_gene.py 落盘到会话 data/,不可仅存于对话上下文linkfox-aigc-textgen skill 可用;若 textgen 调用失败,品牌基因提取无法完成