关于 meitu-cutout
meitu-cutout 是调用 meitu-cli 的图片抠图技能,面向需要分离人物、宠物、商品、图标或印章主体的图像处理流程。它支持按主体选择模型或自动检测,并输出透明背景 PNG。
主要功能
- 01分离五类图片主体
- 02支持三种模型及自动选择
- 03处理本地图片或图片 URL
- 04支持目录批量处理
- 05输出透明背景 PNG
适用场景
- 01去除人像照片背景并保留发丝
- 02制作透明底商品图片
- 03批量处理图标或印章素材
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ meitu/ meitu-skills --skill meitu-cutout安装后在 Claude Code 中输入/meitu-cutout确认已加载。
详细介绍
Meitu Cutout
概述
调用 meitu image-cutout 从图片中分离前景主体,输出透明背景 PNG。仅支持人物、宠物、商品、图标、印章五类主体;可选人像、商品、图形三种模型,也可省略模型参数自动检测。
依赖项
- meitu-cli:
npm install -g meitu-cli@latest - 凭证:优先使用环境变量
MEITU_OPENAPI_ACCESS_KEY/MEITU_OPENAPI_SECRET_KEY,或预先配置~/.meitu/credentials.json;仅在用户明确要求写入本地凭证时,才执行meitu config set-ak --value "..."/meitu config set-sk --value "..."
路径别名: 下文中
$VISUAL={OPENCLAW_HOME}/workspace/visual/
核心工作流
Preflight → [Context: 跳过(工具型抠图,无创意自由度)] → Execute → Deliver
预检
meitu --version→ 若未安装,则提示执行npm install -g meitu-cli@latestmeitu auth verify --json→ 若凭证无效,则引导用户配置- 检测模式:当前工作目录中有
openclaw.yaml→ 项目模式;否则 → 单次模式 检查$VISUAL目录 → 确定功能 - 解析 output_dir(必须在预检阶段完成):
解析 output_dir:openclaw.yaml →
./output/| 否则 →$VISUAL/output/meitu-cutout/mkdir -p {output_dir}
执行
输入解析
用户提供图片,支持两种形式:
- 本地文件路径(如
./photo.jpg) - 图片 URL(如
https://example.com/photo.jpg)
如果用户只说“帮我抠图”但没有提供图片 → 询问:“请提供需要抠图的图片(本地路径或 URL)”。
模型选择
| 图片主体 | model_type | 输出 |
|---|---|---|
| 人像、证件照、半身照 | 0 | 透明背景 PNG,保留发丝细节 |
| 商品、产品、电商图 | 1 | 透明背景 PNG,优化产品边缘 |
| 设计素材、图标、印章 | 2 | 透明背景 PNG |
| 宠物或类型不确定 | 省略 | 服务端自动选择模型,输出透明背景 PNG |
model_type 仅允许 0、1、2。建筑、植物、车辆、食物、家具等非五类主体以及白底隔离均不受支持,不得通过 prompt 或替代 API 绕过限制;需要生成白底时,改用 image-edit。
工具调用
单张抠图:
meitu image-cutout --image_url {image_url_or_path} --json --download-dir {output_dir} --skill_name skill_meitu-cutout
明确指定模型时,追加 --model_type 0、--model_type 1 或 --model_type 2;省略时自动选择模型。
批量处理
批量处理整个目录:
meitu batch image-cutout --input-dir {input_dir} --output-dir {output_dir} --skill_name skill_meitu-cutout
整个批次使用固定模型时,追加 --model-type 0、--model-type 1 或 --model-type 2。逐条指定时,使用 JSON/YAML 配置,条目字段 modelType(兼容 model_type)映射到单次命令的 model_type。批处理默认并发数为 3,输出 .png。
注意:单次命令不支持 --image_list;输入参数仅接受 --image_url(别名 --image)。
结果检查
解析 --json 输出:
ok: true→ 成功,downloaded_files[0].saved_path是已下载到本地的结果 PNG(透明背景);若未使用--download-dir,则取media_urls[0]ok: false→ 检查code和hint
错误降级
| 级别 | 操作 | 说明 |
|---|---|---|
| L1 | 调整模型选择 | 自动检测不准确时,根据主体改用 --model_type 0、1 或 2 |
| L2 | 检查图片格式/大小 | 确保图片可访问且未损坏 |
| L3 | 停止并报错 | 连续失败 2 次后,输出 code + hint |
非五类主体或白底隔离直接返回不支持,不调用、不重试。
特殊错误:
ORDER_REQUIRED→ 提示用户充值,并展示action_urlCREDENTIALS_MISSING→ 提示配置 AK/SK
交付
直接使用预检阶段解析的 output_dir。
mv {file} {output_dir}/{date}_{name}_cutout.png
输出
- 格式:PNG(透明背景)
- 命名:
{YYYY-MM-DD}_{descriptive-name}_cutout.png- 例:
2026-03-23_product-photo_cutout.png
- 例:
- 位置:由交付步骤决定(项目 →
./output/,单次 →$VISUAL/output/meitu-cutout/)