executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
image-face-swap双图换脸/换头合成,将源图人脸替换到目标场景图上,保留目标图构图、身体和背景并自动做肤色融合与光影匹配。仅在用户明确提供两张图,并表达换脸、换头、把 A 的脸换到 B 上、face swap 或明确的 P 脸合成意图时触发。执行时会使用本地 Meitu OpenAPI 凭证授权,并将源人脸图和目标场景图发送到 Meitu 外部服务处理。
Independent GitHub snapshot · Automated classification · Original documentation governs
双图换脸/换头合成,将源图人脸替换到目标场景图上。保留目标图的构图/身体/背景,自动肤色融合光影匹配;用于角色扮演、把自己的脸放到另一张图上、趣味合成。一次只换一张脸。
执行前应让用户清楚知道:本 Skill 会读取 Meitu 凭证、调用本地 meitu CLI、将两张人脸相关图片发送到 Meitu OpenAPI 处理,并把结果写入 ./output/ 或 $VISUAL/output/image-face-swap/。
image_face_swap>=2.0.6(npm install -g meitu-cli@latest)meitu tools update;EXEC AKSK → 实际执行(见根 CONFIG.md)MEITU_OPENAPI_TOOL_TASK_MODE=command路径别名:
$VISUAL={OPENCLAW_HOME}/workspace/visual/
Preflight → Execute → Deliver
meitu --version ≥ 2.0.6(否则 npm install -g meitu-cli@latest)meitu tools update(用 CONFIG AKSK)MEITU_OPENAPI_TOOL_TASK_MODE=command./output/ |else → $VISUAL/output/image-face-swap/;mkdir -p触发信号 / 路由规则
核心判断维度:图片数量 + head/sence 角色分配。
| 场景 | 判定 | 路由 |
|---|---|---|
| 双图换脸 | 提供 2 张图,意图换脸 | image_face_swap,head/sence 按规则分配 |
决策顺序:
image_face_swap单 API 工具:参数齐全即调用,失败重试 1 次后返回错误;不做跨工具兜底。侧脸/遮挡严重不阻断调用,但告知效果可能受限。
参数定义
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
head_image_url | STRING | 是 | -- | 人脸源图 URL |
sence_image_url | STRING | 是 | -- | 场景底图 URL(保留构图/身体/背景) |
prompt | STRING | 是 | -- | 附加提示词。缺失 → 提示"请描述换脸效果要求" |
工具调用
meitu image-face-swap \
--skill_name skill_image-face-swap \
--head_image_url <head_url> \
--sence_image_url <sence_url> \
--prompt "<effect_description>" \
--json \
--download-dir {output_dir}
错误降级
| 场景 | 处理方式 |
|---|---|
| 图片不足 2 张 | 提示"请提供两张图片:一张人脸源图,一张目标场景图" |
| 图片 3+ 张 | 取前 2 张(第 1=head,第 2=sence),告知用户 |
head_image_url / sence_image_url 不可访问 | 返回图片链接无效错误,不重试 |
| 未检测到人脸(head) | 返回错误:人脸源图需包含清晰正脸 |
image_face_swap 调用失败 | 重试 1 次,仍失败返回错误 |
| 内容合规拦截 | 返回合规提示,不重试 |
| 侧脸 / 遮挡严重 | 不阻断调用,告知效果可能受限 |
| 视频换脸 | 拒绝,仅支持图片 |
| 多人同时换脸 | 本工具一次只换一张脸 |
downloaded_files[0].saved_path 读取已下载文件路径mv {downloaded_files[0].saved_path} {output_dir}/{YYYY-MM-DD}_{descriptive}_image-face-swap.jpg{YYYY-MM-DD}_{descriptive}_image-face-swap.jpg./output/,一次性 → $VISUAL/output/image-face-swap/见 references/task-id-baseline.md 中对应行。