多提供商图像生成服务

一个生产就绪的模型上下文协议(MCP)服务器,用于多提供商图像生成,具有智能提供商选择、企业级安全性和全面测试功能。

  • by robertelee78
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 robertelee78/image-gen-mcp-server

使用说明

Image Gen MCP服务器(增强型分叉)

一个生产就绪的模型上下文协议(MCP)服务器,用于生成多提供商图像,具有智能提供商选择、企业级安全性和全面测试功能。

原装: @merlinrabens/image-gen-mcp-server 这个叉子:通过MCP最佳实践合规性、错误修复和提供商优化得到增强

🆕 此分叉中的增强功能

这个分叉包括几个关键的改进和优化:

✅ MCP最佳实践合规性

  • 工具命名:从点符号迁移到MCP标准snake_case(image.generate → image_generate)
  • 综合说明:增强工具文档,包括示例、用例和错误处理指南
  • 工具注释:添加了适当的提示(readOnlyHint, openWorldHint, idempotentHint)用于LLM优化
  • 响应格式:通过双JSON/Markdown输出支持 response_format 参数
  • 增强的模式:Zod验证 .strict() 执行和详细示例
  • 可操作的错误:错误消息现在包括特定的解决步骤和API密钥注册链接

看 docs/MCP_IMPROVEMENTS.md 了解完整细节。

🐛 关键Bug修复

  • 图像编辑会话崩溃修复:解决了会话中断错误 image_edit 返回5-10MB base64图像会导致Claude会话崩溃
  • 基于文件的响应:两者都有 image_generate 和 image_edit 现在保存到磁盘以确保一致性和可靠性
  • 品质保持:无需压缩-保持原始质量

看 文档/编辑-FIX-SUMMARY.md 了解技术细节。

🚀 提供商优化

  • 重新起草V3:添加了全球排名第一的提供商,具有独特的矢量/SVG生成和完美的文本渲染
  • 表意文字V3:从V2升级到V3,具有增强的照片真实感和业界领先的文本功能
  • 智能路由:优化了回退链,优先考虑质量和成本效益
  • 智能选择:增强了基于关键字的自动选择,以实现最佳的提供商匹配

看 docs/PROVIDER_OPTIMIZATION_REPORT.md 用于研究和分析。

📁 文档组织

所有增强文档都组织在 /docs/:

  • MCP_IMPROVEMENTS.md -MCP最佳实践实施细节
  • EDITING-FIX-SUMMARY.md -会话中断错误修复文档
  • PROVIDER_OPTIMIZATION_REPORT.md -供应商研究和优化分析
  • MANUAL_SETUP.md -新提供商的设置指南
  • SHOWCASE.md -提供商比较和示例
  • CLAUDE.md -Claude代码集成配置

原始文件

特性

🎨 10家领先的AI图像提供商

  • 重新起草V3 ⭐ 新-全球排名第一,独特的矢量生成(SVG),完美的文本渲染
  • OpenAI DALL-E 3 -多功能、高质量的一代
  • 稳定AI -具有精细控制的稳定扩散XL
  • 利奥纳多。人工智能 -旋转木马的字符一致性
  • 表意文字V3 ⭐ 升级-标志/海报的出色文本渲染,增强了照片真实感
  • 黑森林实验室(Flux) -超高分辨率照片真实感
  • 法尔·艾 -超快一代(50-300ms)
  • Clipdrop -高级后处理和背景去除
  • 谷歌双子座 -多模式理解
  • 复制 -访问各种开放模型

🧠 智能提供商选择

  • 用例检测:根据即时分析自动选择最佳提供商
  • 自动回退:提供程序失败时的智能回退链
  • 性能优化:O(n)复杂度关键字匹配
  • 上下文感知:检测徽标、大量文字、照片级真实感、旋转木马需求

🔒 企业安全

  • 输入验证:缓冲区大小限制(最大10MB)
  • API密钥验证:检测占位符和无效密钥
  • 迅速消毒:长度限制和内容验证
  • 速率限制:防止API节流(10 req/min)
  • 资源清理:适当的AbortController管理

⚡ 性能和可靠性

  • 响应缓存:5分钟TTL缓存
  • 指数退避:智能重试逻辑
  • 连接池:高效利用资源
  • 超时管理:可按提供商配置超时
  • 错误恢复:区分可重试错误和永久错误

