mcpField
I
image-generation

image-generation

github.com/zhayujie创意与媒体47.7k161 次安装1 天前更新
代码仓库

关于 image-generation

用于通过已配置的 AI 图像 API 生成和编辑图像的技能。它会自动选择可用后端,并将结果保存到工作区。

主要功能

  1. 01自动选择后端
  2. 02文本生成图像
  3. 03图像编辑与多图融合
  4. 04可配置质量、尺寸和宽高比

适用场景

  1. 01根据文字描述创建图像
  2. 02修改现有图像
  3. 03合并多张输入图像

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zhayujie/cowagent --skill image-generation

安装后在 Claude Code 中输入/image-generation确认已加载。

附带文件scripts/generate.py

详细介绍

图像生成

使用 AI 模型生成和编辑图像。脚本会根据已配置的 API key 自动选择后端 —— 除非用户明确指定某个模型,否则你无需指定模型。切勿猜测或凭空编造 model:当用户未指定模型时,请完全省略 model,以便使用已配置的默认值/提供商。

支持的模型(仅当用户要求某个特定模型时,才通过 model 传入):

  • OpenAI — gpt-image-2.5-flare(推荐默认:质量/延迟权衡最佳)、gpt-image-2.5-sunburst(编辑精度最高)、gpt-image-2、gpt-image-1
  • Gemini Nano Banana — nano-banana-2、nano-banana-pro、nano-banana
  • Seedream(火山引擎方舟) — seedream-5.0-lite、seedream-4.5
  • Qwen(DashScope) — qwen-image-2.0、qwen-image-2.0-pro
  • MiniMax — image-01

用法

使用一个 JSON 参数运行 scripts/generate.py。使用绝对路径 <base_dir> —— 不要 cd 进入 skill 目录,因为它是内置 skill,重启时会被重置(写入其中的任何内容都会丢失)。

python <base_dir>/scripts/generate.py '<json_args>'

图像会保存到工作区(或当前打开的项目目录)下的 images/ 中,因此它们会持久保存并始终可被客户端访问。

将 bash 超时设置为至少 600 秒,因为每个提供商的图像生成可能需要 30–200s,并且脚本可能会依次尝试多个提供商。请同步调用它(不要在后台运行),并在同一轮中等待其输出。

参数
参数类型必填默认值描述
promptstring是—图像描述
image_urlstring / list否null用于编辑的输入图像:本地文件路径或 URL。支持多图融合(传入一个列表)
qualitystring否autolow / medium / high(仅部分后端支持此参数)
sizestring否auto512 / 1K / 2K / 3K / 4K,或像素值(1024x1024)
aspect_ratiostring否null1:1 / 3:2 / 2:3 / 16:9 / 9:16 / 21:9(部分后端还支持 1:4 / 8:1 等极端比例)

更高的 quality 和更大的 size 成本更高、运行更慢。 通常情况下,当用户未明确指定时,low 或 medium 就足够了。仅在用户要求时才使用 high。

示例 —— 生成
python <base_dir>/scripts/generate.py '{"prompt": "A corgi astronaut floating in space"}'

带宽高比:

python <base_dir>/scripts/generate.py '{"prompt": "Isometric miniature city of Shanghai at sunset", "size": "2K", "aspect_ratio": "16:9"}'
重要:编辑 vs 生成

当用户要求编辑、修改或改进现有图像时,请通过 image_url 传入原始图像。优先直接使用本地文件路径 —— 脚本会在内部处理文件读取。如果没有 image_url,脚本会生成一张全新的图像,而不是进行编辑。

示例 —— 编辑(图生图)
python <base_dir>/scripts/generate.py '{"prompt": "Add a Santa hat to the dog", "image_url": "/path/to/dog.png"}'

多图融合 —— 传入一个列表:

python <base_dir>/scripts/generate.py '{"prompt": "Combine these characters into a group photo", "image_url": ["/path/a.png", "/path/b.png"]}'
输出

向 stdout 打印 JSON:

{
  "model": "doubao-seedream-5-0-260128",
  "images": [
    {"url": "/path/to/output.png"}
  ]
}

成功后,向用户展示图像。你可以将其嵌入 markdown(![description](/path/to/output.png)),或使用 send 工具。

出错时:

{
  "error": "error message"
}
设置

脚本需要以下 API key 中的至少一个(通过 env_config 或 config.json 设置):

OPENAI_API_KEY / GEMINI_API_KEY / ARK_API_KEY / DASHSCOPE_API_KEY / MINIMAX_API_KEY / LINKAI_API_KEY

每个还都有一个可选的 *_API_BASE,用于自定义端点。脚本会自动选择第一个已配置的后端,如果失败则回退到下一个 —— 无需指定模型。

错误处理

如果脚本在尝试所有已配置的后端后返回错误,不要使用相同参数重试 —— 失败几乎总是配置问题(API key 错误、API base 不受支持)。告诉用户通过 env_config 修复,然后重试。

注意事项
  • HTTP 超时为 300s —— 高分辨率生成可能超过 200s。
  • 省略 quality / size 可让模型自动选择(auto)。
  • 用于编辑的输入图像会自动压缩到 ≤ 4MB / 最长边 ≤ 4096px。

评论

支持 Markdown