Skip to main content
Glama

OpenRouter GenImage Kote for Claude Code

openrouter-genimage-kote は、OpenRouter を通じてラスター画像を生成・編集するネイティブ Claude Code プラグインです。主要ワークフローは画像から画像への変換(Image-to-image)です。このプラグインは、キャラクターやオブジェクトを維持したまま、ポーズ、服装、背景、照明、またはスタイルを変更でき、最大16枚の順序付き参照画像を使用できます。視覚的な参照を必要としない新しいアセット向けには、テキストから画像への変換(Text-to-image)も利用できます。

このプラグインは、固定の OpenRouter API オリジンに直接接続します。プロキシモード、KoteGateway、設定可能な API オリジン、ルート選択、外部画像ブローカーへの依存はありません。

Claude Code
    -> bundled local stdio MCP server
    -> direct HTTPS
    -> https://openrouter.ai/api/v1/
    -> generated file inside the primary project root

要件

  • Claude Code 2.1.216 以降。バージョン 2.1.216 は、このプラグインが修正されたプラグインスキルの名前空間動作と安全な userConfig 処理に依存しているため、サポートされる最小バージョンです。開発時の検証は Claude Code 2.1.241 に固定されています。

  • Node.js 20 以降が node として利用可能であること。

  • 個人用の OpenRouter API キー。

  • 要求する操作とパラメータをサポートする、正確な OpenRouter 画像モデル ID。

  • 任意: アカウントの全クレジット情報を参照するための OpenRouter 管理キー。

MCP ルートのリフレッシュ動作自体は Claude Code 2.1.203+ を必要としますが、このプラグインは上記の理由により、意図的に下限を 2.1.216 に引き上げています。

Related MCP server: openrouter-imgen-mcp

マーケットプレイスからインストールする

Claude Code で GitHub マーケットプレイスを追加します:

/plugin marketplace add koteyye/openrouter-genimage-kote-claude-code

プラグインをインストールします:

/plugin install openrouter-genimage-kote@kote-plugins

画像生成は料金が発生する可能性があるため、このプラグインはデフォルトで無効になっています。/plugin を開いて、後述の4つのオプションを構成し、プラグインを明示的に有効にします。シークレットは、対話型のプラグイン UI で入力します。実際の API キーはシェルコマンドの履歴に残るため、シェルコマンドに含めないでください。

設定後、プラグインコンポーネントを再読み込みします:

/reload-plugins

その後、MCP の状態を確認します:

/mcp

openrouter-images サーバーは接続され、3つのツールを公開しているはずです。

設定

プラグインを有効にすると、Claude Code は以下の userConfig 値を要求します:

設定項目

必須

用途

openrouter_api_key

はい

モデルの検出、生成、/key の使用状況データに使用される個人キー

openrouter_management_api_key

いいえ

はい

/credits でのみ使用。利用できない場合は空のまま

image_model

はい

いいえ

正確な OpenRouter 画像モデル ID。ツールで上書き不可

output_directory

はい

いいえ

プロジェクト相対のデフォルト出力ディレクトリ。デフォルトは assets/generated

機密の値はマスクされ、Claude Code の安全なストレージに保存されます。プラグインは、ローカル MCP プロセスの環境変数としてのみ受け取ります。管理キーが空の場合は、未設定として扱われます。

baseUrl、エンドポイント、ルーティング、プロバイダー、またはプロキシの設定は意図的に存在しません。モデルがネットワークルートを選択したり、別の画像モデルを黙って選択するという操作はできません。

ツール

MCP ツール

用途

確認

openrouter_edit_image

編集中の1つ以上の画像を編集・変換・変更・照合

すべての呼び出しで必須

openrouter_generate_image

参照なしで新しい画像を作成

すべての呼び出しで必須

openrouter_balance

キーの使用状況/上限と、任意のアカウント残高情報を読み取る

有料ツールの確認アノテーションなし

Claude Code のツールには、実行時に名前空間が付けられます。残高 (balance) スキルは、想定される名前 mcp__plugin_openrouter-genimage-kote_openrouter-images__openrouter_balance にスコープされ、Claude Code 2.1.241 のスキルおよび静的チェックで固定されています。ライブのツールリストに表示されるかどうかは、インタラクティブなリリースゲートチェックのまます。

有料ツールはすべて _meta["anthropic/requiresUserInteraction"] = true を公開するため、Claude Code は生成や編集のたびに明示的な承認を要求する必要があります。MCP サーバーは独自のプロンプトを実装せず、MCP 以外では stdin を読み取りません。

Image-to-image: 主要ワークフロー

Claude に、ワークスペース内のパスを編集するよう依頼します:

Make the background transparent in assets/character.png and save the result as
assets/character-transparent.png. Preserve the character, clothing, proportions,
and illustration style.

Claude は project_file 参照で openrouter_edit_image を呼び出します。ローカルの PNG、JPEG、または WebP は、実パス、サイズ、マジックバイトでチェックされ、メモリ上で base64 データ URL として送信されます。ソースファイルが変更されることはありません。