✅ 质量保证

  • 100%测试覆盖率:49项综合测试
  • 类型安全性:具有严格类型的完整TypeScript
  • 不 any 类型:贯穿始终的正确类型定义
  • Zod验证:运行时架构验证
  • 模拟测试:测试不需要真正的API调用

展示

不同提供商生成的真实图像展示了不同的功能:

英雄图片和产品摄影(BFL Flux 1.1 Pro)

Modern minimalist office workspace - Ultra-quality 1792×1024 (11.7s)

Premium smartphone mockup - Professional photography 1024×1024 (4.3s)

文本渲染和徽标设计(Ideogram)

干净的现代火箭图标-非常适合科技初创公司512×512(18.6s)

艺术与幻想插图(达)

城堡废墟上雄伟的龙-电影奇幻艺术1024×1024(11.8s)

创意概念(OpenAI DALL-E 3)

浮岛超现实梦幻景观-创意诠释1024×1024(13.5秒)

超快一代(复制Flux Schnell)

简单抽象模式-1.7秒内生成(512×512)

绩效总结:所有9个提供商都成功进行了测试,成功率为100%,平均生成时间为8.7秒,从超快速草稿(<2秒)到超高质量照片级真实感的全面用例覆盖。

快速开始

安装

使用此MCP服务器的最简单方法是通过NPM:

npx @merlinrabens/image-gen-mcp-server

或全局安装:

npm install -g @merlinrabens/image-gen-mcp-server

配置

将MCP服务器添加到MCP客户端配置中。确切的位置取决于您使用的客户端。

MCP客户端配置文件

克劳德桌面版:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

克劳德代码:

  • macOS/Linux: ~/.claude.json
  • 窗户: %USERPROFILE%\.claude.json

光标 和其他MCP客户端:检查客户端的文档以获取配置文件位置。

推荐设置(NPM包)

{
  "mcpServers": {
    "image-gen-mcp-server": {
      "command": "npx",
      "args": ["-y", "@merlinrabens/image-gen-mcp-server"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "STABILITY_API_KEY": "sk-...",
        "REPLICATE_API_TOKEN": "r8_...",
        "GEMINI_API_KEY": "AIza...",
        "LEONARDO_API_KEY": "...",
        "IDEOGRAM_API_KEY": "...",
        "BFL_API_KEY": "...",
        "FAL_API_KEY": "...",
        "CLIPDROP_API_KEY": "...",
        "RECRAFT_API_KEY": "...",
        "DEFAULT_PROVIDER": "auto",
        "LOG_LEVEL": "info"
      }
    }
  }
}

环境变量:

  • 生产使用至少需要一个提供程序API密钥
  • DEFAULT_PROVIDER:设置为 "auto" 用于智能选择或指定提供程序名称
  • LOG_LEVEL: "debug" | "info" | "warn" | "error"
  • DISABLE_FALLBACK:设置为 "true" 防止回退到其他提供商
  • ALLOW_MOCK_PROVIDER:设置为 "true" 允许MOCK提供商投入生产(不推荐)
  • IMAGE_OUTPUT_DIR:在哪里保存生成的图像(请参见 记忆 部分)

备注:如果没有配置真正的提供者,服务器将失败并显示明确的错误消息,而不是默默地使用MOCK。MOCK提供程序在开发/测试环境中自动可用(NODE_ENV=development 或 NODE_ENV=test).

API密钥

从以下位置获取API密钥:

  • 招聘 ⭐ 新https://www.recraft.ai/(独特的矢量生成功能!)
  • OpenAI: https://platform.openai.com/api-keys
  • 稳定AI: https://platform.stability.ai/account/keys
  • 复制: https://replicate.com/account/api-tokens
  • 谷歌双子座: https://aistudio.google.com/apikey
  • 莱昂纳多: https://app.leonardo.ai/settings
  • 表意文字: https://ideogram.ai/api
  • 黑森林实验室: https://api.bfl.ml/
  • 法尔: https://fal.ai/dashboard/keys
  • Clipdrop: https://clipdrop.co/apis

测试

配置后,重新启动MCP客户端并测试:

  1. 检查服务器状态:“使用image_health_ping检查映像生成器mcp服务器状态”
  2. 列出已配置的提供程序:“使用image_config_providers列出可用的image-gen-mcp服务器提供程序”
  3. 生成第一张图片:“使用image_Generate生成宁静的山景”

开发设置

对于贡献者或当地发展:

1.克隆存储库

git clone https://github.com/merlinrabens/image-gen-mcp-server.git
cd image-gen-mcp-server

