AI图像生成工具

一个基于.NET MCP协议的AI图像生成工具,支持多种AI模型(如OpenAI的DALL-E和Google的Imagen),提供图像生成、编辑和变体功能。

  • by AIGeekSquad
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 AIGeekSquad/image-generator

使用说明

AiGeekSquad。图像生成器

A.NET MCP(模型上下文协议)工具,用于使用各种提供商(包括OpenAI(DALL-E、GPT图像模型)和谷歌(Imagen))生成AI驱动的图像。

特性

  • 🎨 多个供应商:支持OpenAI和谷歌AI平台
  • 🔧 可扩展架构:轻松添加自定义图像生成提供程序
  • 🎯 最新款式:支持DALL-E 3、GPT映像1、GPT-5映像(未来)和映像3
  • 🔄 响应API:通过编辑和变化进行迭代图像处理
  • 🛠️ MCP集成:与MCP兼容的AI助手无缝协作
  • ⚡ 现代C#:内置。NET 9.0和最新的C#功能
  • ✅ 测试良好:使用xUnit的全面测试覆盖率
  • 📦 NuGet包:全球安装方便。NET工具

支持的操作

生成图像

使用各种AI模型从文本提示中创建图像。

编辑图像

基于文本描述修改现有图像(OpenAI DALL-E 2)。

创建变体

生成现有图像的变体(OpenAI DALL-E 2)。

列出提供商

获取有关可用提供商及其功能的信息。

支持的型号

开放人工智能

  • dall-e-3 -最新一代高质量图像
  • dall-e-2 -上一代(支持编辑和变体)
  • gpt-image-1 -新的基于GPT的映像生成
  • gpt-5-image -未来GPT-5图像功能(占位符)

谷歌

  • imagen-3.0-generate-001 -最新Imagen型号
  • imagen-3.0-fast-generate-001 -速度优化
  • imagegeneration@006 -图2

安装

作为一个全球。NET工具(推荐)

dotnet tool install --global AiGeekSquad.ImageGenerator

更新现有安装

dotnet tool update --global AiGeekSquad.ImageGenerator

来源

git clone https://github.com/AIGeekSquad/image-generator.git
cd image-generator
dotnet pack src/AiGeekSquad.ImageGenerator.Tool/AiGeekSquad.ImageGenerator.Tool.csproj --configuration Release
dotnet tool install --global --add-source ./nupkg AiGeekSquad.ImageGenerator

配置

环境变量

# OpenAI (required for OpenAI provider)
export OPENAI_API_KEY="your-openai-api-key"

# Optional: Azure OpenAI
export OPENAI_ENDPOINT="https://your-resource.openai.azure.com"

# Google (optional)
export GOOGLE_PROJECT_ID="your-google-cloud-project-id"

应用程序参数

或者,创建一个 appsettings.json 工具目录中的文件:

{
  "OpenAI": {
    "ApiKey": "your-openai-api-key",
    "Endpoint": "",
    "DefaultModel": "dall-e-3"
  },
  "Google": {
    "ProjectId": "your-google-cloud-project-id",
    "Location": "us-central1",
    "DefaultModel": "imagen-3.0-generate-001"
  }
}

用法

作为MCP服务器

添加到您的MCP配置中(例如,在GitHub Copilot或Claude Desktop中):

{
  "mcpServers": {
    "image-generator": {
      "command": "aigeeksquad-imagegen",
      "args": [],
      "env": {
        "OPENAI_API_KEY": "your-api-key"
      }
    }
  }
}

命令行

安装后,运行该工具:

aigeeksquad-imagegen

该工具启动一个通过stdio通信的MCP服务器。

MCP工具

generate_image

从文本提示生成图像。

参数:

  • prompt (必填):图像的文字描述
  • provider:要使用的提供程序(默认值:“OpenAI”)
  • model:要使用的模型(例如,“dall-e-3”、“gpt-image 1”)
  • size:图像大小(例如,“1024x1024”、“1792x1024”)
  • quality:图像质量(“标准”或“高清”)
  • style:图像风格(“生动”或“自然”)
  • numberOfImages:要生成的图像数量(默认值:1)

edit_image

根据提示编辑现有图像。

参数:

  • image (必填):Base64编码的图像或URL
  • prompt (必填):所需更改的描述
  • mask:可选遮罩图像
  • provider:要使用的提供程序(默认值:“OpenAI”)
  • model:要使用的模型(默认值:“dall-e-2”)
  • size:输出图像大小
  • numberOfImages:要生成的图像数量(默认值:1)

create_variation

创建现有图像的变体。

参数:

  • image (必填):Base64编码的图像或URL
  • provider:要使用的提供程序(默认值:“OpenAI”)
  • model:要使用的模型(默认值:“dall-e-2”)
  • size:输出图像大小
  • numberOfImages:变量数量(默认值:1)

list_提供者

列出所有可用的提供商及其功能。

建筑

核心组件

  • AiGeekSquad。图像生成器。核心:具有抽象和提供者实现的核心库

    • IImageGenerationProvider:图像生成提供程序的接口
    • IImageGenerationService:用于管理多个提供商的服务
    • ImageProviderBase:基类便于提供程序实现
    • ProviderCapabilities:有关提供程序功能的元数据
  • AiGeekSquad。图像生成器。工具:MCP服务器实现

    • ImageGenerationTools:MCP工具实现
    • Program.cs:服务器配置和启动
  • AiGeekSquad。图像生成器。测试:使用xUnit的综合测试套件

可扩展性

添加新的提供者很简单:

  1. 创建一个继承自的类 ImageProviderBase
  2. 实现所需的抽象成员
  3. 在中注册提供商 Program.cs

例子:

public class CustomImageProvider : ImageProviderBase
{
    public override string ProviderName => "Custom";
    
    protected override ProviderCapabilities Capabilities { get; } = new()
    {
        ExampleModels = new List<string> { "custom-model-1" },
        SupportedOperations = new List<ImageOperation> { ImageOperation.Generate },
        DefaultModel = "custom-model-1",
        AcceptsCustomModels = true
    };

    public override async Task<ImageGenerationResponse> GenerateImageAsync(
        ImageGenerationRequest request,
        CancellationToken cancellationToken = default)
    {
        // Implementation
    }
}

发展

构建

dotnet build

测试

dotnet test

在本地运行

cd src/AiGeekSquad.ImageGenerator.Tool
dotnet run

需求

  • .NET 9.0 SDK或更高版本
  • OpenAI API密钥(用于OpenAI提供商)
  • 启用Vertex AI的Google Cloud项目(适用于Google提供商,可选)

许可证

MIT许可证-有关详细信息,请参阅许可证文件

贡献

欢迎投稿!请随时提交拉取请求或未决问题。

致谢