Files
host e13a95067c feat: 图片改图 MCP 工具 image_edit
- imagegen.edit:POST multipart /v1/images/edits,输入图
  必须是工作区内 plain basename 且存在(上限 20MB),产出
  必须是新文件、绝不覆盖输入;响应解析与 generate 共用
  _save_image_response(url 或 b64_json、下载落盘、格式探测)。
- imagegen_mcp 新增 image_edit 工具;image-workflow 技能
  改图分支从“无专用工具”改为用 image_edit。
- 测试:multipart 体含提示词与原图字节、输入缺失/同名/
  路径逃逸拒绝、MCP 列表含 image_edit;全量相关 16 项过。
实测依据(2026-10-30):中转站图片分组 key 调
gpt-image-2.5-flare edits 返回 200,URL 图为真实 PNG
1024x1024、909K,usage 含输入图 token(1659 image tokens)。
2026-10-30 04:05:00 +08:00

69 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: image-workflow
description: 查看、裁剪、缩放、格式转换已有图片,或在图片生成工具已配置时按描述生成/编辑图片时使用。未配置生成工具时必须明说无法生成,绝不把已有图片或占位图当成生成结果。
---
# image-workflow:图片查看与处理
## 何时用
- 查看已有图片、裁剪、缩放、转格式、读图片尺寸和格式。
- 用户明确要求“按描述生成一张图”或“按描述改这张图”,
且本环境已配置图片生成工具 / API 时。
## 何时不用
- 只是写代码、改文本、查文档:不用本技能。
- 用户要生成图片,但本环境没有生成工具:不要硬做,
走下面的“未配置”分支。
## 工具前提(先核查,不满足就明说)
1. 查看和处理已有图片:查 `python3 -c "import PIL"`,
以及 `convert` / `magick`(ImageMagick)是否存在。
有其一即可做裁剪、缩放、转格式;都没有就明说。
2. 生成图片:本环境已配置图片生成 MCP 工具
`image_generate`(中转站图片分组,走系统级 key,不用
任务自己的网关 key)。调用它生成,不要自己去调
`/v1/images/generations`,也不要编造 key 或 endpoint。
参数:`prompt`(必填)、`output_filename`(工作区内的
文件名,如 `hero.png`)、`size`(1024x1024 / 1536x1024 /
1024x1536,默认 1024x1024)。工具返回绝对路径、格式、
尺寸、字节数;失败时工具直接报错,不要换图顶替。
如果工具列表里没有 `image_generate`,或调用它报
“image generation not configured”,回答必须是“本环境
未配置图片生成工具,无法按描述生成”,并给出替代方案
(例如用 shell 画示意图、或用户提供已有图片后做裁剪/
缩放),绝不能:
- 把网上找来的图、占位图、已有图片说成是刚生成的;
- 编造一个图片路径或图片内容描述。
编辑已有图片:用 `image_edit` 工具,参数 `prompt`(改什么)、
`input_filename`(工作区内已有图的文件名)、
`output_filename`(新文件名,必须与输入不同,原图绝不
被覆盖)、`size`。改图产出是新文件,不是原图修改;
同样要用 shell / PIL 重新打开验证后再交给用户。
## 步骤(已有图片处理)
1. 先读原图信息:格式、尺寸、文件大小,确认输入路径存在。
2. 按用户要求做裁剪 / 缩放 / 转格式,产出到用户指定的
路径(未指定时用工作区内的新文件名,不覆盖原图)。
3. 验证产出:重新打开产出图,确认格式、尺寸符合要求,
文件大小不是 0。
## 步骤(生成 / 改图,仅当对应工具在位时)
1. 把用户描述原样记下来,不要自己加没说的元素。
2. 生成调 `image_generate`,改图调 `image_edit`(输入图
必须是工作区内已存在的文件,产出文件名与输入不同),
记录提示词、尺寸、产出路径。
3. 验证产出:用 shell / PIL 重新打开返回路径的图,确认
格式、尺寸符合要求,文件大小不是 0,再交给用户;
失败时贴出工具报错,不要换一张别的图顶替。
## 输出要求
- 每个产出图都要给真实路径和尺寸,生成类还要给提示词。
- 未配置时不要绕弯子说“已生成”,直接说缺什么、
用户补什么才能生成。