2.安装依赖项

npm install

3.配置环境

复制 .env.example 到 .env 并添加您的API密钥:

cp .env.example .env

4.构建和运行

npm run build
npm start

5.地方发展配置

对于热重载开发:

{
  "mcpServers": {
    "image-gen-mcp-server": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/image-gen-mcp-server/src/index.ts"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "DEFAULT_PROVIDER": "auto"
      }
    }
  }
}

安全说明:配置文件中的API键以纯文本形式存储。确保文件权限正确。

记忆

默认情况下,生成的图像保存到 .image-gen-mcp/ 在您当前的工作目录中。这将使图像与项目保持一致,并在系统重新启动时保持一致。

存储选项

使用配置图像的保存位置 IMAGE_OUTPUT_DIR 环境变量:

值 描述 示例
未设置 默认: .image-gen-mcp/ 在当前工作目录中 ./image-gen-mcp/
"cwd" 明确使用 .image-gen-mcp/ 在当前目录中 ./image-gen-mcp/
"temp" 使用系统临时目录(旧行为) /tmp/ 或 %TEMP%
/absolute/path 保存到特定目录 /Users/me/images/

配置示例

{
  "mcpServers": {
    "image-gen-mcp-server": {
      "command": "npx",
      "args": ["-y", "@merlinrabens/image-gen-mcp-server@latest"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        // Optional: Change image storage location
        "IMAGE_OUTPUT_DIR": "temp"  // or "/custom/path" or leave unset for default
      }
    }
  }
}

微笑。

如果使用默认值 .image-gen-mcp/ 目录,将其添加到您的 .gitignore:

# MCP generated images
.image-gen-mcp/

自动清理

旧图像(>1小时)会自动清理,以防止磁盘空间问题。清理工作每30分钟进行一次。

可用工具

image_health_ping

检查服务器状态-无需配置。

Request: image_health_ping()
Response: "ok"

image_config_providers

列出所有提供程序及其配置状态。

Response: [
  {
    "name": "OPENAI",
    "configured": true,
    "requiredEnvVars": ["OPENAI_API_KEY"],
    "capabilities": {
      "supportsGenerate": true,
      "supportsEdit": true,
      "supportedModels": ["dall-e-3", "gpt-image-1"]
    }
  },
  ...
]

image_generate

根据文本提示生成图像。

Request: {
  "prompt": "A serene mountain landscape at sunset",
  "provider": "auto",         // Or specify: OPENAI, LEONARDO, FAL, etc.
  "width": 1024,              // Optional
  "height": 1024,             // Optional
  "model": "dall-e-3",        // Optional
  "seed": 12345,              // Optional
  "response_format": "json"   // Optional: "json" (default) or "markdown"
}

Response (JSON format):
{
  "images": [{
    "path": "/path/to/.image-gen-mcp/image.png",
    "format": "png",
    "size": 123456
  }],
  "provider": "OPENAI",
  "model": "dall-e-3",
  "note": "Images saved to disk due to size."
}

Response (Markdown format):
# Image Generation Result

**Provider**: OPENAI
**Model**: dall-e-3

## Generated Images (1)

### Image 1
- **Path**: `/path/to/.image-gen-mcp/image.png`
- **Format**: png
- **Size**: 120.45 KB

image_edit

使用文本提示编辑现有图像。支持多种提供商,包括OpenAI、Stability、Ideogram、BFL、Gemini和Clipdrop。

这 baseImage 和 maskImage 字段支持:

  • 数据URL: data:image/png;base64,...
  • 文件路径: /path/to/image.png
  • 文件URL: file:///path/to/image.png
Request: {
  "prompt": "Add a rainbow to the sky",
  "baseImage": "/path/to/image.png",         // Can be file path or data URL
  "maskImage": "/path/to/mask.png",          // Optional (file path or data URL)
  "provider": "OPENAI",                      // Optional (auto-selects if not specified)
  "response_format": "json"                  // Optional: "json" (default) or "markdown"
}

Response: Same format as image_generate (JSON or Markdown based on response_format)

提供商示例

图像编辑示例

基本编辑(OpenAI gpt-image 1):

{
  "prompt": "Add a sunset background",
  "baseImage": "/path/to/generated-image.png",  // Direct file path
  "provider": "OPENAI"
}

风格转换(稳定性AI):

{
  "prompt": "Transform this into a watercolor painting style",
  "baseImage": "/path/to/photo.png",
  "provider": "STABILITY",
  "strength": 0.7  // Control transformation strength (0.0-1.0)
}

