name: image-style-transfer
description: "对已有图片做风格化处理(动漫/油画/水彩/Q版/卡通/3D/像素/表情包等),支持单图风格化和双图参考风格迁移。当用户提到风格转换、风格迁移、变成 xxx 风格、表情包、emoji 风格、Q版、拼豆、玩具风、油画风、水彩风、动漫风、3D 风格、预设效果时触发。"
version: "1.0.0"
metadata: {"openclaw":{"requires":{"bins":["meitu"],"env":["MEITU_OPENAPI_ACCESS_KEY","MEITU_OPENAPI_SECRET_KEY","MEITU_OPENAPI_TOOL_TASK_MODE"],"paths":{"read":["/.meitu/credentials.json","/.meitu/tool-registry.json","/.openclaw/workspace/visual/","./openclaw.yaml"],"write":["/.openclaw/workspace/visual/","./output/"]}},"primaryEnv":"MEITU_OPENAPI_ACCESS_KEY"}}
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:
- ~/.meitu/credentials.json
- ~/.meitu/tool-registry.json
- ~/.openclaw/workspace/visual/
- ./openclaw.yaml
- type: file_write
paths:
- ~/.openclaw/workspace/visual/
- ./output/
- type: exec
commands:
- meitu
Image Style Transfer
Overview
对已有图片做风格化处理,两类能力:单图风格化(Q 版/emoji/史努比/molly/动森 5 种预设 + 其他通用风格)和双图参考风格迁移(原图 + 风格参考图,覆盖水彩/油画/动漫/3D 插画类)。
API Mapping
- 预设风格化(chibi/emoji/snoopy/molly/动森 5 种):
formula_group_creative_play - 单图通用风格化(主):
image_praline_edit_v2 - 单图通用风格化(降级):
image_praline_edit_2 - 参考图风格迁移:
image_mint_styletransfer - 双图兜底:
image_praline_edit_v2 - 工具内兜底:
image_mint_edit - Nougat 高质量(外部显式指定):
image_nougat_edit(路由不识别;ratio 原生 11 枚举;size 内部常量 2K;quality 由 API 内部默认 Medium 不对外暴露) - model 映射:
auto(默认)/praline_pro→v2 /praline_lite→edit_2 /mint_style→styletransfer(必须同时提供 style_image_url,单图禁止指定)/mint_edit→mint /nougat→nougat_edit(外部显式指定触发)
可选参数:--model <auto|praline_pro|praline_lite|mint_style|mint_edit|nougat>、--ratio <auto|1:1|...|21:9>(仅 model=nougat 路径生效,其他静默忽略)
Dependencies
- meitu-cli:
>=2.0.6 - 凭证: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- 已用 CONFIG AKSK 跑过
meitu tools update - 当前 AKSK = EXEC,
MEITU_OPENAPI_TOOL_TASK_MODE=command - output_dir:openclaw.yaml →
./output/|else →$VISUAL/output/image-style-transfer/;mkdir -p
Execute
触发信号 / 路由规则
核心维度:输入图片数量。
| 输入图片数 | 条件 | 路由 |
|---|---|---|
| 1 张 | prompt 含 chibi(Q版)/ emoji / snoopy / molly / 动森 | formula_group_creative_play |
| 1 张 | 其他风格(油画/水彩/动漫/3D/卡通/像素等) | image_praline_edit_v2 |
| 2 张 | 请求为插画类风格迁移 | image_mint_styletransfer |
| 2 张 | 请求为非插画类风格迁移 | image_praline_edit_v2 |
路由原则:formula_group_creative_play 仅限 1 张图 + 5 种预设;image_mint_styletransfer 仅限 2 张图 + 插画类;图片数 >2 仅取前 2 张。
参数定义
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
image_url |
ARRAY[STRING] | 是 | 图片地址列表。1 张=原图;2 张=[原图, 风格参考图],顺序固定 |
prompt |
STRING | 是 | 用户目标风格描述,用于效果检索和兜底处理 |
model |
STRING | 否 | auto / praline_pro / praline_lite / mint_style / mint_edit / nougat |
ratio |
STRING | 否 | 仅 model=nougat 路径生效;其他 model 静默忽略 |
API 映射说明:
formula_group_creative_play:image_url[0] + effect_id(effect_id 由工具内部根据 prompt 风格关键词自动匹配,不暴露)image_mint_styletransfer:image_url[0](原图)+image_url[1](风格参考图)+promptimage_praline_edit_v2:按兜底工具实际参数要求映射
工具调用
meitu image-style-transfer --image_url <origin>[,<style_ref>] --prompt "<style desc>" --json --download-dir {output_dir} --skill_name skill_image-style-transfer
错误降级
| 场景 | 处理方式 |
|---|---|
formula_group_creative_play 调用失败 |
重试 1 次,仍失败走 image_praline_edit_v2 |
image_praline_edit_v2 调用失败(单图) |
降级至 image_praline_edit_2 |
image_praline_edit_2 调用失败(单图) |
降级至 image_mint_edit |
image_mint_edit 调用失败(单图) |
返回错误 |
image_mint_styletransfer 调用失败 |
重试 1 次,仍失败走 image_praline_edit_v2 |
image_praline_edit_v2 调用失败(双图) |
降级至 image_praline_edit_2 |
image_praline_edit_2 调用失败(双图) |
降级至 image_mint_edit |
image_mint_edit 调用失败(双图) |
返回错误 |
| 2 张图但非插画类风格 | 走 image_praline_edit_v2 |
| 1 张图但不属于 5 种预设 | 走 image_praline_edit_v2 |
| 图片数 >2 | 仅取前 2 张按双图分支处理 |
| 写实人像写真 / 视频创意生成 | 直接拒绝,不调用任何 API |
| 内容合规拦截 | 直接返回合规提示,不重试 |
Deliver
- 使用 Preflight 解析的 output_dir
- 从
downloaded_files[0].saved_path读取已下载文件路径 mv {downloaded_files[0].saved_path} {output_dir}/{YYYY-MM-DD}_{descriptive}_image-style-transfer.{ext}
Output
- 格式:image
- 位置:项目 →
./output/,一次性 →$VISUAL/output/image-style-transfer/
基线 Task ID
见 references/task-id-baseline.md 中对应行。