文本转图像生成服务

一个基于Stable Diffusion WebUI API的MCP服务器,提供文本到图像的生成功能。

  • by Ichigo3766
  • JavaScript
  • 本地部署
  • 45 星标
  • 更新于
在 GitHub 查看 Ichigo3766/image-gen-mcp

使用说明

图像生成MCP服务器

MCP服务器,使用Stable Diffusion WebUI API(ForgeUI/AUTOMATIC-1111)提供文本到图像生成功能。

安装

先决条件

  • Node.js
  • 访问已启用API的稳定扩散WebUI实例
  • WebUI必须具有 --api 启动时启用标记

设置

  1. 克隆存储库:
git clone https://github.com/Ichigo3766/image-gen-mcp.git
cd image-gen-mcp
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build
  1. 将服务器配置添加到您的环境中:
{
  "mcpServers": {
    "image-gen": {
      "command": "node",
      "args": [
        "/path/to/image-gen-mcp/build/index.js"
      ],
      "env": {
        "SD_WEBUI_URL": "http://your-sd-webui-url:7860",
        "SD_AUTH_USER": "your-username",  // Optional: if authentication is enabled
        "SD_AUTH_PASS": "your-password",  // Optional: if authentication is enabled
        "SD_OUTPUT_DIR": "/path/to/output/directory",
        "SD_RESIZE_MODE": "0",           // Optional: upscaling mode (0=multiplier, 1=dimensions)
        "SD_UPSCALE_MULTIPLIER": "4",    // Optional: default upscale multiplier
        "SD_UPSCALE_WIDTH": "512",       // Optional: default upscale width
        "SD_UPSCALE_HEIGHT": "512",      // Optional: default upscale height
        "SD_UPSCALER_1": "R-ESRGAN 4x+", // Optional: default primary upscaler
        "SD_UPSCALER_2": "None"          // Optional: default secondary upscaler
      }
    }
  }
}

将环境变量替换为您的值:

  • SD_WEBUI_URL:您的Stable Diffusion WebUI实例的URL
  • SD_AUTH_USER:基本身份验证的用户名(如果启用)
  • SD_AUTH_PASS:基本身份验证密码(如果启用)
  • SD_OUTPUT_DIR:保存生成图像的目录
  • SD_RESIZE_MODE:默认放大模式(乘数为0,尺寸为1)
  • SD_UPSCALE_MULTIPLIER:resize_mode为0时的默认高档倍数
  • SD_UPSCALE_WIDTH:resize_mode为1时的默认目标宽度
  • SD_UPSCALE_HEIGHT:resize_mode为1时的默认目标高度
  • SD_UPSCALER_1:默认主升级模型
  • SD_UPSCALER_2:默认的二级升级模型

特性

工具

  • generate_image -使用稳定扩散生成图像

    • 参数:
      • prompt (必填):所需图像的文字描述
      • negative_prompt:要从图像中排除的内容
      • steps:采样步数(默认值:4,范围:1-150)
      • width:图像宽度(默认值:1024,范围:512-2048)
      • height:图像高度(默认值:1024,范围:512-2048)
      • cfg_scale:CFG比例(默认值:1,范围:1-30)
      • sampler_name:采样算法(默认值:“Euler”)
      • scheduler_name:调度程序算法(默认值:“简单”)
      • seed:随机种子(-1表示随机)
      • batch_size:要生成的图像数量(默认值:1,最大值:4)
      • restore_faces:启用面部恢复
      • tiling:生成可平铺图像
      • output_path:生成图像的自定义输出路径
  • get_sd_models -获取可用稳定扩散模型列表

    • 无需参数
    • 返回模型名称数组
  • set_sd_model -设置活动的稳定扩散模型

    • 参数:
      • model_name (必填):要设置为活动的模型的名称
  • get_sd_upscalers -获取可用升级型号列表

    • 无需参数
    • 返回一个升级器名称数组
  • upscale_images -使用稳定扩散放大一个或多个图像

    • 参数:
      • images (必需):要升级的图像文件路径数组
      • resize_mode:0表示乘数模式,1表示维度模式(默认值:from env)
      • upscaling_resize:resize_mode=0时的放大倍数(默认值:来自env)
      • upscaling_resize_w:resize_mode=1时的目标宽度(像素)(默认值:来自env)
      • upscaling_resize_h:resize_mode=1时的目标高度(像素)(默认值:from env)
      • upscaler_1:主升级模型(默认值:from env)
      • upscaler_2:辅助升级模型(默认值:来自env)
      • output_path:用于放大图像的自定义输出目录

发展

对于自动重建的开发:

npm run watch

错误处理

常见问题和解决方案:

  1. 确保您的Stable Diffusion WebUI正在运行 --api 旗帜
  2. 检查是否可以从运行MCP服务器的位置访问WebUI URL
  3. 如果使用身份验证,请确保凭据正确
  4. 验证输出目录是否存在以及是否具有写入权限
  5. 升级时,确保输入图像文件存在且可读

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。