mcpField
I
image-transform

image-transform

github.com/meituCreative & media36111 installsUpdated 9w ago
Repository

About image-transform

A skill for geometric transformations of existing images, for workflows that need changes to orientation, size, or composition. It supports rotation and flipping, proportional scaling, and AI canvas expansion.

Key features

  1. 01Rotate and flip horizontally or vertically
  2. 02Upscale proportionally by 2x, 4x, or 8x
  3. 03Losslessly downscale proportionally
  4. 04Expand canvas and resize with AI

Use cases

  1. 01Rotate or mirror an image
  2. 02Enlarge an image by a specified factor
  3. 03Reduce an image to target dimensions
  4. 04Change an image to a target aspect ratio or composition

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/meitu/meitu-skills --skill image-transform

After installing, type/image-transformin Claude Code to confirm it loaded.

Details

From the project README

Image Transform

Overview

对已有图片做几何变换(不改变画面内容)。4 类场景:旋转/翻转(-180°~180°)、等比放大(2/4/8 倍)、无损等比缩小、智能构图/画布扩展/尺寸变换(AI outpainting)。关键区分:"放大 N 倍/缩小到 800 宽/扩图/改尺寸"走本工具;"放大到 4K"(分辨率目标)走 image-superres-enhance。

API Mapping

  • 旋转/翻转:api_v1_layer_flow_edit_rotate
  • 等比放大:image_upscale_equal_proportion_edit
  • 无损缩小:image_dldownscaling_edit
  • 智能构图 / 画布扩展 / 尺寸变换:image_extension_layer_flow_filter

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
  1. meitu --version ≥ 2.0.6
  2. 已用 CONFIG AKSK 跑过 meitu tools update
  3. 当前 AKSK = EXEC,MEITU_OPENAPI_TOOL_TASK_MODE=command
  4. output_dir:openclaw.yaml → ./output/ |else → $VISUAL/output/image-transform/;mkdir -p
Execute

触发信号 / 路由规则

核心维度:操作意图分支。

场景判定关键词路由
旋转 / 翻转旋转、顺时针、逆时针、翻转、镜像api_v1_layer_flow_edit_rotate
等比放大(倍数)放大 2/4/8 倍、等比放大image_upscale_equal_proportion_edit
无损缩小缩小到 xxx、无损缩小image_dldownscaling_edit
智能构图 / 画布扩展 / 改比例 / 尺寸变换扩图、改成 16:9、竖版改横版、outpaint、智能构图、重新构图、调整到指定宽高image_extension_layer_flow_filter

路由原则:缩小目标 > 原图 → 自动转 image_upscale_equal_proportion_edit;缩小目标 = 原图 → 直接返回原图。

参数定义

通用:

参数类型必填说明
image_urlSTRING是图片地址

api_v1_layer_flow_edit_rotate:

参数类型范围默认说明
rotateNUMBER-180 ~ 1800旋转角度;超出自动 clamp
flip_xBOOLEANtrue/falsefalse水平翻转
flip_yBOOLEANtrue/falsefalse垂直翻转

image_upscale_equal_proportion_edit:

参数类型范围默认说明
sr_numINTEGER2 / 4 / 82放大倍数;非法值取最近合法值(3→2,6→8)

image_dldownscaling_edit:

参数类型说明
target_widthINTEGER目标宽度(像素 px,禁止传比例数字)
target_heightINTEGER目标高度(像素 px,禁止传比例数字)
  • 仅给一边 → 按原图比例计算另一边
  • 目标 > 原图 → 自动切 image_upscale_equal_proportion_edit
  • 目标 = 原图 → 直接返回原图

image_extension_layer_flow_filter:

参数类型默认说明
widthINTEGER--目标宽度(像素 px,禁止传比例数字)
heightINTEGER--目标高度(像素 px,禁止传比例数字)
promptSTRING保持原图风格自然延伸扩展/重构区域 AI 补全描述

width/height 必须绝对像素值:用户说"16:9"→按原图尺寸计算像素(例:原图 1024×768,16:9 → width=1024, height=576);只说"扩图"无具体值 → 默认按 3:4 比例计算。扩展场景目标 < 原图 → 不调用,提示"目标尺寸需大于原图尺寸"。

工具调用

# 旋转
meitu image-transform --image_url <url> --rotate 90 --json --download-dir {output_dir} --skill_name skill_image-transform
# 等比放大
meitu image-transform --image_url <url> --sr_num 4 --json --download-dir {output_dir} --skill_name skill_image-transform
# 缩小
meitu image-transform --image_url <url> --target_width 800 --json --download-dir {output_dir} --skill_name skill_image-transform 
# 扩图
meitu image-transform --image_url <url> --width 1920 --height 1080 --json --download-dir {output_dir} --skill_name skill_image-transform

错误降级

场景处理方式
image_url 缺失提示"请提供需要变换的图片"
image_url 不可访问直接返回图片链接无效错误,不重试
rotate 超出 -180~180自动 clamp
sr_num 非法取最近合法值
downscale 目标 > 原图自动切 image_upscale_equal_proportion_edit
downscale 目标 = 原图不调用,直接返回原图
downscale 只给一边按原图比例计算另一边
扩图目标 < 原图不调用,提示"目标尺寸需大于原图尺寸"
智能构图/尺寸变换缺 width/height 且无法从比例推算提示"请提供目标宽高或目标比例"
任一 API 调用失败重试 1 次,仍失败返回错误
内容合规拦截直接返回合规提示,不重试、不降级
同时要旋转 + 扩图建议分步操作:先旋转再扩图
Deliver
  • 使用 Preflight 解析的 output_dir
  • 从 downloaded_files[0].saved_path 读取已下载文件路径
  • mv {downloaded_files[0].saved_path} {output_dir}/{YYYY-MM-DD}_{descriptive}_image-transform.{ext}

Output

  • 格式:image
  • 位置:项目 → ./output/,一次性 → $VISUAL/output/image-transform/

基线 Task ID

见 references/task-id-baseline.md 中对应行。

Comments

Markdown supported