图像生成服务

一个通过OpenRouter API支持多种AI模型生成图像的服务,适用于Claude Code及其他MCP客户端。

  • by scotthooker
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 scotthooker/OpenRouter-ImageGen-MCP

使用说明

OpenRouter 图像生成 MCP(或:OpenRouter 图像生成模型控制器/模块/组件,具体翻译取决于MCP在此上下文中的确切含义,但通常MCP可指代与模型控制或处理相关的组件)

一个模型上下文协议(MCP)服务器,它使Claude Code能够通过OpenRouter API使用多个AI模型生成图像。

🌐 代表“互联网”或“世界万维网”的符号,可翻译为“🌐(互联网/万维网)”。在实际语境中,可根据需要具体翻译为“互联网”或“万维网”。 访问我们的着陆页:imageroutermcp.com 用于交互式文档和示例!

为克劳德·科德而建 - 由Anthropic官方提供的Claude命令行界面(CLI)

特点/特性

  • 🎨(颜料/绘画) 多模型支持OpenAI GPT-5 图像模型,GPT-5 图像迷你版,Google Gemini 2.5 闪存图像模型
  • 💾 代表“软盘驱动器”或“存储设备”。 本地储蓄将生成的图像保存到您的文件系统
  • 🔄 翻译成中文是:循环/重复 灵活输入支持多种图像数据格式(URL、base64、数据URL)
  • ⚡(闪电符号,无直接对应中文翻译,可保持原样或根据上下文意译为“闪电”等) 类型安全使用TypeScript构建,确保可靠性
  • 🧪 试管(或化学实验) 经过充分测试全面的测试覆盖

支持的模型

模型 描述 最适合
openai/gpt-5-image 最高品质的通用型 专业品质的图像
openai/gpt-5-image-mini 更快速、均衡的品质 快速迭代
google/gemini-2.5-flash-image 快速Gemini模型 速度导向型任务
google/gemini-2.5-flash-image-preview 最新预览版(默认) 最新功能

安装

先决条件

快速设置(推荐)

  1. 一键克隆并设置

    git clone https://github.com/scotthooker/OpenRouter-ImageGen-MCP.git
    cd OpenRouter-ImageGen-MCP
    npm run setup
    
  2. 复制生成的配置

    • 这个 npm run setup 命令将显示您的自定义配置
    • 复制输出中显示的JSON配置
  3. 添加到Claude代码中

    • 开放 ~/.config/claude-code/mcp_settings.json (macOS/Linux)
    • 或者 %APPDATA%\Claude Code\mcp_settings.json (Windows)
    • 粘贴配置(如果文件不存在则创建)
    • 替换 your-openrouter-api-key-here 使用您实际的API密钥
  4. 重启Claude代码

手动设置

  1. 克隆仓库

    git clone https://github.com/scotthooker/OpenRouter-ImageGen-MCP.git
    cd OpenRouter-ImageGen-MCP
    
  2. 安装并构建

    npm install
    npm run build
    
  3. 生成配置

    npm run config
    

    这将向您展示您设置的确切配置。

  4. 获取您的OpenRouter API密钥

    • 在……注册 OpenRouter
    • 从您的仪表板生成API密钥

配置

为克劳德·科德(或根据具体语境可译为“致克劳德·科德”等)

这个(或:那个) npm run config 该命令会根据你克隆仓库的位置,生成你需要的确切配置。

配置文件位置:

  • macOS/Linux(可翻译为“苹果操作系统/类Unix操作系统”或直接保留原英文,根据上下文判断是否需要具体翻译): ~/.config/claude-code/mcp_settings.json
  • Windows: %APPDATA%\Claude Code\mcp_settings.json

示例配置:

{
  "mcpServers": {
    "openrouter-imagegen": {
      "command": "node",
      "args": [
        "/your/path/to/OpenRouter-ImageGen-MCP/dist/index.js"
      ],
      "env": {
        "OPENROUTER_API_KEY": "your-api-key-here"
      }
    }
  }
}

💡 灯泡(表示想法或灵感的出现) 小贴士跑 npm run config 随时查看您当前的配置

对于其他MCP客户端

设定 OPENROUTER_API_KEY 环境变量:

export OPENROUTER_API_KEY="your-api-key-here"
npm start

使用方法

一旦配置完成,Claude Code便能通过自然语言指令生成图像:

基本示例

在你的Claude Code终端中,只需询问:

"Generate a photorealistic sunset over mountains"

