image-cutout
图片前景主体与背景精准分离,仅支持人物、宠物、商品、图标、印章五类主体并输出透明底 PNG。用户明确要求抠图、去背景、透明背景/透明底或提取上述主体时触发;非五类主体和白底隔离不支持。
How do I install this agent skill?
npx skills add https://github.com/meitu/meitu-skills --skill image-cutoutIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill uses a vendor-provided CLI tool (meitu) to separate image foregrounds from backgrounds. It requires access to local authentication files and may install or update the CLI tool via npm at runtime. The main security considerations are potential command injection through shell arguments and the ingestion of external image data.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
图片抠图(image-cutout)
Overview
对已有图片做前景主体与背景的精准分离。仅人物、宠物、商品、图标、印章五类主体可调用 SOD,并输出透明底 PNG;非五类主体和白底隔离不调用替代 API。
DAG / API Mapping
- DAG 路由定位:这是
dag_existing_tool_routes中的现有 Meitu 工具路由,不是新建的dag_native命令;参数与执行契约以tools[].cli为准。 - CLI 入口:
meitu image-cutout;image_url必填,model_type可选。 - MCP 入口:
image_cutout,api_path=/v1/hydra_async,api_task_type=mtlab。 - MCP 对外参数:
image_url必填;model_type可选(0=人像、1=商品、2=图形),不传由模型自动判断。 - MCP 内部固定请求:
request_payload.parameter.api_path=/v1/sod_2c_async、function_path=image-cutout、use_fe_rgba=true。use_fe_rgba不是用户参数,不得暴露为 CLI 选项或要求用户提供。 - CLI 与 MCP 的用户参数保持一致;
prompt、target_subject、exclude_subjects均不是对外参数。
Dependencies
- meitu-cli:
>=2.0.6(npm install -g meitu-cli@latest) - 凭证:CONFIG AKSK →
meitu tools update;EXEC AKSK → 实际执行(见根CONFIG.md) - 环境变量:
MEITU_OPENAPI_TOOL_TASK_MODE=command
路径别名:
$VISUAL={OPENCLAW_HOME}/workspace/visual/
Core Workflow
Preflight → Execute → Deliver
Preflight
meitu --version≥ 2.0.6(否则npm install -g meitu-cli@latest)- 确认已跑过
meitu tools update(用 CONFIG AKSK) - 当前 AKSK = EXEC,且
MEITU_OPENAPI_TOOL_TASK_MODE=command - 解析 output_dir:openclaw.yaml →
./output/|else →$VISUAL/output/image-cutout/;mkdir -p
Execute
触发信号 / 路由规则
核心判断维度:Agent 画面识别的主体类型。
| 场景 | 判定关键词 | 路由 | 输出 |
|---|---|---|---|
| 标准五类主体 | 人物/宠物/商品/图标/印章 | 透明底抠图路径 | 透明底 PNG |
| 非标准主体 | 建筑/植物/车辆/食物/家具/其他 | 返回 UNSUPPORTED_SUBJECT_CATEGORY | 不调用 |
| 用户明确要求白底 | 白底、纯白背景 | 返回 UNSUPPORTED_SUBJECT_CATEGORY | 不调用 |
| 主体类型无法判断 | 无法确认是否属于五类 | 先向用户确认 | 不调用 |
决策顺序:
- Agent 先识别图片主体是否属于支持的五类
- 属于五类 → 通过 CLI 调用
meitu image-cutout;否则返回不支持 - 用户明确指定模型时校验
model_type为0、1或2;未指定时省略该参数,由模型自动选型
CLI 参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
image_url | STRING | 是 | -- | 图片地址。缺失 → 提示"请提供需要抠图的图片" |
model_type | INTEGER | 否 | 自动判断 | 0 人像、1 商品、2 图形;仅允许这三个值 |
MCP 对外参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
image_url | STRING | 是 | -- | 单张待处理图片 |
model_type | INTEGER | 否 | 自动判断 | 0 人像、1 商品、2 图形 |
CLI 已暴露可选的 model_type;不传时由 MCP 自动选型。MCP 内部必须保持 use_fe_rgba=true;prompt、target_subject、exclude_subjects 均不是 MCP 对外参数。
工具调用
meitu image-cutout \
--skill_name skill_image-cutout \
--image_url <image_url> \
--json \
--download-dir {output_dir}
上例省略 --model_type,由模型自动选型;明确指定人像、商品或图形模型时,分别添加 --model_type 0、--model_type 1 或 --model_type 2。
批处理
批量处理整个图片目录时,--model-type 是所有条目共用的可选模型参数:
meitu batch image-cutout \
--input-dir ./images \
--output-dir ./outputs \
--skill_name skill_image-cutout
整个批次需要共用固定模型时,添加 --model-type 0、--model-type 1 或 --model-type 2;省略时自动选型。
需要逐条指定模型时使用 JSON 或 YAML 配置。条目字段 modelType(兼容别名 model_type)映射到单次命令的 model_type:
version: 1
defaults:
outputDir: ./outputs
items:
- input: ./images/person.jpg
modelType: 0
- input: ./images/product.jpg
modelType: 1
批处理默认并发数为 3,输出为 .png;未提供 modelType 的条目由模型自动选型。
错误降级
| 场景 | 处理方式 |
|---|---|
image_url 缺失 | 提示"请提供需要抠图的图片",不调用 |
image_url 不可访问 | 返回图片链接无效错误,不重试 |
model_type 未提供 | 省略该参数,由模型自动选型 |
model_type 不为 0、1、2 | 返回参数错误,提示用户选择有效模型,不调用 |
| 未检测到前景主体(标准路径) | 返回错误,提示需包含清晰前景主体 |
| 透明底抠图路径失败 | 重试 1 次,仍失败返回错误 |
| 非五类主体或白底隔离 | 返回 UNSUPPORTED_SUBJECT_CATEGORY,不调用、不重试、不降级 |
| 内容合规拦截 | 返回合规提示,不重试、不降级 |
| 用户说"替换为透明背景" | 虽含"替换"但目标是透明 → 走本工具,不走背景替换 |
| 视频输入 | 拒绝,仅支持图片 |
Deliver
- 直接使用 Preflight 解析的 output_dir
- 从
downloaded_files[0].saved_path读取已下载文件路径 mv {downloaded_files[0].saved_path} {output_dir}/{YYYY-MM-DD}_{descriptive}_image-cutout.png
Output
- 格式:透明底 PNG
- 命名:
{YYYY-MM-DD}_{descriptive}_image-cutout.png - 位置:项目 →
./output/,一次性 →$VISUAL/output/image-cutout/
基线 Task ID
见 references/task-id-baseline.md 中对应行。
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/meitu/meitu-skills/image-cutout">View image-cutout on skillZs</a>