DALL-E图像生成服务

一个基于OpenAI DALL-E API的图像生成、编辑和变体创建服务,适用于创意设计、内容创作和开发测试场景。

  • by Garoth
  • TypeScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 Garoth/dalle-mcp

使用说明

DALL-E MCP 服务器

一种MCP(模型上下文协议)服务器,用于使用OpenAI的DALL-E API生成图像。

特性

  • 使用 DALL-E 2 或 DALL-E 3 生成图像
  • 编辑现有图像(仅限DALL-E 2)
  • 创建现有图像的变体(仅限DALL-E 2)
  • 验证OpenAI API密钥

安装

# Clone the repository
git clone https://github.com/Garoth/dalle-mcp.git
cd dalle-mcp

# Install dependencies
npm install

# Build the project
npm run build

对Cline用户的重要提示

将此DALL-E MCP服务器与Cline一起使用时,建议通过设置 saveDir 参数以匹配您当前的工作目录。这确保了Cline可以在您的对话中正确定位和显示生成的图像。

Cline的使用示例:

{
  "prompt": "A tropical beach at sunset",
  "saveDir": "/path/to/current/workspace"
}

用法

运行服务器

# Run the server
node build/index.js

Cline配置

将dall-e服务器添加到VSCode设置中的Cline MCP设置文件中(例如~/.config/Code/User/globalStorage/saoudrizwan.claude dev/settings/Cline_MCP_settings.json):

{
  "mcpServers": {
    "dalle-mcp": {
      "command": "node",
      "args": ["/path/to/dalle-mcp-server/build/index.js"],
      "env": {
        "OPENAI_API_KEY": "your-api-key-here",
        "SAVE_DIR": "/path/to/save/directory"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

确保:

  1. 替换 /path/to/dalle-mcp-server/build/index.js 带有构建的index.js文件的实际路径
  2. 替换 your-api-key-here 使用您的OpenAI API密钥

可用工具

generate_image

基于文本提示,使用DALL-E生成图像。

{
  "prompt": "A futuristic city with flying cars and neon lights",
  "model": "dall-e-3",
  "size": "1024x1024",
  "quality": "standard",
  "style": "vivid",
  "n": 1,
  "saveDir": "/path/to/save/directory",
  "fileName": "futuristic-city"
}

参数:

  • prompt (必填):所需图像的文字描述
  • model (可选):要使用的DALL-E模型(“dall-e-2”或“dall-e-3”,默认:“dall-e-3”)
  • size (可选):生成图像的大小(默认值:“1024x1024”)
    • DALL-E 3: "1024x1024", "1792x1024", 或 "1024x1792"
    • DALL-E 2:“256x256”、“512x512”或“1024x1024”
  • quality (可选):生成图像的质量,仅DALL-E 3(“标准”或“hd”,默认值:“标准”)
  • style (可选):生成图像的样式,仅DALL-E 3(“生动”或“自然”,默认:“生动”)
  • n (可选):要生成的图像数量(1-10,默认值:1)
  • saveDir (可选):保存生成图像的目录(默认:当前目录或.env中的save_DIR)。 对于Cline用户: 建议将其设置为当前工作区目录,以便正确显示图像。
  • fileName (可选):生成的图像的基本文件名,不带扩展名(默认值:“dalle-{timestamp}”)

edit_image

基于文本提示,使用DALL-E编辑现有图像。

⚠️ 已知问题(2025年3月18日): DALL-E2图像编辑API目前有一个错误,它有时会忽略提示并返回原始图像而不进行任何编辑,即使使用正确的RGBA格式图像和掩码也是如此。该问题已在《 OpenAI社区论坛。如果您遇到此问题,请尝试使用 create_variation 相反,它似乎更可靠地工作。

{
  "prompt": "Add a red hat",
  "imagePath": "/path/to/image.png",
  "mask": "/path/to/mask.png",
  "model": "dall-e-2",
  "size": "1024x1024",
  "n": 1,
  "saveDir": "/path/to/save/directory",
  "fileName": "edited-image"
}

参数:

  • prompt (必填):所需编辑的文本描述
  • imagePath (必填):要编辑的图像的路径
  • mask (可选):掩码图像的路径(白色区域将被编辑,黑色区域将被保留)
  • model (可选):使用DALL-E模型(目前只有“dall-e-2”支持编辑,默认:“dall-e-2”)
  • size (可选):生成图像的大小(默认值:“1024x1024”)
  • n (可选):要生成的图像数量(1-10,默认值:1)
  • saveDir (可选):保存编辑图像的目录(默认:当前目录或.env中的save_DIR)。 对于Cline用户: 建议将其设置为当前工作区目录,以便正确显示图像。
  • fileName (可选):已编辑图像的基本文件名,不带扩展名(默认:“dalle edit-{timestamp}”)

create_variation

使用DALL-E创建现有图像的变体。

{
  "imagePath": "/path/to/image.png",
  "model": "dall-e-2",
  "size": "1024x1024",
  "n": 4,
  "saveDir": "/path/to/save/directory",
  "fileName": "image-variation"
}

参数:

  • imagePath (必填):创建图像变体的路径
  • model (可选):使用DALL-E模型(目前只有“dall-e-2”支持变体,默认:“dall-e-2”)
  • size (可选):生成图像的大小(默认值:“1024x1024”)
  • n (可选):要生成的变量数量(1-10,默认值:1)
  • saveDir (可选):保存变体图像的目录(默认:当前目录或.env中的save_DIR)。 对于Cline用户: 建议将其设置为当前工作区目录,以便正确显示图像。
  • fileName (可选):不带扩展名的变体图像的基本文件名(默认值:“dalle variation-{timestamp}”)

validate_key

验证OpenAI API密钥。

{}

无需参数。

发展

测试配置

注意:以下.env配置仅用于运行测试,不用于正常操作。

如果您正在为此项目开发或运行测试,请创建 .env 根目录中使用OpenAI API密钥的文件:

# Required for TESTS ONLY: OpenAI API Key
OPENAI_API_KEY=your-api-key-here

# Optional: Default save directory for test images
# If not specified, images will be saved to the current directory
# SAVE_DIR=/path/to/save/directory

对于Cline的正常操作,请在MCP设置JSON中配置您的API密钥,如上面“添加到MCP设置”部分所述。

您可以从获取API密钥 OpenAI的API密钥页面.

运行测试

# Run basic tests
npm test

# Run all tests including edit and variation tests
npm run test:all

# Run tests in watch mode
npm run test:watch

# Run specific test by name
npm run test:name "should validate API key"

注意:测试使用真实的API调用,可能会对您的OpenAI帐户产生费用。

生成测试图像

该项目包括一个脚本,用于生成开发和测试的测试图像:

# Generate a test image in the assets directory
npm run generate-test-image

这将在中创建一个简单的测试图像 assets 可用于测试编辑和变体功能的目录。

许可证

麻省理工学院