ワンクリックで
meitu-product-swap
"对电商图片中的商品进行智能替换,支持一对一、一对多、多对一映射关系。当用户提到商品替换、换商品、复刻爆款图片、替换商品主体时触发。"
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
"对电商图片中的商品进行智能替换,支持一对一、一对多、多对一映射关系。当用户提到商品替换、换商品、复刻爆款图片、替换商品主体时触发。"
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
用于基于用户原图制作规格化证件照、证件照换底色或单人写真套图。当用户要证件照、一寸照、二寸照、护照/签证照、白底/蓝底/红底证件版、写真照、三宫格写真、主题/场景写真时触发。不适用于多人合影、卡通化转绘、普通人像轻修。执行时会读取 Meitu 凭证、调用本地 `meitu` CLI,把人像照片、生成提示词与任务参数发送到 Meitu OpenAPI,并把结果写入本地输出目录。
Unified Meitu CLI capability skill. Covers credentials, command mapping, execution pattern, and user-facing error guidance for built-in image/video commands plus auth/account/recharge CLI capabilities.
生成无人声、无歌词的纯音乐 / BGM,适合背景音乐、氛围铺垫、情绪渲染,时长 30–120 秒。仅在用户明确要求生成纯音乐/背景音乐时触发。执行时会读取 Meitu 凭证、调用本地 `meitu` CLI,并把音频生成请求发送到 Meitu OpenAPI,结果写入本地输出目录。
歌词驱动的完整歌曲生成(含人声),也支持强节奏成品级纯音乐。仅当用户明确要求生成歌曲/音频成品,并提供或同意补充风格与歌词参数时触发;普通音乐讨论、歌词创作、闲聊式演唱请求不触发。
替换图片整体背景/换场景,保留前景主体不变。当用户说换背景、替换背景、换成 xx 背景、商品换场景、人像换背景、证件照换底色、换底时触发。本工具不能输出透明背景。执行时会使用本地 meitu CLI、Meitu OpenAPI 凭证并写入本地输出目录。
图片前景主体与背景精准分离,输出透明底 PNG(标准四类:人物、宠物、商品、图形印章)或白底图(非标准主体或用户明确要白底)。仅在用户明确要求抠图、去背景、透明背景/透明底、提取主体,或明确要求把已有图片抠成白底时触发。执行时会使用本地 meitu CLI、Meitu OpenAPI 凭证并写入本地输出目录。
| name | meitu-product-swap |
| description | "对电商图片中的商品进行智能替换,支持一对一、一对多、多对一映射关系。当用户提到商品替换、换商品、复刻爆款图片、替换商品主体时触发。" |
根据用户上传的商品原图与目标参考图,对图片中的商品进行智能替换,生成高质量的商品融合效果图。支持一对一、一对多、多对一映射关系。
不适用场景:背景生成、模特换装
npm install -g meitu-cli@latest(包名 meitu-cli)meitu image-edit(默认优先 praline_pro 路径,适用于多图融合/商品替换/合成)MEITU_OPENAPI_ACCESS_KEY / MEITU_OPENAPI_SECRET_KEY~/.meitu/credentials.jsonmeitu config set-ak --value "..." + meitu config set-sk --value "..."(会写入本地文件)meitu auth verify --jsonDESIGN.md 或 openclaw.yaml 显式引用品牌资产或平台规则,还可能额外读取用户启用的 $VISUAL/assets/brands/ 与 $VISUAL/rules/platforms/{OPENCLAW_HOME}/workspace/visual/
路径别名: 下文中
$VISUAL={OPENCLAW_HOME}/workspace/visual/
流程按实际执行顺序排列:
Preflight → [Context] → Execute → Refine → Deliver → [Record]
↑ 项目模式时执行 ↑ 项目模式时执行
↑ 一次性模式跳过 ↑ 一次性模式跳过
meitu --version → 未安装则提示 npm install -g meitu-cli@latest
meitu auth verify --json → 凭证无效则引导配置
Detect mode: cwd has openclaw.yaml → project mode; else → one-off
can_record = cwd 有 openclaw.yaml AND $VISUAL 存在(两者缺一即 false)
Resolve output_dir: openclaw.yaml → ./output/ | else → $VISUAL/output/meitu-product-swap/
mkdir -p {output_dir}
硬约束:output_dir MUST NOT 指向 skill 文件夹内部
项目创建(仅当用户主动要求时):
已在项目目录中(有 openclaw.yaml)→ 跳过。否则:
mkdir -p $VISUAL/projects/{name}/output
创建 openclaw.yaml:
project:
name: "{name}"
type: "meitu-product-swap"
brand: "{brand}"
created: "{date}"
创建 DESIGN.md(空模板,含 Context References + Project Decisions + Iteration Log 三个空 section)。
mode = one-off → 跳过此步,直接到 Execute。以下仅限 project 模式:
逐步读取上下文(均 skip if missing):
图片标记与分析
Agent 必须使用自身多模态视觉能力查看每张图片,提取商品特征(材质、颜色、结构、Logo 等),不依赖用户描述也不调用外部图片分析工具。
判断用户上传图片数量,分析用户指令:
命令与参考图路由
命令选择决策表:
| 用户意图 | 命令 | model | 关键参数 | 说明 |
|---|---|---|---|---|
| 商品替换到场景图 | image-edit | praline_pro(默认主路径) | --image_list <目标参考图> <商品原图> | 多图融合/合成的标准命令 |
| 商品替换 + 风格化 | image-edit | praline_pro | 同上 | 风格化通过 prompt 描述,不切换 model |
| 仅改画风/卡通化 | image-edit | nougat | --image_list <单图> | 非本 Skill 核心场景,建议用其他 Skill |
本 Skill 固定使用
image-edit,默认优先走praline_pro主路径;nougat(风格化)和gummy_pro(人像写真)都不适用于商品替换主场景。
参考图路由表:
| 意图模式 | 参考输入 | --image_list 传递方式 | prompt 中引用 |
|---|---|---|---|
| 一对一(图A商品→图B场景) | 商品原图 + 目标参考图 | --image_list <目标参考图URL> <商品原图URL> | Image 1 = 场景,Image 2 = 商品 |
| 一对多(图A商品→图B/C/D场景) | 商品原图 + 多张目标参考图 | 逐组调用:--image_list <参考图N> <商品原图> | 同上,每组独立 prompt |
| 多对一(图A/B商品→图C场景) | 多张商品原图 + 目标参考图 | 逐组调用:--image_list <目标参考图> <商品原图N> | 同上,每组独立 prompt |
图片顺序规则:CLI
--image_list参数顺序始终为目标参考图在前(Image 1),商品原图在后(Image 2)。Prompt 中统一用 CLI 位置编号引用:Image 1 = 场景/目标参考图,Image 2 = 商品原图。
Prompt 组装
不要调用图片分析工具(图片标记与分析步骤已通过 Agent 视觉完成特征提取),基于 references/prompts.md 模板自行组装 Prompt。
## ROLE_AND_CONTEXT — 角色设定## GUIDELINES — 替换策略、特征提取、一致性、光影等指导原则## PROMPT_CONSTRUCTION — Part1 逻辑分析层 + Part2 物理执行层(含 PREFIX/SUFFIX 模板)Prompt 组装中间产物 schema(Agent 内部推理结构):
{
"task_label": "图{x}商品 植入 图{y}场景",
"part1_logic": {
"replacement_strategy": "集群擦除逻辑描述",
"feature_extraction": "商品材质、颜色、细节",
"physical_blueprint": {
"perspective": "透视匹配描述",
"freeze_zones": "一致性死锁区描述",
"lighting": "光影融合计算"
}
},
"part2_execution": {
"prefix": "完整 PREFIX_INSTRUCTION(不可修改,见 prompts.md § PROMPT_CONSTRUCTION)",
"body": "英文提示词(融合蓝图 + 用户需求 + 上下文约束)",
"suffix": "完整 SUFFIX_INSTRUCTION(不可修改,见 prompts.md § PROMPT_CONSTRUCTION)"
},
"final_prompt": "prefix + body + suffix 拼接的完整 prompt 字符串"
}
final_prompt直接传给meitu image-edit --prompt。Part1 为 Agent 内部推理过程,不传给 CLI。
质量自检
按 references/prompts.md § SELF_CHECK 执行 V1-V6 检查,不通过则回到 Prompt 组装步骤修正。
图片生成
直接使用 Preflight 解析的 output_dir,确保目录存在后调用 meitu-cli:
mkdir -p {output_dir}
meitu image-edit \
--skill_name skill_meitu-product-swap \
--image_list "<目标参考图URL>" "<商品原图URL>" \
--prompt "<final_prompt>" \
--json \
--download-dir {output_dir}
praline_pro 主路径(适用于多图融合/合成),通常无需显式传 --model--ratio 缩小一档,如不传 ratio 使用默认 auto)创意型任务必须有独立的迭代精炼循环。
结果呈现: 展示生成结果时,说明关键设计决策——为什么选择这个透视角度、集群擦除包含/排除了哪些元素、光影融合的处理方式。让用户理解替换逻辑,以便给出精准反馈。
提示用户:"如果需要对图片中的文字内容进行修改,你可以在画布中选中需要修改文字的图片,点击选择'无痕改字'功能进行编辑。"
反馈分类与响应路由:
| 反馈类型 | 典型表述 | 调整目标 | 操作 |
|---|---|---|---|
| 色彩/氛围 | "色温再暖一点"、"饱和度太高" | prompt 描述词 | 调整 Part2 body 色彩/氛围描述 → 重新生成 |
| 角度/透视/位置 | "透视不对"、"商品放偏了" | prompt 物理蓝图 | 调整 Part1 空间透视 + Part2 位置描述 → 重新生成 |
| 商品变形/模糊 | "Logo 糊了"、"形状变了" | 参数或输入图 | 检查 --ratio、强化 PREFIX 一致性约束、确认输入图质量 |
| 背景被修改 | "文字颜色变了"、"背景元素消失" | prompt 冻结指令 | 加强 ANTI-MUTATION 段落、检查集群擦除边界 |
| 整体不满意 | "完全不对"、"重来" | 重新分析 | 回到 Execute 图片标记与分析步骤 |
迭代节奏:
output_dir 已在 Preflight 解析,此处仅做重命名。
mv {file} {output_dir}/{date}_{name}.{ext}
If DESIGN.md Iteration Log > 5 entries → compact: keep recent 5, archive older to ./drafts/design-history.md
can_record = cwd 有 openclaw.yaml AND $VISUAL 存在(两者缺一即 false) can_record = false → 跳过。
例外: 一次性模式下用户反复表达同一偏好(如多次说"不要渐变"),Agent MAY 直接提议:
"你多次提到不要渐变,要加入全局禁忌列表吗?" → 用户同意 → 写 $VISUAL/rules/quality.yaml
项目模式下:
User approves style → write observation:
$VISUAL/memory/observations/observations.yaml → scan similar key → merge or append → write backlen(projects) >= 2 → propose promotion (non-blocking),在回复末尾提及,不打断主流程Observation entry schema:
- key: "偏好观察描述"
scope-hint: meitu-product-swap # 来自 project.type;跨场景则为 null
projects: [project-name]
first-seen: 2026-03-22
last-seen: 2026-03-22
晋升路由规则(两种模式通用,「非阻塞」——在回复末尾提及,不打断主流程): "你在 N 个项目中都偏好 X。要保存吗? → 保存到 {scope-hint} 场景 [默认] → 保存到全局偏好 → 不保存" Promotion target 自动路由:
scope-hint 非 null → 默认写入 $VISUAL/memory/scenes/{scope-hint}.md(不存在则创建,含 frontmatter)scope-hint 为 null → 默认写入 $VISUAL/memory/global.mdUser rejects ("不要 XX"):
If rejected element already in $VISUAL/rules/quality.yaml → 自动过滤,不问。
If new rejection + has openclaw.yaml → ask: "仅这个项目不用 XX,还是以后都不要?"
仅项目 → append to ./DESIGN.md Constraints
以后都不要 → append to $VISUAL/rules/quality.yaml(该问答即确认)
If no openclaw.yaml → current task only, write nothing.
Nothing → nothing.
openclaw.yaml)→ ./output/{date}_{effect-name}.{ext}$VISUAL 存在)→ $VISUAL/output/meitu-product-swap/{date}_{effect-name}.{ext}{date}_{effect-name}.{ext}(如 2026-03-22_serum-bottle-marble.jpg)--download-dir 下载后需通过 mv 重命名为上述格式