背景替换(BFL通量):

{
  "prompt": "Replace the background with a mountain landscape at sunset",
  "baseImage": "/path/to/portrait.png",
  "provider": "BFL"
}

对象移除(Ideogram V3):

{
  "prompt": "Remove the person in the background",
  "baseImage": "/path/to/image.png",
  "provider": "IDEOGRAM",
  "model": "V_3"
}

蒙面编辑(OpenAI):

{
  "prompt": "Replace the sky with dramatic storm clouds",
  "baseImage": "/path/to/landscape.png",
  "maskImage": "/path/to/sky-mask.png",  // White areas = edit, Black = preserve
  "provider": "OPENAI"
}

使用Gemini进行高级编辑:

{
  "prompt": "Remove the person in the background and add a rainbow in the sky",
  "baseImage": "data:image/png;base64,...",
  "provider": "GEMINI"
  // Gemini excels at understanding complex multi-step instructions
}

背景移除(剪贴):

{
  "prompt": "Remove background",
  "baseImage": "/path/to/product-photo.png",
  "provider": "CLIPDROP"
  // Specialized for high-quality background removal
}

自动选择提供商

让系统为您的用例选择最佳提供商:

{
  "prompt": "Create a logo with the text 'TechStartup 2025'",
  "provider": "auto"  // Will select Ideogram for text rendering
}

模拟提供程序(不需要API密钥)

非常适合测试:

{
  "prompt": "test image",
  "provider": "MOCK"
}

OpenAI DALL-E

最适合高质量、有创意的图像:

  • 生成:用途 dall-e-3 (现代、高品质)
  • 编辑:用途 gpt-image-1 (现代,最多支持50MB图像)
{
  "prompt": "An oil painting of a robot reading a book",
  "provider": "OPENAI",
  "model": "dall-e-3",
  "width": 1792,
  "height": 1024
}

备注:DALL-E 2已被弃用。所有操作仅使用现代模型(dall-e-3用于生成,gpt-image 1用于编辑)。

稳定AI

非常适合照片级真实感和艺术风格:

{
  "prompt": "A photorealistic portrait of a cyberpunk character",
  "provider": "STABILITY",
  "model": "stable-image-core-v1",
  "seed": 42
}

复制

访问Flux等尖端型号:

{
  "prompt": "A futuristic cityscape with flying cars",
  "provider": "REPLICATE",
  "model": "black-forest-labs/flux-schnell",
  "guidance": 7.5,
  "steps": 4
}

谷歌Gemini 2.5 Flash图片

使用自然语言进行高级图像生成和编辑:

{
  "prompt": "A serene landscape with mountains reflected in a crystal-clear lake at sunset",
  "provider": "GEMINI",
  "model": "gemini-2.5-flash-image-preview"
}

编辑:

{
  "prompt": "Remove the person in the background and add a rainbow",
  "baseImage": "data:image/png;base64,...",
  "provider": "GEMINI"
}

重新起草V3⭐ 新

#1个全球排名的模型(ELO 1172,72%的获胜率),具有独特的矢量生成和完美的文本渲染:

标志设计:

{
  "prompt": "A modern tech startup logo with the text 'ACME' in a clean, minimalist style",
  "provider": "RECRAFT",
  "width": 1024,
  "height": 1024
}

大量文本营销材料:

{
  "prompt": "A professional marketing poster with the headline 'Summer Sale 50% OFF' and subtext 'Limited Time Only'",
  "provider": "RECRAFT",
  "width": 1024,
  "height": 1024
}

矢量插图(SVG):

{
  "prompt": "A vector illustration of a mountain landscape in flat design style",
  "provider": "RECRAFT",
  "width": 1024,
  "height": 1024
  // Will automatically use vector_illustration style
}

数字艺术:

{
  "prompt": "A digital illustration of a futuristic city with neon lights",
  "provider": "RECRAFT",
  "width": 1024,
  "height": 1024
}

写实摄影:

{
  "prompt": "A photorealistic image of a modern office workspace with natural lighting",
  "provider": "RECRAFT",
  "width": 1024,
  "height": 768  // Supports custom dimensions
}

最适合: 标志、品牌、平面设计、文字密集的图像(海报、包装)、矢量图形、专业营销材料。

表意文字V3⭐ 升级

业界领先的增强照片级真实感文本渲染(2025年3月发布):