反復的な編集では、直前のツール呼び出しで返されたパスを参照します:

Create another variation of assets/generated/character-in-tavern.png with
evening lighting. Keep everything else as close as possible.

公開 HTTPS 参照

Use https://example.com/reference.webp as the visual reference and create a
matching inventory icon with a transparent background.

認証情報のない公開 https:// URL のみが受け入れられます。localhost、ループバック、リンクローカル、メタデータアドレス、http:、file:、data:、blob:、javascript: の入力は拒否されます。明示的な HTTPS 参照は、指定されたとおりに OpenRouter に渡されます。プラグインはその URL に OpenRouter の認証を付与しません。

複数の順序付けされた参照

Use assets/references/girl.png for identity and face,
assets/references/outfit.png for clothing only, and
https://example.com/style.webp for palette and lighting. Preserve that order.

Claude はプロンプトで各参照の役割を説明し、同じ順序で渡します。プラグインは、ソート、結合、削除、再解釈をしません。最初の参照は、通常、主要な被写体です。

チャットに貼り付けられた画像

公開 MCP インターフェイスでは、アクセス可能なワークスペースパスのみを受け付けます。または、公開 HTTPS URL を受け付けます。画像が Claude Code に貼り付けられても、モデルに利用可能な具体的なパスが公開されていない場合、Claude はパスを invent してはならず、未文書の Claude Code キャッシュを検索してはいけません。その場合は、添付ファイルをプロジェクト内(例: assets/references/source.png)に保存して、そのパスを提供するか、公開 HTTPS URL を提供してください。

サポートされている Claude Code リリースが具体的なパスを提供する場合、そのパスは、MCP ルートの検証を通過した後にのみ、通常の project_file として処理されます。

Image-to-image と Image の編集

既存のビジュアルに影響を与えない場合にのみ、画像からテキストへの変換 (image captioning) を使用してください。実際、このプラグインには、画像からプロンプトを生成するキャプション機能はありません。

Here is the correct statement:


テキストから画像への変換

既存のビジュアルが結果に影響を与えない時にのみ、テキストから画像への変換を使用してください:

Create a 1:1 inventory icon of one healing potion, centered with generous
padding, readable at small size, no text, transparent background, PNG.

デフォルトでは1つの結果が生成されます。複数の候補が必要な場合は、明示的に要求します。n は 1 から 10 まで可能です。追加の画像はコストを増加させる可能性があります。アスペクト比、背景、フォーマット、解像度、品質、圧縮、シードは、要求され設定されたモデルでサポートされている場合、ツールパラメータとして渡されます。

有料リクエストの前に、サーバーはモデルの能力を検出します。画像入力/出力またはパラメータがサポートされていない場合はサポートされていないローカルで拒否され、フォールバックしません。有料の POST /images は、原因となるような課金状態を防ぐため、自動的に自動リトライしません。

出力

Results are written only inside CLAUDE_PROJECT_DIR, Source が追加の MCP ルートから取得された場合でもです。パスはプロジェクト相対です。既存のファイルや元ファイルは上書きされません。競合は番号付きのサフィックスになります。書き込みには、完全な fsync 済み一時ファイルと、その後の同一ディレクトリ内でのアトミックな no-clobber 公開を使用します。既存の書き込み先が置き換えられることはありません。

MCP の結果には、簡潔なテキストと、操作、モデル、要求/返却数、参照数、コスト(任意)、保存されたパス、MIME タイプ、バイトサイズ、警告を含む構造化コンテンツが含まれます。フルイメージのバイト、base64、プロンプト、認証情報が返されることはありません。返されたアイテムの一部が無効な場合、有効な画像は保存され、結果は部分的な成功を報告します。OpenRouter が usage.cost を省略した場合、プラグインはゼロではなく、コストが提供されなかったことを報告します。

生成後、Claude は正しい保存パスを報告し、視覚的な内容を説明する前にファイルを確認しべきです。その保存パスは、次に参照として使用できます。

ワークスペースルート

相対入力パスは CLAUDE_PROJECT_DIR に解決されます。絶対入力パスは、その実在パスが現在の MCP ルート内の通常のファイルである場合にのみ許可されます。ルートには、プライマリプロジェクトと、--add-dir、/add-dir、または Claude Code の追加ディレクトリ設定で追加されたディレクトリが含まれます。サーバーは、notifications/roots/list_changed の後にインメモリルートを更新します。

追加ルートはプラグインから見ると読み取り専用です。生成された出力は、プライマリプロジェクト内にのみ残ります。ファイルパスの字句的な空白とシンボリックリンクのエスケープは、入力パスと出力パスの両方で拒否します。

残高とクレジット

ネイティブの 名前空間付きスキル を実行します:

/openrouter-genimage-kote:openrouter-balance

「OpenRouter の残高を確認して」と質問することもできます。スキルは openrouter_balance を1回だけ呼び出し、生成は開始しません。

