mcpField
9
9router-image

9router-image

github.com/decoluaクリエイティブ・メディア31.6k169 回インストール今日更新
リポジトリ

9router-image について

9router-imageは、設定済みの9Routerゲートウェイ経由で画像を生成するスキルです。プロバイダーごとのモデルやオプションを使い、URL、Base64データ、または画像バイナリで結果を受け取れます。

主な機能

  1. 01画像モデルとオプションの確認
  2. 02プロンプトからの画像生成
  3. 03URL、Base64、バイナリでの応答
  4. 04プロバイダー固有の生成パラメーター
  5. 05対応プロバイダーでの画像入力

活用シーン

  1. 01テキストプロンプトからの画像生成
  2. 02生成画像のファイル保存
  3. 03対応する画像入力を編集や参照に利用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/decolua/9router --skill 9router-image

インストール後、Claude Code で/9router-imageを入力して読み込まれたか確認します。

詳細

9Router — 画像生成

NINEROUTER_URL が必要です(認証が有効な場合は NINEROUTER_KEY も必要です)。セットアップについては https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router/SKILL.md をご覧ください。

検出

curl $NINEROUTER_URL/v1/models/image | jq '.data[].id'
# Per-model params/options (size enum, quality enum, capabilities like edit)
curl "$NINEROUTER_URL/v1/models/info?id=openai/dall-e-3"

エンドポイント

POST $NINEROUTER_URL/v1/images/generations

フィールド必須備考
modelはい/v1/models/image から指定します
promptはい画像の説明
nいいえ枚数(プロバイダーによって異なります)
sizeいいえ1024x1024、1792x1024、…
qualityいいえstandard / hd(OpenAI)
response_formatいいえurl(デフォルト)または b64_json

生の画像バイトを受け取るには、クエリ ?response_format=binary を追加します(ファイルの保存に便利です)。

例

ファイルに保存(バイナリ):

curl -X POST "$NINEROUTER_URL/v1/images/generations?response_format=binary" \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemini/gemini-3-pro-image-preview","prompt":"watercolor mountains at sunrise","size":"1024x1024"}' \
  --output out.png

JS(URL レスポンス):

const r = await fetch(`${process.env.NINEROUTER_URL}/v1/images/generations`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.NINEROUTER_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ model: "gemini/gemini-3-pro-image-preview", prompt: "neon city", size: "1024x1024" }),
});
const { data } = await r.json();
console.log(data[0].url || data[0].b64_json.slice(0, 40));

レスポンス形式

JSON(デフォルトの response_format=url):

{ "created": 1735000000, "data": [{ "url": "https://..." }] }

response_format=b64_json:

{ "created": 1735000000, "data": [{ "b64_json": "iVBORw0KGgo..." }] }

クエリ ?response_format=binary は生の画像バイトを返します(Content-Type は image/png または image/jpeg)。

プロバイダーごとの注意点

上記の共通フィールドはすべてのプロバイダーで使用できます。以下のフィールドは追加または上書きされます。

プロバイダー追加/変更されるフィールド備考
openai、minimax、openrouter、recraftquality、style、response_format標準の OpenAI 形式
gemini(nano-banana)—prompt のみ。size / n は無視されます
codex(gpt-5.4-image)image、images[]、image_detail、output_format、backgroundSSE ストリーム。ChatGPT Plus/Pro が必要です
huggingface—prompt のみ。単一の画像を返します
nanobananaimage、images[](編集モード)size はアスペクト比に変換されます。非同期ポーリング
fal-aiimage(img2img)n は num_images に、size は比率に変換されます。非同期
stability-aistyle(プリセット)、output_formatsize は aspect_ratio に変換されます
black-forest-labs(FLUX)image(参照)size は正確な width / height に変換されます。非同期
runwaymlimage(参照)size は比率に変換されます。非同期。動画モデルもあります
sdwebui、comfyui—localhost の noAuth(:7860 / :8188)

コメント