{
  "prompt": "A vintage poster with the text 'SUMMER FESTIVAL 2025' in bold retro typography",
  "provider": "IDEOGRAM",
  "model": "V_3"  // Latest model with enhanced capabilities
}

快速生成:

{
  "prompt": "Quick logo mockup with text 'TechCo'",
  "provider": "IDEOGRAM",
  "model": "V_3_TURBO"  // Faster V3 variant
}

利奥纳多。人工智能

转盘和系列的字符一致性:

{
  "prompt": "A friendly robot mascot waving hello, consistent character design",
  "provider": "LEONARDO",
  "model": "leonardo-diffusion-xl"
}

法尔·艾

超快速生成,实现快速迭代:

{
  "prompt": "Quick sketch of a product mockup",
  "provider": "FAL",
  "model": "fast-sdxl"  // 50-100ms generation!
}

BFL/流量

业界领先的照片级真实感质量:

{
  "prompt": "Professional headshot of a business executive in modern office",
  "provider": "BFL",
  "model": "flux-pro"
}

Clipdrop

高级编辑和后处理:

{
  "prompt": "Remove background",
  "baseImage": "data:image/png;base64,...",
  "provider": "CLIPDROP"
}

供应商能力

提供者 生成 编辑 最大尺寸 型号 特殊功能
模拟 ✅ ✅ 256×256 模拟-v1 仅用于测试
招聘⭐ ✅ ❌ 2048×2048 全局重绘3 #1,矢量/SVG输出,完美文本
OpenAI ✅ ✅ 1792×1792 dall-e-3,gpt-image 1 高品质,富有创意
稳定性 ✅ ✅ 1536×1536 SD3.5,SD-XL,图像核心 写实主义,艺术
莱昂纳多 ✅ ❌ 1536×1536 莱昂纳多模型 角色一致性
表意文字⭐ ✅ ✅ 2048×2048 V_3,V_3_TURBO,V_2 出色的文本,增强的照片级真实感
BFL/通量 ✅ ❌ 2048×2048 Flux Pro,Dev,Schnell 超高分辨率
法尔 ✅ ❌ 1920×1440 快速SDXL变体 超高速(50-300ms)
剪辑 ✅ ✅ 2048×2048 各种 背景/对象删除
复制 ✅ ❌ 2048×2048 通量,SDXL变体 开放式模型访问
双子座 ✅ ✅ 3072×3072 Gemini 2.5闪光图像 多模态理解

注意:所有Gemini图像都包含SynthID水印。需要Blaze定价计划。

后备链

当提供程序发生故障或未配置时,系统会自动回退:

RECRAFT → BFL → OPENAI → LEONARDO → IDEOGRAM → STABILITY → GEMINI → FAL → REPLICATE → MOCK

更新以优先考虑Recraft V3(全球排名第一)和BFL Flux(超高质量)。

或使用 provider: "auto" 根据您的提示内容进行智能选择。

你可以用以下命令覆盖它 DEFAULT_PROVIDER 环境变量。

要完全禁用回退并仅使用指定的提供程序,请设置 DISABLE_FALLBACK=true这确保了如果所请求的提供商不可用,系统将失败,而不是退回到另一个提供商。

发展

构建

npm run build

类型检查

npm run typecheck

运行测试

npm test

项目结构

image-gen-mcp-server/
├── src/
│   ├── index.ts           # MCP server entry
│   ├── config.ts          # Provider management
│   ├── types.ts           # TypeScript types & Zod schemas
│   ├── services/
│   │   └── providerSelector.ts  # Intelligent provider selection
│   ├── util/
│   │   └── logger.ts      # Logging utility
│   └── providers/
│       ├── base.ts        # Abstract provider class
│       ├── mock.ts        # Mock provider
│       ├── openai.ts      # OpenAI DALL-E
│       ├── stability.ts   # Stability AI
│       ├── replicate.ts   # Replicate
│       ├── gemini.ts      # Google Gemini
│       ├── ideogram.ts    # Ideogram (text rendering)
│       ├── leonardo.ts    # Leonardo.AI (consistency)
│       ├── fal.ts         # Fal.ai (ultra-fast)
│       ├── bfl.ts         # Black Forest Labs Flux
│       └── clipdrop.ts    # Clipdrop (post-processing)

