AI图像生成服务

一个基于Model Context Protocol(MCP)的AI图像生成服务,提供图像生成、审批和再生工作流,适用于需要高质量图像生成的场景。

  • by jhacksman
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jhacksman/MCP-Server-TEST1

使用说明

威尼斯AI图像生成器MCP服务器

该项目实现了一个模型上下文协议(MCP)服务器,该服务器与Venice AI集成,用于生成具有审批/再生工作流的图像。

什么是MCP?

模型上下文协议(MCP)是一个开放协议,它规范了应用程序如何向大型语言模型(LLM)提供上下文。它充当“AI应用程序的USB-C端口”,允许LLM以标准化的方式连接到各种数据源和工具。

有关更多信息,请访问 MCP官方介绍页面.

项目概述

此MCP服务器在LLM(如Claude)和Venice AI的图像生成功能之间提供了桥梁。它使LLM能够根据文本提示生成图像,并实现了一个带有竖起大拇指/向下大拇指反馈的交互式审批工作流。

主要特点

使用审批工作流生成图像

此服务器的核心功能是:

  1. 基于文本提示使用Venice AI生成图像
  2. 通过直接覆盖在图像上的可点击的拇指向上/向下图标向用户显示生成的图像
  3. 允许用户批准图像(点击大拇指向上)或请求重新生成(点击大拇指向下)
  4. 如果需要,使用相同的参数重新生成图像

技术实现

服务器实现了几个MCP工具:

  • 生成便利图像:从文本提示创建图像,并将其与审批选项一起返回
  • approve_image:当用户竖起大拇指时,将图像标记为已批准
  • 再生图像:当用户向下竖起大拇指时,使用相同的参数创建新图像
  • list_available_models:提供有关可用Venice AI模型的信息

用户体验

从用户的角度来看,交互流程是:

  1. 用户提供文本提示以生成图像
  2. LLM调用MCP服务器生成映像
  3. LLM显示图像,可点击的拇指向上/向下图标直接叠加在图像上
  4. 用户单击图像上的大拇指向上图标以批准,或单击大拇指向下图标以重新生成
  5. 如果拇指向下,则重复该过程,直到用户批准图像

建筑

服务器遵循MCP客户端-服务器架构:

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│             │     │             │     │             │
│  LLM Host   │◄────┤  MCP Server │◄────┤  Venice AI  │
│ (e.g. Claude)│     │             │     │    API     │
│             │     │             │     │             │
└─────────────┘     └─────────────┘     └─────────────┘
  1. LLM 主持人:运行LLM的应用程序(例如Claude)
  2. MCP服务器:我们的服务器实现MCP协议并连接到Venice AI
  3. 威尼斯AI API:生成图像的外部服务

实现细节

MCP服务器组件

服务器由以下部分组成:

  1. FastMCP服务器:处理MCP协议通信的核心服务器
  2. 威尼斯AI集成:与威尼斯人工智能API接口的代码
  3. 图像缓存:用于跟踪生成的图像及其批准状态的内存存储
  4. 工具定义:LLM可以调用以与服务器交互的函数

数据流

  1. LLM收到用户的提示
  2. LLM称 generate_venice_image 带有提示的工具
  3. 服务器向Venice AI API发送请求
  4. Venice AI生成图像并返回URL
  5. 服务器缓存图像详细信息,并返回带有批准选项的URL
  6. LLM向用户显示图像和批准选项
  7. 用户选择竖起大拇指或向下大拇指
  8. LLM呼叫 approve_image 或 regenerate_image 基于用户选择
  9. 如果再生,则从步骤3开始重复该过程

示例用法

当连接到像Claude这样的LLM时,交互如下:

User: Generate an image of a futuristic city skyline
Claude: I'll generate that image for you using Venice AI.

[Image of futuristic city skyline with clickable 👍 and 👎 icons overlaid on the image]

User: 👎 (Thumbs down)
Claude: Let me generate a new version for you.

[New image of futuristic city skyline with clickable 👍 and 👎 icons overlaid on the image]

User: 👍 (Thumbs up)
Claude: Great! I've saved this approved image for you.

Gemini集成用于多视图生成

用户批准图像后(通过单击向上的大拇指图标),系统会通过Google的Gemini API自动处理批准的图像,以生成3D对象的多个一致视图:

  1. 批准的Venice AI图像用作Gemini视图生成脚本的输入
  2. 依次生成四个不同的视图:
    • 前视图(0°)-首先生成
    • 右视图(90°)-前视图完成后生成
    • 左视图(270°)-右视图完成后生成
    • 后视图(180°)-左视图完成后生成
  3. 每个视图在可用时都以4-up布局显示
  4. 每个脚本在执行之前都会等待前一个脚本成功完成

4-Up视图审批流程

四个生成的视图中的每一个都有自己的竖起/放下大拇指的审批系统:

  1. 4向上显示中的每个视图都有覆盖在图像上的拇指向上/向下图标
  2. 如果用户对任何特定视图选择向下大拇指:
    • 再次运行该视图的相应Python脚本
    • 新生成的图像将替换4-up显示器中被拒绝的图像
    • 重复此过程,直到用户竖起大拇指批准图像
  3. 每个视图都可以单独批准或重新生成

3D模型生成

一旦所有四个视图都获得批准:

  1. 原始的Venice AI图像和四个经批准的Gemini生成的视图是使用 CUDA多视图立体
  2. 此处理发生在网络上的专用Linux服务器上
  3. CUDA多视图立体系统将2D图像转换为3D模型

这种多视图生成利用Gemini的对象一致性功能,从不同角度创建3D对象的连贯表示,同时保持与原始威尼斯AI图像相同的风格、颜色和比例。

未来的增强功能

未来可能的改进包括:

  1. 永久存储:将批准的图像保存到数据库
  2. 图像编辑:允许用户请求对生成的图像进行特定修改
  3. 多图像生成:一次生成多个变体供用户选择
  4. 其他视图:生成超出四个基本方向的更多角度

威尼斯AI集成

该服务器与Venice AI的图像生成API集成,提供高质量的图像生成能力。API允许:

  • 根据文本提示生成图像
  • 自定义图像尺寸
  • 调整发电参数
  • 为不同的风格使用不同的模型

入门指南

要实现此服务器,您需要:

  1. 安装FastMCP库
  2. 设置威尼斯AI API证书
  3. 按照说明实施MCP工具
  4. 运行服务器并将其连接到LLM主机

MCP资源

有关模型上下文协议以及如何构建MCP服务器的更多信息,请查看以下资源: