| name | image-face-swap |
| description | 双图换脸/换头合成,将源图人脸替换到目标场景图上,保留目标图构图、身体和背景并自动做肤色融合与光影匹配。仅在用户明确提供两张图,并表达换脸、换头、把 A 的脸换到 B 上、face swap 或明确的 P 脸合成意图时触发。执行时会使用本地 Meitu OpenAPI 凭证授权,并将源人脸图和目标场景图发送到 Meitu 外部服务处理。 |
| version | 1.0.0 |
| metadata | {"openclaw":{"requires":{"bins":"[Truncated]","env":"[Truncated]","paths":"[Truncated]"},"primaryEnv":"MEITU_OPENAPI_ACCESS_KEY","security":{"credentialUse":"Uses Meitu OpenAPI credentials from env or ~/.meitu/credentials.json for CLI authentication; credentials must not be echoed, logged, or embedded in prompts.","remoteProcessing":"Source face images and target scene images are transmitted to Meitu OpenAPI for face-swap processing.","biometricNotice":"Face images are sensitive biometric-like personal data; users should understand that provided images are processed by an external Meitu service."}}} |
| security | {"credential_use":"Uses Meitu OpenAPI credentials from env or ~/.meitu/credentials.json for CLI authentication; credentials must not be echoed, logged, or embedded in prompts.","remote_processing":"Source face images and target scene images are transmitted to Meitu OpenAPI for face-swap processing.","biometric_notice":"Face images are sensitive biometric-like personal data; users should understand that provided images are processed by an external Meitu service."} |
| requirements | {"credentials":[{"name":"MEITU_OPENAPI_ACCESS_KEY","source":"env | ~/.meitu/credentials.json"},{"name":"MEITU_OPENAPI_SECRET_KEY","source":"env | ~/.meitu/credentials.json"}],"env":{"MEITU_OPENAPI_TOOL_TASK_MODE":"command"},"permissions":[{"type":"file_read","paths":"[Truncated]"},{"type":"file_write","paths":"[Truncated]"},{"type":"exec","commands":"[Truncated]"}]} |
图片换脸(image-face-swap)
Overview
双图换脸/换头合成,将源图人脸替换到目标场景图上。保留目标图的构图/身体/背景,自动肤色融合光影匹配;用于角色扮演、把自己的脸放到另一张图上、趣味合成。一次只换一张脸。
执行前应让用户清楚知道:本 Skill 会读取 Meitu 凭证、调用本地 meitu CLI、将两张人脸相关图片发送到 Meitu OpenAPI 处理,并把结果写入 ./output/ 或 $VISUAL/output/image-face-swap/。
API Mapping
- 双图换脸/换头合成:
image_face_swap
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-face-swap/;mkdir -p
Execute
触发信号 / 路由规则
核心判断维度:图片数量 + head/sence 角色分配。
| 场景 | 判定 | 路由 |
|---|
| 双图换脸 | 提供 2 张图,意图换脸 | image_face_swap,head/sence 按规则分配 |
决策顺序:
- 图片数量:不足 2 张 → 提示补图;超过 2 张 → 取前 2 张并告知
- 角色分配:
- 用户明确指定 → 按指定分配 head / sence
- 未区分 → 第 1 张 = head(人脸源),第 2 张 = sence(场景底图)
- "用 B 换到 A" → B=head(源),A=sence
- 唯一路由:调用
image_face_swap
单 API 工具:参数齐全即调用,失败重试 1 次后返回错误;不做跨工具兜底。侧脸/遮挡严重不阻断调用,但告知效果可能受限。
参数定义