- 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)。
69 lines
3.4 KiB
Markdown
69 lines
3.4 KiB
Markdown
---
|
||
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,再交给用户;
|
||
失败时贴出工具报错,不要换一张别的图顶替。
|
||
|
||
## 输出要求
|
||
|
||
- 每个产出图都要给真实路径和尺寸,生成类还要给提示词。
|
||
- 未配置时不要绕弯子说“已生成”,直接说缺什么、
|
||
用户补什么才能生成。
|