Venice AI Image Generator MCP Server について
Venice AI Image Generator MCP Serverは、Venice AIの画像生成をLLMに接続し、画像の承認と再生成を行います。承認後はGeminiで4方向の画像を作成し、3D再構築に利用できます。
主な機能
- 01テキストプロンプトから画像を生成
- 02メイン画像の承認と再生成
- 03Venice AIモデルの一覧表示
- 04Geminiによる4方向画像の生成
- 05各ビューの個別承認と再生成
- 06承認済みビューによる3D再構築
活用シーン
- 01LLM経由のプロンプトによる画像生成
- 02承認まで画像を繰り返し調整
- 03承認画像からオブジェクトの複数ビューを作成
- 04承認ビューを3Dモデル再構築に利用
MCP 対応
MCP サーバーは、画像生成、承認、再生成、モデル一覧表示のツールをMCPクライアントに提供し、Venice AIに接続します。承認画像はGeminiによる複数ビュー生成にも使われます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Venice AI 画像生成 MCP サーバー
このプロジェクトは、承認/再生成ワークフローを備えた画像生成のために Venice AI と連携する Model Context Protocol(MCP)サーバーを実装しています。
MCP とは?
Model Context Protocol(MCP)は、アプリケーションが LLM(大規模言語モデル)にコンテキストを提供する方法を標準化するオープンプロトコルです。「AI アプリケーションの USB-C ポート」として機能し、LLM がさまざまなデータソースやツールに標準化された方法で接続できるようにします。
詳しくは、MCP の公式紹介ページをご覧ください。
プロジェクト概要
この MCP サーバーは、LLM(Claude など)と Venice AI の画像生成機能をつなぐブリッジを提供します。LLM がテキストプロンプトに基づいて画像を生成できるようにし、賛成/反対の評価を使った対話型の承認ワークフローを実装します。
主な機能
承認ワークフロー付き画像生成
このサーバーの主な機能は次のとおりです。
- テキストプロンプトに基づいて Venice AI で画像を生成します
- 生成した画像の上に、クリック可能な賛成/反対のアイコンを直接重ねてユーザーに表示します
- ユーザーが画像を承認する(賛成アイコンをクリックする)か、再生成をリクエストする(反対アイコンをクリックする)ことを可能にします
- リクエストがあった場合、同じパラメーターで画像を再生成します
技術的な実装
このサーバーは、複数の MCP ツールを実装しています。
- generate_venice_image:テキストプロンプトから画像を作成し、承認オプションとともに返します
- approve_image:ユーザーが賛成を選択したときに、画像を承認済みとして記録します
- regenerate_image:ユーザーが反対を選択したときに、同じパラメーターで新しい画像を作成します
- list_available_models:利用可能な Venice AI モデルの情報を提供します
ユーザーエクスペリエンス
ユーザーから見た操作の流れは次のとおりです。
- ユーザーが画像生成用のテキストプロンプトを入力します
- LLM が画像を生成するために MCP サーバーを呼び出します
- LLM が画像の上に、クリック可能な賛成/反対のアイコンを直接重ねて表示します
- ユーザーが画像上の賛成アイコンをクリックして承認するか、反対アイコンをクリックして再生成します
- 反対が選択された場合、ユーザーが画像を承認するまで処理を繰り返します
アーキテクチャ
このサーバーは、MCP のクライアント/サーバーアーキテクチャに従っています。
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ │ │ │ │
│ LLM Host │◄────┤ MCP Server │◄────┤ Venice AI │
│ (e.g. Claude)│ │ │ │ API │
│ │ │ │ │ │
└─────────────┘ └─────────────┘ └─────────────┘
- LLM ホスト:LLM(Claude など)を実行するアプリケーション
- MCP サーバー:MCP プロトコルを実装し、Venice AI に接続するサーバー
- Venice AI API:画像を生成する外部サービス
実装の詳細
MCP サーバーのコンポーネント
このサーバーは次の要素で構成されます。
- FastMCP サーバー:MCP プロトコルの通信を処理する中核のサーバー
- Venice AI との連携:Venice AI API とやり取りするコード
- 画像キャッシュ:生成された画像とその承認ステータスを追跡するためのメモリー内ストレージ
- ツール定義:LLM がサーバーとやり取りするために呼び出す関数
データフロー
- LLM がユーザーからプロンプトを受け取ります
- LLM がプロンプトを指定して
generate_venice_imageツールを呼び出します - サーバーが Venice AI API にリクエストを送信します
- Venice AI が画像を生成し、URL を返します
- サーバーが画像の詳細をキャッシュし、承認オプションとともに URL を返します
- LLM が画像と承認オプションをユーザーに表示します
- ユーザーが賛成または反対を選択します
- ユーザーの選択に応じて、LLM が
approve_imageまたはregenerate_imageを呼び出します - 再生成する場合、ステップ 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オブジェクトの一貫性のある複数のビューを生成します。
- 承認済みのVenice AI画像を、Geminiのビュー生成スクリプトへの入力として使用します
- 4つの異なるビューを順番に生成します:
- 正面ビュー(0°) - 最初に生成
- 右側面ビュー(90°) - 正面ビューの生成完了後に生成
- 左側面ビュー(270°) - 右側面ビューの生成完了後に生成
- 背面ビュー(180°) - 左側面ビューの生成完了後に生成
- 各ビューは利用可能になり次第、4分割レイアウトで表示されます
- 各スクリプトは、前のスクリプトが正常に完了するまで実行を待機します
4分割ビューの承認プロセス
生成された4つのビューには、それぞれ独自の親指を立てる/下げる承認システムがあります。
- 4分割表示の各ビューでは、画像上に親指を立てる/下げるアイコンが重ねて表示されます
- ユーザーが特定のビューで親指を下げるアイコンを選択した場合:
- そのビューに対応するPythonスクリプトを再実行します
- 新たに生成された画像で、4分割表示の却下された画像を置き換えます
- ユーザーが親指を立てるアイコンで画像を承認するまで、この処理を繰り返します
- 各ビューは個別に承認または再生成できます
3Dモデルの生成
4つすべてのビューが承認されると:
- 元のVenice AI画像と、Geminiで生成され承認された4つのビューを、CUDA Multi-View Stereoを使用して処理します
- この処理は、ネットワーク上の専用Linuxサーバーで実行されます
- CUDA Multi-View Stereoシステムが2D画像を3Dモデルに変換します
このマルチビュー生成では、Geminiのオブジェクト一貫性機能を活用し、元のVenice AI画像と同じスタイル、色、プロポーションを保ちながら、異なる角度から見た3Dオブジェクトの一貫性のある表現を作成します。
今後の機能強化
今後の改善案には、次のようなものがあります:
- 永続ストレージ:承認済みの画像をデータベースに保存します
- 画像編集:生成された画像に対して、ユーザーが特定の変更をリクエストできるようにします
- 複数画像の生成:一度に複数のバリエーションを生成し、ユーザーが選べるようにします
- ビューの追加:基本の4方向を超える角度のビューを生成します
Venice AI連携
このサーバーは、高品質な画像生成機能を提供するVenice AIの画像生成APIと連携します。このAPIでは、次のことができます:
- テキストプロンプトから画像を生成する
- 画像の寸法をカスタマイズする
- 生成パラメーターを調整する
- スタイルに応じて異なるモデルを使用する
はじめに
このサーバーを実装するには、次の作業が必要です:
- FastMCPライブラリをインストールする
- Venice AI APIの認証情報を設定する
- 説明に従ってMCPツールを実装する
- サーバーを実行し、LLMホストに接続する
MCPリソース
Model Context Protocolの詳細や、MCPサーバーの構築方法については、次のリソースをご覧ください:
- MCPの概要 - Model Context Protocolの公式概要
- MCP SDK - Python、TypeScript、Java、Kotlin向けの公式SDK
- MCP GitHubリポジトリ - MCPの公式実装とサンプル
- LLMを使用したMCPの構築 - LLMを使用してMCPサーバーを構築するチュートリアル
- サンプルサーバー - MCPサーバーの公式実装を集めたギャラリー
- MCP Inspector - MCPサーバー向けの対話型デバッグツール
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。