9router-image について
9router-imageは、設定済みの9Routerゲートウェイ経由で画像を生成するスキルです。プロバイダーごとのモデルやオプションを使い、URL、Base64データ、または画像バイナリで結果を受け取れます。
主な機能
- 01画像モデルとオプションの確認
- 02プロンプトからの画像生成
- 03URL、Base64、バイナリでの応答
- 04プロバイダー固有の生成パラメーター
- 05対応プロバイダーでの画像入力
活用シーン
- 01テキストプロンプトからの画像生成
- 02生成画像のファイル保存
- 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、recraft | quality、style、response_format | 標準の OpenAI 形式 |
gemini(nano-banana) | — | prompt のみ。size / n は無視されます |
codex(gpt-5.4-image) | image、images[]、image_detail、output_format、background | SSE ストリーム。ChatGPT Plus/Pro が必要です |
huggingface | — | prompt のみ。単一の画像を返します |
nanobanana | image、images[](編集モード) | size はアスペクト比に変換されます。非同期ポーリング |
fal-ai | image(img2img) | n は num_images に、size は比率に変換されます。非同期 |
stability-ai | style(プリセット)、output_format | size は aspect_ratio に変換されます |
black-forest-labs(FLUX) | image(参照) | size は正確な width / height に変換されます。非同期 |
runwayml | image(参照) | size は比率に変換されます。非同期。動画モデルもあります |
sdwebui、comfyui | — | localhost の noAuth(:7860 / :8188) |
コメント
Markdown 対応