使用说明
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编码的图像或URLprompt(必填):所需更改的描述mask:可选遮罩图像provider:要使用的提供程序(默认值:“OpenAI”)model:要使用的模型(默认值:“dall-e-2”)size:输出图像大小numberOfImages:要生成的图像数量(默认值:1)
create_variation
创建现有图像的变体。
参数:
image(必填):Base64编码的图像或URLprovider:要使用的提供程序(默认值:“OpenAI”)model:要使用的模型(默认值:“dall-e-2”)size:输出图像大小numberOfImages:变量数量(默认值:1)
list_提供者
列出所有可用的提供商及其功能。
建筑
核心组件
-
AiGeekSquad。图像生成器。核心:具有抽象和提供者实现的核心库
IImageGenerationProvider:图像生成提供程序的接口IImageGenerationService:用于管理多个提供商的服务ImageProviderBase:基类便于提供程序实现ProviderCapabilities:有关提供程序功能的元数据
-
AiGeekSquad。图像生成器。工具:MCP服务器实现
ImageGenerationTools:MCP工具实现Program.cs:服务器配置和启动
-
AiGeekSquad。图像生成器。测试:使用xUnit的综合测试套件
可扩展性
添加新的提供者很简单:
- 创建一个继承自的类
ImageProviderBase - 实现所需的抽象成员
- 在中注册提供商
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许可证-有关详细信息,请参阅许可证文件
贡献
欢迎投稿!请随时提交拉取请求或未决问题。
致谢
- 内置 模型上下文协议SDK
- 用途 微软。扩展。人工智能
- 与集成 Azure OpenAI SDK
- 与集成 谷歌云人工智能平台
