統一 LLM ゲートウェイ · 1 Key で 400+ モデル · ルーティング · コード例 · 料金と選定
GPT、Claude、Gemini を同時に接続する開発者と小規模チームは、多ベンダーの Key 管理、SDK の差異、failover の自前実装に時間を取られがちです。本記事では OpenRouter 統一 LLM API ゲートウェイの完全な接続手順を示します。1 つの Bearer Key から 70+ プロバイダー、400+ モデルへアクセスでき、エンドポイントは https://openrouter.ai/api/v1/chat/completions、OpenAI 互換、モデル名は vendor/model 形式です。二層ルーティング対照表、OpenRouter vs 直接 API の判断マトリクス、6 ステップ Runbook(登録 → Key → 環境変数 → curl → SDK → fallback チェーン)、Python/Node のコード例、料金と 25+ 無料モデルを含み、OpenRouter ランキングとモデル選定の解説記事とも相互リンクしています。
OpenRouter の本質は統一 LLM API ゲートウェイ(Unified LLM Gateway)です。1 本の API Key を維持するだけで、OpenAI 互換プロトコル経由で OpenAI、Anthropic、Google、DeepSeek など各社のモデルにアクセスでき、ベンダーごとの認証層や SDK アダプタを個別に書く必要がありません。移行を判断する前に、「複数ベンダーへの直接接続」が本番環境で生む 5 つの隠れコストを整理しておくことをおすすめします。
複数 Key のローテーション負荷:GPT、Claude、Gemini それぞれに独立したアカウントと請求が必要です。Key の漏洩対応、クォータ監視、アラートが 3 つのコンソールに分散し、運用面が指数的に膨らみます。
SDK の方言コスト:多くのベンダーが OpenAI 形式をサポートしていても、base_url、Header(Anthropic のバージョン番号など)、ストリーミングフィールド、tool call スキーマに差があります。Agent フレームワークでモデルを切り替えるたびに複数箇所の修正が発生します。
Failover の自前実装:主モデルが 429 やダウン時に、リトライチェーン、指数バックオフ、予備モデルマッピングを自前で書く必要があります。統一ルーティング層がないと、新モデル追加のたびにビジネスコードを変更しなければなりません。
料金照合の負荷:各ベンダーの課金単位、キャッシュ割引、batch ルールが異なり、FinOps では「同じ prompt を別モデルに渡すといくら変わるか」を 1 枚の表で比較しにくくなります。
無料枠の分散:各プラットフォームの無料 tier ルールはバラバラです。OpenRouter は 25+ 無料モデルを集約し、クォータも統一しています(未チャージ 50 回/日、$10 チャージ後 1000 回/日、20 回/分)。ただしプラットフォーム料と BYOK の境界は理解が必要です。
上記の痛点を把握したうえで、次節のルーティング機構と比較表を参照し、OpenRouter がレイテンシ、コンプライアンス、呼び出し量の前提に合うかを判断してください。
OpenRouter のルーティングは 2 層に分かれます。Model Routing(どのモデルを選ぶか)と Provider Routing(同一モデルをどのバックエンドプロバイダーが担うか)です。この 2 層を理解することが、failover 設定とコスト管理の前提になります。
| ルーティング層 | 制御フィールド | 動作 |
|---|---|---|
| Model Routing | リクエスト体の model フィールド | モデル ID(例:openai/gpt-4o)または magic 値 openrouter/auto を指定し、タスクと価格に応じてプラットフォームが自動選定します |
| Provider Routing | リクエスト体の provider オブジェクト | 同一モデルの複数バックエンド間で価格加重ルーティングを行います。sort: "price"、特定 provider の除外、低レイテンシや特定リージョンの指定が可能です |
| Auto Failover | プラットフォーム内蔵 + models 配列 | 主モデルが利用不可のとき自動で代替を試行します。1 リクエスト内で fallback モデルリストを渡すこともできます |
| 認証 | Authorization: Bearer YOUR_KEY | 統一 Bearer Token。OpenAI SDK と互換性があり、base_url を https://openrouter.ai/api/v1 に変更するだけで移行できます |
1 Key、1 エンドポイント、1 種類の SDK 方言。Model 層で「誰が答えるか」を、Provider 層で「誰が担うか」を選びます。
| 観点 | OpenRouter 統一ゲートウェイ | OpenAI / Anthropic / Google 直接 API |
|---|---|---|
| Key 管理 | 1 Key で 400+ モデル | ベンダーごとに独立 Key と請求 |
| プロトコル | OpenAI 互換 /v1/chat/completions | 各社ネイティブエンドポイント、一部フィールド非互換 |
| Failover | 内蔵 auto failover + fallback チェーン設定可 | リトライと予備経路を自前実装 |
| Token 料金 | ベンダー公示価格、token に上乗せなし | ベンダー原価、中間層なし |
| プラットフォーム料 | チャージ 5.5%(最低 $0.80)、crypto 5%、BYOK 月 100 万 req まで無料 | ゲートウェイ料なし、BYOK 非対応 |
| レイテンシ | 追加 hop、通常 +10–80ms | 直接接続で最低レイテンシ |
| コンプライアンスと機能 | データが第三者経由、ベンダー独占 beta 機能は使いにくい | エンタープライズ DPA 締結可、最新 vendor-only 機能利用可 |
選定時はOpenRouter 実呼び出しランキングとモデルトレンドを参照し、「開発者が何を使っているか」と「ルーティング戦略」を同じレビュー表に並べると判断しやすくなります。
以下 6 ステップで 30 分以内に初回呼び出しまで到達できます。各ステップの成果物はチーム README に記載し、新メンバーの onboarding に活用してください。
アカウント登録:openrouter.ai にアクセスし、GitHub またはメールでアカウントを作成します。
API Key 作成:Keys ページで Key を生成し、直ちにコピーします。本番環境では Git にコミットせず、シークレット管理サービスで保管してください。
環境変数設定:export OPENROUTER_API_KEY="sk-or-..." とし、CI/CD とローカル .env で命名を統一します。
初回 curl 検証:/v1/chat/completions へ POST し、200 応答と choices[0].message 構造を確認します。
OpenAI SDK 設定:Python/Node で base_url を OpenRouter に向け、任意で HTTP-Referer と X-Title を追加してランキング統計に参加できます。
fallback チェーンのテスト:models 配列を使うか、意図的に利用不可モデルを指定し、auto failover で予備モデルへ切り替わることをログで確認します。
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello from OpenRouter"}]
}'
import os, requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "anthropic/claude-sonnet-4",
"messages": [{"role": "user", "content": "Explain Model Routing vs Provider Routing"}],
},
)
print(resp.json()["choices"][0]["message"]["content"])
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ["OPENROUTER_API_KEY"],
default_headers={
"HTTP-Referer": "https://your-app.example.com",
"X-Title": "My Agent App",
},
)
completion = client.chat.completions.create(
model="google/gemini-2.5-pro-preview",
messages=[{"role": "user", "content": "Summarize OpenRouter pricing"}],
)
print(completion.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://openrouter.ai/api/v1",
apiKey: process.env.OPENROUTER_API_KEY,
defaultHeaders: {
"HTTP-Referer": "https://your-app.example.com",
"X-Title": "My Agent App",
},
});
const res = await client.chat.completions.create({
model: "openai/gpt-4o",
messages: [{ role: "user", content: "Hello" }],
});
console.log(res.choices[0].message.content);
const stream = await client.chat.completions.create({
model: "anthropic/claude-sonnet-4",
messages: [{ role: "user", content: "Stream this response" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
{
"model": "openai/gpt-4o",
"models": [
"openai/gpt-4o",
"anthropic/claude-sonnet-4",
"google/gemini-2.5-flash-preview"
],
"messages": [{"role": "user", "content": "If primary fails, try fallbacks"}]
}
curl https://openrouter.ai/api/v1/models \
-H "Authorization: Bearer $OPENROUTER_API_KEY" | jq '.data[] | {id, pricing}'
ヒント:モデル ID は vendor/model 形式に統一されています。openrouter/auto を使うと、能力と価格のバランスをプラットフォームが自動調整するため、プロトタイプ段階に適しています。
OpenRouter の中核はtoken に上乗せしないことです。各モデルベンダーの公開価格をそのまま支払い、プラットフォームはチャージ手数料と BYOK 超過料で収益を得ます。inference 単価への markup はありません。
レイテンシ敏感:ゲートウェイ hop で通常 10–80ms の追加が発生します。超低レイテンシのトレーディングやリアルタイム音声は直接接続が適しています。
超高呼び出し量:日次百万級の呼び出しでは 5.5% チャージ料 + ルーティング hop により、エンタープライズ直契約より割高になる場合があります。
強いコンプライアンス:金融・医療などデータが第三者を経由してはならない場合は、直接接続と DPA 締結を検討してください。
ベンダー独占機能:Anthropic 最新 beta、OpenAI Assistants v2 など vendor-only API が必要な場合、ゲートウェイでは遅延または非対応の可能性があります。
注意:無料枠と料率は OpenRouter 公式サイトが正です。本番前に staging Key で 24 時間負荷テストを行い、請求とレート制限の挙動を検証してください。
以下の数値は技術方案や README に直接引用できます。出典は OpenRouter 公式ドキュメントとプラットフォーム公開データ(2026 年 7 月)です。
vendor/model です。Agent 製品や技術ブログが中英日の開発者に同時リーチする場合、OpenRouter 系 API ドキュメントの SEO では次の実践が重要です(単純な機械翻訳では不十分です)。
hreflang を相互参照する必要があります。同一 URL に複数言語が混在すると Google が duplicate と判定します。OpenRouter は「多モデル API 統合接続」を解決しますが、ローカル開発機がスリープ、OS 更新、プロセス kill により 7×24 Agent、cron、webhook コールバックを中断させる問題は別です。API Key が安定してもホストが不安定なら failover チェーンは空転します。ノート PC を閉じると OpenClaw、LangGraph、自前 daemon の SLA は保証できません。純 Linux VPS には Apple Silicon と macOS ツールチェーンがありません。長期稼働の AI Agent と自動化パイプラインには、VpsMesh の Mac Mini クラウドレンタルが通常より適した選択です。専用ノード、柔軟な契約期間、監査可能な環境で、OpenRouter ルーティング戦略を真に 7×24 オンラインのホスト上で動かせます。ローカルマシンが今夜フタを閉じないかに賭ける必要はありません。詳細はMac Mini M4 レンタル料金とヘルプセンターをご参照ください。
モデル token は各ベンダーの公開価格で精算され、token に上乗せしません。プラットフォーム収益はチャージ手数料(5.5%、最低 $0.80)、crypto 5%、BYOK 超過 5% です。Agent ホストコストと API 請求の計画は料金ページもご参照ください。
エンドポイント openrouter.ai は多くのネットワークで直接アクセス可能です。不安定な場合は DNS/プロキシを確認するか BYOK を利用してください。本番環境では安定したクラウドノードへのデプロイを推奨します。接続性の詳細はヘルプセンターをご覧ください。
70+ プロバイダー、400+ モデルを集約し、GPT、Claude、Gemini、DeepSeek、Llama などをカバーします。選定はOpenRouter ランキングとトレンド解説を参照してください。
Bearer 認証と BYOK に対応しています。データは OpenRouter 経由で各 provider へルーティングされます。強いコンプライアンス要件では第三者ゲートウェイが DPA 要件を満たすか評価し、必要に応じてベンダー API へ直接接続してください。
OpenRouter は多ベンダー統一ゲートウェイで、プロトコルは OpenAI 互換です。OpenAI API は OpenAI モデルのみです。移行時は base_url と model を変更するだけで済みます。詳細は上記 Runbook を参照してください。
プラットフォームは 25+ 無料モデルを提供しています。未チャージ 50 回/日、$10 チャージ後 1000 回/日、速度制限 20 回/分です。/v1/models で pricing.prompt: "0" のエントリを絞り込めます。
pip install openai を実行し、base_url="https://openrouter.ai/api/v1" と環境変数 OPENROUTER_API_KEY を設定してください。requests で直接 POST する方法もあり、第 3 節のコードブロックを参照してください。
上乗せしません。Token は各モデルベンダーの公示価格で課金されます。プラットフォームはチャージ料と BYOK 超過料のみです。大規模呼び出し前にダッシュボードで直接接続との総コスト(5.5% 手数料と 10–80ms レイテンシ trade-off 含む)を比較することをおすすめします。