"Create a watercolor painting of a cat in a garden"

"Make a minimalist logo for a tech startup"

高级示例

"Generate a square image of a futuristic city at night, cyberpunk style, ultra HD"

"Create a landscape orientation image of a serene lake, oil painting style"

"Generate 3 variations of an abstract pattern, digital art style"

保存图像

"Generate an image of a dragon and save it as 'dragon_art'"

图像已保存至 generated_images 在您当前的工作目录中的文件夹。

与Claude代码一起使用

当您请求生成图像时,Claude Code 会自动检测并使用 MCP 服务器:

# Start Claude Code in your project directory
claude-code

# Then simply ask:
> "Generate a hero image for my landing page, modern gradient style"
> "Create an icon for my app, minimalist design, 512x512"
> "Generate a diagram showing microservices architecture"

可用工具

generate_image

使用人工智能模型生成图像。

参数:

  • prompt (必填):要生成的图像的文本描述
  • model (可选):要使用的模型ID(默认为 google/gemini-2.5-flash-image-preview)
  • save_to_file (可选):布尔值,决定是否将图像保存在本地
  • filename (可选):保存图像的基础文件名
  • show_full_response (可选):布尔值,是否包含完整的响应数据

示例:

{
  "prompt": "A serene mountain landscape at sunset",
  "model": "openai/gpt-5-image",
  "save_to_file": true,
  "filename": "mountain_sunset"
}

list_models

列出所有可用的图像生成模型及其描述。

发展

可用命令

设置与配置

npm run setup        # Complete setup: install, build, and show configuration
npm run config       # Generate MCP configuration for your installation path
npm install          # Install dependencies
npm run build        # Build the TypeScript project

跑步

npm start            # Start the MCP server
npm run dev          # Build and start in development mode

测试与质量

npm test             # Run all tests
npm run test:watch   # Run tests in watch mode
npm run test:coverage # Run tests with coverage report
npm run lint         # Lint TypeScript files
npm run lint:fix     # Auto-fix linting issues
npm run format       # Format code with Prettier
npm run format:check # Check code formatting
npm run typecheck    # Run TypeScript type checking

公共事业服务(或公用设施)

npm run clean        # Clean build artifacts and coverage
npm run website:serve    # Serve landing page locally
npm run website:validate # Validate website structure

📖 查看 网站/README.md 关于网站开发和部署的详细信息。

项目结构

├── src/
│   ├── config/           # Configuration constants
│   ├── domain/           # Domain models and errors
│   ├── services/         # Business logic services
│   ├── validators/       # Input validation
│   ├── formatters/       # Response formatting
│   ├── utils/            # Utility functions
│   ├── __tests__/        # Test suites
│   └── index.ts          # Main entry point
├── website/              # Landing page (imageroutermcp.com)
│   ├── index.html        # Main landing page
│   ├── styles.css        # Styling
│   ├── script.js         # Interactive features
│   └── README.md         # Website documentation
├── dist/                 # Compiled JavaScript
└── generated_images/     # Saved images (created automatically)

建筑学

遵循SOLID原则构建,采用清晰架构:

  • **关注点分离(或译为“职责分离”)**每个模块都只负责一项任务
  • 依赖注入服务之间是松耦合的
  • 类型安全全面支持TypeScript
  • 可测试性全面的单元测试和集成测试

故障排除

“API密钥未设置”错误

  • 确保 OPENROUTER_API_KEY 在您的环境或配置文件中已设置
  • 验证密钥是否以……开头 sk-or-

“模型不受支持”错误

  • 检查模型ID是否与支持的模型之一匹配
  • 使用 list_models 查看可用选项的工具

图片无法保存

  • 检查当前目录的写入权限
  • 验证 generated_images 可以创建文件夹

贡献

欢迎投稿!请:

  1. 为仓库创建分支(或“克隆仓库”)
  2. 创建一个特性分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 提交一个拉取请求

许可证

MIT 许可证 - 请参阅 许可证 详情请查阅文件。

致谢

支持

  • 🌐 代表“互联网”或“全球网络”的符号,可翻译为“🌐(表示互联网或全球网络)”或根据上下文简化为“🌐(互联网/网络)”。不过,直接翻译时,这个符号本身没有具体的中文对应词汇,更多是根据其含义来解释。 网站 - 交互式文档和示例
  • 📪 报告问题
  • 💬 讨论

为MCP社区用心打造

OpenRouter-ImageGen-MCP