架构说明

  • 标准运输:使用MCP stdio协议实现最大的客户端兼容性
  • 智能选择:分析提示以自动选择最佳提供程序
  • 数据URL:返回的图像为base64数据URL,用于直接预览(警告大于5MB)
  • 断路器:用于回退决策的智能错误分类
  • 提供者模式:具有抽象基类的可插拔适配器
  • 最小依赖性:只有精益部署的基本包

真实世界用例

🛍️ 电子商务产品摄影

// Generate professional product shots without expensive photography
const productShot = await generate({
  prompt: "Professional product photography of luxury smartwatch on marble surface, studio lighting, 4K quality",
  provider: "BFL",  // Ultra-high resolution photorealism
  width: 2048,
  height: 2048
});

// Change background for different campaigns
const lifestyleShot = await edit({
  prompt: "Place on wooden desk with plants and natural window lighting",
  baseImage: productShot.images[0].path,
  provider: "GEMINI"  // Excellent at complex scene transformations
});

🎨 营销活动资产

// Generate poster with perfect text rendering
const summerSale = await generate({
  prompt: "Professional marketing poster with headline 'Summer Sale 50% OFF' and subtext 'Limited Time Only', beach theme with vibrant colors",
  provider: "RECRAFT",  // #1 for text rendering
  width: 1024,
  height: 1024
});

// Create matching social media variants
const instagramPost = await edit({
  prompt: "Crop to square format and add 'Shop Now' button at bottom",
  baseImage: summerSale.images[0].path,
  provider: "OPENAI"
});

🏢 品牌标识和标志

// Design startup logo with text
const logo = await generate({
  prompt: "Modern tech startup logo with text 'ACME', clean minimalist style with geometric icon",
  provider: "RECRAFT",  // Perfect text + vector output (SVG)
  width: 1024,
  height: 1024
});

// Generate alternative poster variant
const poster = await generate({
  prompt: "Vintage poster design with text 'SUMMER FESTIVAL 2025' in bold retro typography",
  provider: "IDEOGRAM",  // Industry-leading text rendering
  model: "V_3"
});

📱 社交媒体内容管道

// Generate consistent brand mascot
const mascot1 = await generate({
  prompt: "Friendly robot mascot waving hello, consistent character design for social media",
  provider: "LEONARDO",  // Best for character consistency
  seed: 42  // Same seed ensures consistency
});

const mascot2 = await generate({
  prompt: "Same friendly robot mascot explaining features, consistent character design",
  provider: "LEONARDO",
  seed: 42  // Reuse seed for carousel consistency
});

⚡ 快速设计迭代

// Ultra-fast concept generation for client review
const concepts = await Promise.all([
  generate({ prompt: "Option A: Modern minimal design", provider: "FAL" }),
  generate({ prompt: "Option B: Bold colorful design", provider: "FAL" }),
  generate({ prompt: "Option C: Elegant luxury design", provider: "FAL" })
]);
// All 3 concepts generated in under 5 seconds!

// Refine winning concept with high quality
const final = await generate({
  prompt: "Refined version of Option C with luxury aesthetic",
  provider: "BFL"  // Production-quality output
});

🎬 内容创建者工作流

// Generate YouTube thumbnail with text
const thumbnail = await generate({
  prompt: "Eye-catching YouTube thumbnail with bold text 'TOP 10 TIPS', vibrant background",
  provider: "IDEOGRAM",
  width: 1920,
  height: 1080
});

// Remove background for overlay effects
const transparent = await edit({
  prompt: "Remove background, keep only the main subject",
  baseImage: thumbnail.images[0].path,
  provider: "CLIPDROP"  // Specialized background removal
});

故障排除

“未配置提供程序”

将所需的API密钥添加到 .env 文件。

大图像警告

超过5MB的图像会触发警告。对于生产,请考虑外部存储(S3/CDN)。

超时错误

默认超时为30秒(Gemini为60秒)。缓慢的供应商可能需要调整。

模拟提供者返回小图像

Mock限制为256×256用于测试。使用真实提供商获得完整分辨率。

许可证

麻省理工学院

后续步骤

  1. 从首选提供商处获取API密钥(请参阅 API密钥 部分)
  2. 将MCP服务器添加到MCP客户端配置中(请参阅 配置 部分)
  3. 将API密钥添加到 env 配置中的字段
  4. 重新启动MCP客户端(克劳德桌面、克劳德代码、光标等)
  5. 测试服务器:“使用image_health_ping检查映像生成器mcp服务器状态”
  6. 生成第一张图片:“使用image_Generate生成宁静的山景”

有关当地发展或贡献,请参阅 开发设置 部分。