图像生成与编辑工具

一个基于OpenAI GPT-4o/gpt-image-1模型的图像生成与编辑工具,支持文本生成图像、图像编辑(修复、扩展、合成)等功能,适用于Claude Desktop、Cursor、VSCode等MCP兼容客户端。

  • by SureScaleAI
  • TypeScript
  • 本地部署
  • 118 星标
  • 更新于
在 GitHub 查看 SureScaleAI/openai-gpt-image-mcp

使用说明

openai gpt图像mcp


用于OpenAI GPT-4o/GPT-image 1图像生成和编辑API的模型上下文协议(MCP)工具服务器。

  • 生成图像 使用OpenAI的最新模型从文本提示中提取。
  • 编辑图像 (修复、外画、合成),具有高级提示控制。
  • 支持:Claude Desktop、Cursor、VSCode、Windsurf和任何兼容MCP的客户端。

✨ 特性

  • 创建图像:根据提示生成图像,具有高级选项(大小、质量、背景等)。
  • 编辑图像:使用提示和可选掩码编辑或扩展图像,支持文件路径和base64输入。
  • 文件输出:将生成的图像直接保存到磁盘,或以base64格式接收。

🚀 安装

git clone https://github.com/SureScaleAI/openai-gpt-image-mcp.git
cd openai-gpt-image-mcp
yarn install
yarn build

🔑 配置

添加到Claude Desktop或VSCode(包括Cursor/Windsurf)配置:

{
  "mcpServers": {
    "openai-gpt-image-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": { "OPENAI_API_KEY": "sk-..." }
    }
  }
}

还支持Azure部署:

{
  "mcpServers": {
    "openai-gpt-image-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": { 
        "AZURE_OPENAI_API_KEY": "sk-...",
        "AZURE_OPENAI_ENDPOINT": "my.endpoint.com",
        "OPENAI_API_VERSION": "2024-12-01-preview"
      }
    }
  }
}

还支持提供环境文件:

{
  "mcpServers": {
    "openai-gpt-image-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js", "--env-file", "./deployment/.env"]
    }
  }
}

⚡ 高级

  • 对于 create-image,set n 一次最多生成10张图像。
  • 对于 edit-image,提供掩码图像(文件路径或base64)以控制编辑的应用位置。
  • 提供一个环境文件 --env-file path/to/file/.env
  • 看 src/index.ts 对于所有选项。

🧑‍💻 发展

  • TypeScript源代码: src/index.ts
  • 构建: yarn build
  • 运行: node dist/index.js

📝 许可证

麻省理工学院


🩺 故障排除

  • 确保你的 OPENAI_API_KEY 有效,并且具有映像API访问权限。
  • 你必须有一个 经过验证的OpenAI组织。验证后,激活镜像API访问可能需要15-20分钟。
  • 文件路径必须是绝对路径。
    • Unix/macOS/Linux:从以下内容开始 / (例如。, /path/to/image.png)
    • 视窗:驱动器号后跟 : (例如。, C:/path/to/image.png 或 C:\path\to\image.png)
  • 对于文件输出,请确保目录可写。
  • 如果您看到有关文件类型的错误,请检查您的图像文件扩展名和格式。

⚠️ 限制和大文件处理

  • 1MB有效载荷限制: MCP客户端(包括Claude Desktop)对工具响应有1MB的硬限制。如果以base64返回,大图像(尤其是高分辨率或多个图像)很容易超过此限制。
  • 自动切换到文件输出: 如果总图像大小超过1MB,该工具将自动将图像保存到磁盘,并返回文件路径而不是base64。这确保了兼容性,并防止了以下错误 result exceeds maximum length of 1048576.
  • 默认文件位置: 如果不指定 file_output 路径,图像将保存到 /tmp (或由设置的目录 MCP_HF_WORK_DIR 环境变量),并使用唯一的文件名。
  • 环境变量:
    • MCP_HF_WORK_DIR:设置此选项以控制大图像和文件输出的保存位置。例子: export MCP_HF_WORK_DIR=/your/desired/dir
  • 最佳实践: 对于大型或生产图像,始终使用文件输出,并确保您的客户端配置为处理文件路径。

📚 参考文献


🙏 鸣谢