image-text-replace について
image-text-replaceは、meitu-cliで既存画像の文字を置き換えるスキルです。短い一か所の修正と、装飾文字・複数箇所・文字数変更を伴う修正を振り分け、編集方法を順に切り替えます。
主な機能
- 01既存画像内の文字置換
- 02単純編集と複雑編集の振り分け
- 03編集方法のフォールバック
- 04ダウンロード結果を出力先に保存
活用シーン
- 01画像内の短い印刷文字の修正
- 02装飾文字や手書き文字の置換
- 03画像内の複数箇所の文字修正
- 04編集済み画像の指定先への保存
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ meitu/ meitu-skills --skill image-text-replaceインストール後、Claude Code で/image-text-replaceを入力して読み込まれたか確認します。
詳細
プロジェクトの README よりImage Text Replace
Overview
对已有图片做文字内容替换:简单精准改字(标准印刷体/单处/≤6 字符/字符数不变四条件全满足)与复杂改字(花字/手写体/风格化/多处/字符数变化)。
API Mapping
- 简单精准改字:简单改字路径。
- 复杂改字:优先
praline_pro,失败依次降级为praline_lite、mint_edit。
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-text-replace/;mkdir -p
Execute
触发信号 / 路由规则
核心维度:四条件判断(必须同时满足):
- 字体类型:标准印刷体(宋体/黑体/楷体/圆体/衬线体/无衬线体/等宽字体)
- 修改位置:只修改一处文字
- 字符长度:修改的文字字符数 ≤ 6
- 字符数恒等:原文字符数 = 修改后字符数
| 场景 | 判定 | 路由 |
|---|---|---|
| 四条件全满足 | 标准印刷体 + 单处 + ≤6 字符 + 字符数不变 | 简单改字路径 → praline_pro → praline_lite → mint_edit |
| 花字 / 手写 / 风格化 | 花体字、手写、风格化 | praline_pro → praline_lite → mint_edit |
| 多处修改 | 改多个地方 | praline_pro → praline_lite → mint_edit |
| 字符数 >6 或 字符数变化 | 长文本 / 3 字→5 字 | praline_pro → praline_lite → mint_edit |
参数定义
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
image_url | STRING | 是 | 图片地址。缺失 → 提示"请提供需要改字的图片" |
source_words | STRING | 条件必填 | 原文字内容。简单改字必填;复杂改字可从 prompt 自动提取 |
target_words | STRING | 条件必填 | 目标文字内容。简单改字必填 |
prompt | STRING | 否 | 改字描述;复杂改字时根据 source_words / target_words 自动生成英文改字指令 |
简单改字路径直接传 image_url、source_words 和 target_words;复杂改字使用 praline_pro、praline_lite 或 mint_edit,并根据 source_words/target_words 构造英文改字指令。
目标文字含中文时,prompt 中目标文字保持原样、不做翻译。
工具调用
meitu image-text-replace --image_url <url> --source_words "<原文>" --target_words "<新文>" --json --download-dir {output_dir} --skill_name skill_image-text-replace
错误降级
| 场景 | 处理方式 |
|---|---|
image_url 缺失 | 提示"请提供需要改字的图片" |
image_url 不可访问 | 直接返回图片链接无效错误,不重试 |
source_words / target_words 缺失 | 提示"请告诉我要把哪个文字改成什么" |
source_words 在图片中找不到 | 返回原图,告知未找到匹配文字 |
| 字符数改变 / 花字 / 多处 | 不走简单改字,直接使用 praline_pro |
| 简单改字路径调用失败 | 自动升级至 praline_pro |
praline_pro 调用失败 | 自动降级至 praline_lite |
praline_lite 调用失败 | 自动降级至 mint_edit |
mint_edit 调用失败 | 返回错误 |
| 用户一次要改多张图 | 提示每次处理一张 |
| 用户未提供字体信息 | 按标准印刷体判断,先试简单 API;失败自动升级 |
| 内容合规拦截 | 直接返回合规提示,不重试、不降级 |
Deliver
- 使用 Preflight 解析的 output_dir
- 从
downloaded_files[0].saved_path读取已下载文件路径 mv {downloaded_files[0].saved_path} {output_dir}/{YYYY-MM-DD}_{descriptive}_image-text-replace.{ext}
Output
- 格式:image
- 位置:项目 →
./output/,一次性 →$VISUAL/output/image-text-replace/
基线 Task ID
见 references/task-id-baseline.md 中对应行。
コメント
Markdown 対応