GET /key は、現在の API キーの使用状況と使用上限を報告します。limit_remaining の値は、API キーの残りの使用上限であり、完全な OpenRouter アカウント残高ではありません。管理キーが構成されている場合、または現在のキーが自分自身を管理キーとして明示している場合、プラグインは GET /credits も呼び出し、総クレジット、総アカウント使用量、およびその算術的差分を報告します。クレジットの取得に失敗した場合は、利用不可として報告され、成功したキー共有はそのまま表示されます。残高応答はキャッシュされません。

セキュリティとネットワーク動作

  • 各認証されたプロダクト・リクエストは、直接 https://openrouter.ai/api/v1/ のような URL へ HTTPS で送信されます。

  • リダイレクトは拒否され、認証情報がリダイレクト先に渡らないようにします。

  • プロキシ環境変数は自動的に読み込まれません。グローバル fetch インターセプト、プロキシディスパッチャ、ゲートウェイのブートストラップ、ルートマーカーはありません。

  • API キーは、バンドルされたローカルプロセスには環境変数の置換で渡されます。コマンドラインの引数やプラグインファイルは使用しません。

  • ログは、リダクションされた JSON 形式で標準エラー出力に渡されます。完全なプロンプト、キー、認証ヘッダー、base64、バイナリイメージ、完全な上流の本文は除外します。

  • ローカル参照は 1 つ 20 MiB、合計 50 MiB、16 件までです。応答とデコードされた画像の合計は、デフォルトで 128 MiB に制限されます。

  • 公開 HTTPS 参照は、有料リクエストの一部として OpenRouter に送信されます。共有する許可がある URL のみ使用してください。

詳細な報告と完全な脅威モデルについては SECURITY.md を参照してください。

バージョン 0.1.0 の制限事項

バージョン 0.1.0 では、マスク、forging-inpainting、ピクセル完全な編集、内部の添付 ID、文書化されていない Claude の画像キャッシュ、SVG 出力、PDF/GIF/HEIC/TIFF/BMP/ICO 入力、ビデオ、LoRA トレーニング、ストリーミング画像生成、プラグイン UI、オブジェクトストレージ、外部

マーケットプレイスをリフレッシュし、プラグインを更新します:

/plugin marketplace update
/plugin update openrouter-genimage-kote@kote-plugins
/reload-plugins

削除するには:

/plugin uninstall openrouter-genimage-kote@kote-plugins

プラグイン自体はAPIキーを保存しません。生成されたプロジェクトファイルはアンインストール後も残るため、不要になった場合はユーザーが削除する必要があります。

開発と検証

npm ci
npm run ci

ビルドはローカル(esbuild)のみを使用し、ネットワークリクエストを行わず、ソースマップなしで単一のNode 20 ESMファイルをplugins/openrouter-genimage-kote/dist/mcp-server.mjsに生成します。プラグインの実行時に隣接するnode_modulesディレクトリは必要ありません。

現在のピン留めされたClaude Code CLIを明示的に実行します:

npx --yes @anthropic-ai/claude-code@2.1.241 plugin validate ./plugins/openrouter-genimage-kote --strict
npx --yes @anthropic-ai/claude-code@2.1.241 plugin validate . --strict

npm run validate:pluginは常に、静的マニフェスト、スキル、禁止ルーティング、シークレットのチェックを実行します。また、そのパッケージがnpmキャッシュにすでに存在する場合は、ピン留めされたCLIも実行します。この自動パスはオフラインです。CIはピン留めされたバリデータを明示的に呼び出します。

npm run smoke:marketplaceは、マーケットプレイスとプラグインを一時的なキャッシュレイアウトにコピーし、実際のClaude設定には一切触れません。RUN_CLAUDE_MARKETPLACE_SMOKE=1を設定すると、分離された一時設定ディレクトリとプラグインディレクトリ内で、Claude Code 2.1.241を使用してローカルマーケットプレイスの追加、インストール、一覧表示、アンインストールを行います。

実際のOpenRouterテストは有料で、デフォルトでは無効です:

RUN_OPENROUTER_E2E=1 \
OPENROUTER_API_KEY="<enter through a secure CI secret or local environment>" \
OPENROUTER_IMAGE_MODEL="provider/model-id" \
npm run test:e2e

オプションの管理キー消費テストは、加えてOPENROUTER_MANAGEMENT_API_KEYを読み込みます。実際の資格情報をコミットされたファイルやコマンド履歴に含めないでください。

CIはUbuntu、macOS、Windowsで設定されます。自動チェックは、ソース、プロトコル、統合、バンドル、マニフェスト、分離されたマーケットプレイス定義を網羅します。インタラクティブな/mcp、スラッシュスキルの検出、呼び出しごとの確認ダイアログ、有料の画像品質はも取りダブルだけです。ソースビルドだけが成功したという情報から、これらの実行を推測しないでください。

ライセンスと帰属

MITジンヌは提供されます。プラットフォーム非依存部分は、同じくMITライセンスのopenrouter-genimage-kote-opencode(コミットfd1e29d4a740d1765ce69b80ace722cec0a9258b)からソースレベルで適合されました。依存関係と再利用に関する通知はTHIRD_PARTY_NOTICES.mdを参照してください。

Related MCP Connectors

Related MCP Servers