openrouter-images について
openrouter-images は、OpenRouter の Image API を使って画像を生成・編集するスキルです。プロンプトからの画像作成や既存画像の変更に対応し、モデルとパラメーターの確認機能も備えています。
主な機能
- 01テキストプロンプトから画像生成
- 02指示に基づく既存画像の編集
- 03画像モデルと機能の検索
- 04エンドポイント対応パラメーターの確認
- 05出力形式・サイズ・枚数の指定
活用シーン
- 01利用可能な画像モデルの機能比較
- 02説明文から画像を作成
- 03写真の色やオブジェクトを変更
- 04比率と解像度を指定して画像生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openrouterteam/ skills --skill openrouter-imagesインストール後、Claude Code で/openrouter-imagesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdscripts/discover.tsedit.tsgenerate.tslib.tspackage-lock.jsonpackage.json詳細
OpenRouter Images
OpenRouter 専用 Image API(POST /api/v1/images)を使って、テキストプロンプトから画像を生成したり、既存の画像を編集したりできます。このスキルでは、利用可能なモデルと各モデルが受け付けるパラメーターも調べられるため、推測に頼らず、有効なモデルとオプションを選べます。
前提条件
OPENROUTER_API_KEY 環境変数を設定する必要があります。キーは https://openrouter.ai/keys で取得できます。
discover.ts による検出は公開されており、キーなしで利用できます。生成と編集にはキーが必要です。
初回セットアップ
cd <skill-path>/scripts && npm install
判断ツリー
ユーザーの依頼に応じて、適切なスクリプトを選びます。
| ユーザーの要望... | スクリプト | 例 |
|---|---|---|
| 利用可能な画像モデルと、それぞれが対応する機能を確認する | discover.ts | 「使える画像モデルを教えて」 |
| 特定のモデルが受け付ける正確なパラメーターを確認する | discover.ts <model> | 「seedream は 4K に対応していますか?」 |
| テキストの説明から画像を生成する | generate.ts "prompt" | 「山に沈む夕日の画像を作成して」 |
| 特定のオプションを指定して生成する | generate.ts "prompt" --aspect-ratio 16:9 | 「横長の森の風景画像を作成して」 |
| 別のモデルで生成する | generate.ts "prompt" --model <id> | 「gemini 3.1 flash lite image を使って生成して」 |
| 既存の画像を編集または変更する | edit.ts path "prompt" | 「photo.png の空を紫色にして」 |
| 指示に従って画像を変換する | edit.ts path "prompt" | 「この画像の動物にパーティーハットを追加して」 |
まず機能を確認する
モデルによって受け付けるパラメーターは異なります。フラグをハードコードして 400 エラーを発生させるのではなく、生成前に利用可能な項目を確認してください。
すべての画像モデルの機能概要を簡潔に一覧表示します。
cd <skill-path>/scripts && npx tsx discover.ts
各項目には、モデルの id、input_modalities / output_modalities(画像入力に対応している場合、編集/画像から画像への変換に対応)、supports_streaming、およびそのモデルのいずれかのエンドポイントが受け付ける項目をまとめた supported_parameters マップが表示されます。
1 つのモデルについて、エンドポイントごとの確定的な機能を確認します。
cd <skill-path>/scripts && npx tsx discover.ts bytedance-seed/seedream-4.5
このコマンドは GET /api/v1/images/models/{author}/{slug}/endpoints を呼び出し、プロバイダーのエンドポイントごとに次の情報を返します。
| フィールド | 意味 |
|---|---|
provider_name / provider_slug | サービスを提供するプロバイダーです。--provider-options のキーには provider_slug を使います。 |
supported_parameters | このエンドポイントが受け付ける正確なパラメーターと、その許容値です。 |
allowed_passthrough_parameters | --provider-options の下に渡せる、プロバイダー固有のキーです(例:steps、guidance)。 |
supports_streaming | このエンドポイントがストリーミングに対応しているかどうかです。 |
pricing | 画像単位/トークン単位の料金項目です。 |
機能の値は読みやすい文字列で表示されます。列挙型は 1K | 2K | 4K、範囲は 0–100、ブール値は supported のように表示されます。パラメーターが表示されない場合、その機能には対応していません。送信しないでください。
画像を生成する
テキストプロンプトから新しい画像を作成します。
cd <skill-path>/scripts && npx tsx generate.ts "a red panda wearing sunglasses"
cd <skill-path>/scripts && npx tsx generate.ts "a futuristic cityscape at night" --aspect-ratio 16:9
cd <skill-path>/scripts && npx tsx generate.ts "pixel art of a dragon" --output dragon.png
cd <skill-path>/scripts && npx tsx generate.ts "a watercolor painting" --model google/gemini-3.1-flash-lite-image --resolution 1K
画像を編集する
テキストプロンプトを使って既存の画像を変更します。元画像は画像から画像への参照(input_references)として送信されるため、input_modalities に image を含むモデルを使ってください。discover.ts <model> で確認できます。
cd <skill-path>/scripts && npx tsx edit.ts photo.png "make the sky purple"
cd <skill-path>/scripts && npx tsx edit.ts avatar.jpg "add a party hat" --output avatar-hat.png
cd <skill-path>/scripts && npx tsx edit.ts scene.png "convert to watercolor style" --model google/gemini-3.1-flash-lite-image
対応する入力形式:.png、.jpg、.jpeg、.webp、.gif
オプション
generate.ts と edit.ts は同じフラグを受け付けます。対象モデルがサポートするパラメーターのみを渡してください。discover.ts <model> で確認できます。
| フラグ | 説明 | デフォルト |
|---|---|---|
--model <id> | OpenRouter のモデル ID | google/gemini-3.1-flash-image-preview |
--output <path> | 出力ファイルのパス | image-YYYYMMDD-HHmmss.png |
--aspect-ratio <r> | アスペクト比(例:16:9、1:1、4:3) | モデルのデフォルト |
--resolution <t> | 解像度の段階(512、1K、2K、4K) | モデルのデフォルト |
--size <s> | 簡略指定:段階(2K)またはピクセル数(2048x2048) | モデルのデフォルト |
--quality <q> | auto、low、medium、high | モデルのデフォルト |
--output-format <f> | png、jpeg、webp、または svg(ベクターモデル) | モデルのデフォルト |
--background <b> | auto、transparent、opaque | モデルのデフォルト |
--output-compression <n> | webp/jpeg の圧縮率(0~100) | モデルのデフォルト |
--n <count> | 生成する画像の数(1~10。プロバイダーが対応している場合) | 1 |
--seed <int> | 決定論的生成のシード値(対応している場合) | ランダム |
--provider-options <json> | provider_slug をキーとする、プロバイダー固有のパススルー設定 | なし |
--provider-options には、プロバイダーのスラッグをキーとする JSON オブジェクトを指定します。キーには、そのエンドポイントの allowed_passthrough_parameters に記載されたものを使用します。
cd <skill-path>/scripts && npx tsx generate.ts "a dramatic portrait" \
--model black-forest-labs/flux.2-pro \
--provider-options '{"black-forest-labs": {"steps": 40, "guidance": 3}}'
出力形式
generate.ts
{
"model": "google/gemini-3.1-flash-image-preview",
"prompt": "a red panda wearing sunglasses",
"images_saved": ["/absolute/path/to/image-20260305-143022.png"],
"count": 1
}
edit.ts
{
"model": "google/gemini-3.1-flash-image-preview",
"source_image": "photo.png",
"prompt": "make the sky purple",
"images_saved": ["/absolute/path/to/image-20260305-143055.png"],
"count": 1
}
API から報告された場合、生成コスト(USD)は stderr に出力されます。--n で複数の画像をリクエストすると、それぞれに -1、-2、…のサフィックスを付けて保存されます。
API レスポンスの形式
生成には POST /api/v1/images を使用します。リクエストとレスポンスの詳細は、画像生成ガイドをご覧ください。
画像は data 配列内に Base64 エンコードされて返されます。ラスター形式の PNG 出力では media_type は省略されます。ベクター形式(例:SVG)の出力には media_type が含まれ、保存されるファイルの拡張子はその値に従います。
{
"created": 1748372400,
"data": [{ "b64_json": "<base64-encoded image data>" }],
"usage": { "prompt_tokens": 0, "completion_tokens": 4175, "total_tokens": 4175, "cost": 0.04 }
}
別のモデルを使用する
デフォルトのモデルは google/gemini-3.1-flash-image-preview(Nano Banana 2)です。別のモデルを使用するには、画像モデル ID(例:google/gemini-3.1-flash-lite-image)を指定して --model <id> を渡します。画像モデルを確認するには discover.ts を実行し、生成前に対応するパラメーターとプロバイダーを確認するには discover.ts <model> を実行してください。
結果の提示
- 生成または編集後、保存した画像をユーザーに表示します
- 使用したモデルと、報告された場合は生成コスト(stderr に出力されます)を伝えます
- 複数の画像が返された場合は、すべて表示します
- ユーザーが出力パスを指定していない場合は、ファイルの保存先を伝えます
- 編集操作の場合は、変更した元画像を伝えます