Vercel AI Gatewayは、OpenAI・Anthropic・Googleなどのモデルを、1つのエンドポイントと1つのAPIキーで呼び分けるためのホスト型ゲートウェイです。この記事では、AI SDK 7とOpenAI SDKからの呼び出し、障害時に別モデルへ切り替えるフォールバック、Bedrock・Vertex AIといった経路の順序指定をコード付きで示します。上乗せなしとされる料金のうち、BYOKや追加オプションで費用が増える箇所と、予算上限の効き方も2026年11月時点の公式ドキュメントで確認しました。最後に、LiteLLMのような自前のゲートウェイとどちらを選ぶかの条件を言い切ります。
まとめ:Vercel AI Gatewayは鍵管理・切替・予算を自前で持たないための選択肢
Vercel AI Gatewayの価値は、プロバイダごとのAPIキー、障害時の切り替え、費用の集計という3つの仕事を、自前のプロキシを立てずに引き受けてくれる点にあります。アプリはVercelで動いている必要がありません。公式ドキュメントは、他のクラウドやローカルからでもAPIキーで呼べると明記しています。
トークン単価はプロバイダの定価のままです。ただし、BYOKで自社のキーを使っても失敗時にはVercel側のキーで再試行されて課金されるほか、リージョン固定のエンドポイントは推論費の5%が加算されます。予算は上限を超えた次のリクエストから止まるソフトキャップなので、1件の大きな処理で少し超える前提で値を決めます。
選び分けは明快です。Vercelで動かすNext.jsのアプリや、少人数で複数モデルを試す段階なら採用してよい。プロンプトを社外のゲートウェイに通せない、閉域で完結させたい、という要件があるなら自前のLiteLLM Proxyを選びます。
Vercel AI Gatewayの単一エンドポイントと400超のモデルの呼び分け構造
Vercelそのものの仕組みとホスティングの料金はVercel(ヴァーセル)とは?サーバー不要の仕組み・料金・できることを解説で扱っています。製品を横断したAIゲートウェイの役割の整理はAIゲートウェイとは?役割・LLMゲートウェイとの関係と導入判断を解説にまとめました。ここではVercelの製品としての挙動に絞ります。
ai-gateway.vercel.shに集まる認証・ルーティング・課金の役割分担
リクエストの宛先はhttps://ai-gateway.vercel.shの1つです。アプリが持つのはAI Gateway用のキー1本で、OpenAIやAnthropicのキーはVercel側の管理になります。モデルはanthropic/claude-sonnet-5のように「作成元/モデル名」の文字列で指定します。
同じモデルを複数の経路が提供している場合、たとえばClaudeならAnthropic直販・Amazon Bedrock・Google Vertex AIのどれで推論するかを、ゲートウェイが直近の稼働率と遅延から選びます。製品ページで案内されている提供モデル数は、単一の接続先から呼び分ける対象として400超です。2025年8月の一般提供(GA)の発表から1年あまりが経ち、2026年11月時点の対象は文章生成に加えて画像・動画・音声・埋め込み・リランキングまで含みます。
Vercel外のサーバーやPythonから呼べる4種類のAPI形式と接続先
Vercelにデプロイしていなくても使えます。必要なのはキーの発行と請求のためのVercelアカウントだけで、プロジェクトやデプロイは要りません。対応するAPI形式は次の4つです。
| API形式 | 向いている既存コード |
|---|---|
| AI SDK | Next.jsのチャット |
| OpenAI Chat Completions | openaiパッケージの実装 |
| OpenAI Responses | Responses APIの実装 |
| Anthropic Messages | anthropicパッケージの実装 |
OpenAIの2形式はベースURLをhttps://ai-gateway.vercel.sh/v1に、Anthropic Messagesはhttps://ai-gateway.vercel.shに差し替えます。AI SDKは接続先を自動で設定します。
プロンプト本文を残さない仕様と30日間保持されるルーティング記録
AI GatewayのFAQによると、ゲートウェイはプロンプトと応答の本文を保持せず、リクエスト完了時に削除します。記録されるのはモデル・経路・トークン数・費用・所要時間・認証方式といったメタデータで、経路の試行の詳細はログに30日間残ります。
注意したいのは、Vercelの保持方針が上流のプロバイダを縛らない点です。学習への利用やデータの保持を確実に止めたい場合は、リクエスト単位のzeroDataRetentionやdisallowPromptTrainingを指定し、条件を満たす経路だけに流します。
AI SDK 7・OpenAI SDKによるVercel AI Gatewayの実装手順
2026年11月15日時点のnpmのaiパッケージは7.0系(7.0.173)で、ゲートウェイの実装は依存の@ai-sdk/gateway 4.0系に入っています。AI SDKの基本的な使い方はVercel AI SDKの使い方|Next.js実装とLangChain連携のサンプル集を、v6からの移行はVercel AI SDK v6とは?新機能とv7との違い・移行を参照してください。AIエージェントからVercelのプロジェクトやデプロイを操作する公式のMCPサーバーはVercel MCPの接続手順と権限の絞り方で解説しています。
APIキーの発行と環境変数AI_GATEWAY_API_KEYへの設定コマンド
キーはダッシュボードのAI Gatewayの画面か、Vercel CLIで作ります。CLIなら発行と同時に予算と有効期限を付けられるので、検証用のキーを放置しても費用が膨らみません。
# 検証用のキーを、合計50ドル・30日で失効する条件で発行する
vercel ai-gateway api-keys create --name poc-key --amount 50 --refresh-period none --expiration 30d
# 表示されたキーはエディタで.env.localに次の1行として書く(Gitにはコミットしない)
# AI_GATEWAY_API_KEY=発行されたキー
# Vercelにデプロイ済みのプロジェクトなら、Development用の値を取り込む
vercel link
vercel env pull
キーの値は発行時にしか表示されません。本番のキーをVercelのプロジェクトに登録する際の型の選び方とローカルへの取り込みは、Vercelの環境変数の設定手順:Production・Previewの分け方とvercel env pull・Secret型で手順を示しています。
AI SDK 7のgenerateTextで作成元とモデル名の文字列を渡すコード例
AI SDK 7では、プロバイダのパッケージを追加しなくても、モデルIDの文字列を渡すだけでゲートウェイ経由になります。環境変数AI_GATEWAY_API_KEYが読まれ、既定の接続先はhttps://ai-gateway.vercel.sh/v4/aiです(AI SDKのAI Gatewayプロバイダ)。
// summarize.ts(npm install ai で依存を入れてから npx tsx summarize.ts で実行)
import { generateText } from 'ai';
const { text, providerMetadata } = await generateText({
model: 'anthropic/claude-sonnet-5',
prompt: '次の議事録を3行で要約してください:…',
providerOptions: {
gateway: {
// 主モデルが失敗したら、この順で別モデルを試す
models: ['openai/gpt-5.4-nano', 'google/gemini-3.1-pro-preview'],
// 利用部署ごとの集計用タグ(Custom Reportingを有効にした場合に課金対象)
tags: ['team:sales'],
},
},
});
console.log(text);
console.log(providerMetadata?.gateway);
モデルを差し替えるときに変わるのは文字列だけで、評価のために複数のモデルを並べて比べる作業が短くなります。
既存のOpenAI SDKのコードをbaseURLの差し替えだけで移すPython例
すでにopenaiパッケージで書いたコードがあるなら、APIキーとベースURLの2か所を変えれば移行できます。Python版のOpenAI SDKでの書き方は次のとおりです。
# pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AI_GATEWAY_API_KEY"],
base_url="https://ai-gateway.vercel.sh/v1",
)
response = client.chat.completions.create(
model="anthropic/claude-sonnet-5",
messages=[{"role": "user", "content": "社内FAQの回答案を作ってください"}],
# ゲートウェイ独自の項目はSDKの型に無いのでextra_bodyで渡す
extra_body={"providerOptions": {"gateway": {"order": ["bedrock", "anthropic"]}}},
)
print(response.choices[0].message.content)
OpenAIのクライアントのまま、モデル名にanthropic/の接頭辞を付けるだけでClaudeを呼べます。
Vercelにデプロイした関数でキーを置かずにOIDCトークンで認証する構成
Vercelにデプロイした関数からは、APIキーの代わりにプロジェクトに紐づくOIDCトークンで認証できます。OIDC認証のドキュメントによると、AI SDKはキーが無ければトークンを自動で取得・更新します。
落とし穴は優先順位にあります。空でないAI_GATEWAY_API_KEYが設定されていると、値が無効でもキーが優先されます。OIDCへ切り替えるときは、プロジェクトの環境変数からキーを消してください。OpenAI SDKやAnthropic SDKはトークンを自動では探さないため、@vercel/oidcのgetVercelOidcToken()をリクエストごとに呼んで渡します。関数のトークンは1時間未満で入れ替わり、vercel env pullで取り込んだローカル用のトークンは12時間で失効します。サンドボックスで動かすAI生成コードにキーを渡さず、外側で認証情報を注入して呼ばせる構成はVercel Sandboxの使い方と料金で解説しています。
フォールバックとプロバイダ順序を設定して障害時も応答を返す方法
切り替えには2つの段があります。同じモデルを別の経路で提供する「プロバイダの切り替え」と、別のモデルへ移る「モデルの切り替え」です。前者は何も設定しなくてもゲートウェイが行い、後者はリクエストで指定したときだけ動きます。
providerOptions.gatewayのmodelsによる別モデルへの切替順序
モデルのフォールバックのドキュメントでは、処理が次の順で進むと説明されています。
modelに書いた主モデルへ送る- 主モデルを提供する経路を順に試す(
orderやonlyがあれば従う) - すべての経路が失敗したら、
modelsの配列の次のモデルへ移る - 最初に成功したモデルと経路の組み合わせが応答を返す
配列には、品質が少し落ちても業務が止まらないモデルを並べます。出力の形式を厳密に決めている処理では、移った先のモデルでJSONの崩れ方が変わることがあるため、フォールバック先でも同じ検証を通しておくのが前提です。
orderとonlyでBedrock・Vertex AIを経由する優先順位を決める手順
orderは試す順番の指定で、書かれていない経路も最後には使われます。onlyは許可する経路を限定する指定であり、列挙した経路がすべて落ちた場合はリクエストの失敗です。両方を書くとonlyで絞った後にorderで並べます。
AWSの契約内で推論を済ませたい、という理由でonly: ['bedrock']を指定するのは避けたほうが安全です。プロバイダの絞り込みと順序のドキュメントも、データを保持させない・学習させない・地域にとどめるといった要件ならzeroDataRetentionやinferenceRegionで表現し、切り替え先を残すよう勧めています。経路の並べ替えはsortにcost・ttft・tpsを指定する方法もあります。
providerMetadataのfinalProviderと経路・1件ごとの費用の確認
設定どおりに動いたかは、応答に付くメタデータで確認します。gateway.routing.finalProviderが実際に推論した経路、gateway.costがそのリクエストの費用です。
// check-routing.ts
import { generateText } from 'ai';
const result = await generateText({
model: 'anthropic/claude-sonnet-5',
prompt: '疎通確認です。OKとだけ返してください。',
providerOptions: { gateway: { order: ['bedrock', 'anthropic'] } },
});
const gw = result.providerMetadata?.gateway as
| { routing?: { finalProvider?: string; totalProviderAttemptCount?: number }; cost?: string }
| undefined;
console.log('経路:', gw?.routing?.finalProvider);
console.log('試行回数:', gw?.routing?.totalProviderAttemptCount);
console.log('費用(USD):', gw?.cost);
試行回数が2以上なら、最初の経路で失敗して切り替わっています。失敗した経路のエラー内容はmodelAttemptsの中のproviderAttemptsで確かめられます。
Vercel AI Gatewayの料金と予算上限:上乗せなしでも費用が増える箇所
料金のドキュメントは、トークンへの上乗せも基本料金も無く、プロバイダの定価で従量課金すると明記しています。請求は前払いのクレジットから差し引かれ、購入したクレジットの有効期限は購入から1年です。
トークン単価は定価のまま・無料枠は対象モデルとレート制限つき
どのチームにも毎月の無料クレジットがあり、期限付きの試用ではありません。ただし無料枠で使えるのは一部のモデルに限られ、モデルごとのレート制限も有料枠より低く設定されています。超えると429が返ります。無料クレジットの金額は2026年11月時点の公式ドキュメント本文に記載がないため、ダッシュボードの残高表示で確かめてください。
クレジットを一度でも購入すると有料枠へ移り、毎月の無料クレジットは付かなくなります。検証を無料枠で済ませるか、早めに有料枠へ移ってレート制限を外すかは、負荷試験をするかどうかで決めるとよいでしょう。
BYOKでもVercelのキーで再試行されて課金される挙動の落とし穴
BYOKは、自社が契約しているOpenAIやAnthropicのキーをゲートウェイに登録し、推論費をプロバイダから直接請求させる方式です。上乗せはありません。BYOKのドキュメントによると、使えるのは有料枠のみで、購入済みクレジットの残高がプラスであることが条件です。
見落としやすいのは失敗時の挙動です。自社キーでのリクエストが失敗すると、ゲートウェイはVercel側のキーで再試行し、その分はクレジットから引かれます。自社キーの上限到達や失効が続くと、気付かないうちにVercel経由の請求が積み上がる構造です。メタデータのcredentialTypeがsystemになっている件数を定期的に数えておけば、この切り替わりを検知できます。
チーム・プロジェクト・APIキー単位の予算と402応答の扱い
予算のドキュメントでは、チーム・プロジェクト・APIキー・メンバーの4単位で上限を掛けられます。リクエストは対象となるすべての予算を通る必要があり、1つでも超えていれば402(type=quota_for_entity_exceeded)で拒否されます。
# チーム全体に月500ドル、本番プロジェクトに月200ドルの上限を掛ける
vercel ai-gateway budgets set team --amount 500 --refresh-period monthly
vercel ai-gateway budgets set project my-project --amount 200 --refresh-period monthly
# 設定済みの上限と消化額を一覧で確かめる
vercel ai-gateway budgets list
リセットはUTC基準なので、月次の上限がリセットされて元に戻るタイミングは、日本時間の毎月1日午前9時です。BYOKの支出は予算に数えられませんが、予算を超えた後はBYOKのリクエストも402で止まります。AI SDK 7ではこの拒否がGatewayInternalServerErrorとして届く場合があるため、HTTPステータスではなくエラー本文のtypeで判定して再試行を止める実装にしておきます。
リージョン固定の5%やチーム単位の許可リストなど追加課金のオプション
既定で無効の機能を有効にすると、トークン単価とは別に課金されます。BYOKのリクエストにも掛かる点に注意してください。
| オプション | 追加費用 | 対象プラン |
|---|---|---|
| リージョン別エンドポイント(EU・US、ベータ) | 推論費の5% | Pro・Enterprise |
| チーム単位のプロバイダ許可リスト | 課金リクエスト1,000件あたり0.10ドル | Pro・Enterprise |
| チーム単位のゼロデータ保持 | リクエスト1,000件あたり0.10ドル | Pro・Enterprise・クレジット購入済み |
| 集計タグの書き込み | 1,000件あたり0.075ドル | 記載なし |
| 集計APIへの問い合わせ | 1,000回あたり5ドル | 記載なし |
集計タグの2行はCustom Reportingの料金です。同じ制限をリクエスト単位のonlyやzeroDataRetentionで掛ければ追加費用はかかりません。全社で強制したい制約だけをチーム設定にし、それ以外はコード側で指定するのが費用を抑える分け方です。
LiteLLMなど自前ゲートウェイとVercel AI Gatewayを選び分ける条件
複数のLLMを1つのAPIで呼ぶ仕組みは、自前で立てる方法もあります。代表がOSSのLiteLLM Proxyで、構築手順はLiteLLMとは?複数LLMを1つのAPIで呼ぶProxyの構築手順とフォールバック・予算設定に書きました。Envoy系のOSSゲートウェイはAgent Routerとは|Envoy AI Gateway改称後の構成とMCPゲートウェイの導入判断で扱っています。
| 比較の観点 | Vercel AI Gateway | LiteLLM Proxy(自前運用) |
|---|---|---|
| 設置場所 | Vercelのホスト型APIのみ | 自社のクラウド・オンプレミス |
| プロンプトの通り道 | Vercelを経由する | 自社ネットワーク内で完結できる |
| サーバー・DBの運用 | 不要 | Proxy本体・DB・アップデートが必要 |
| 費用 | 定価の従量課金(上乗せなし) | OSSは無料・基盤費と運用工数が別途 |
| 予算上限 | チーム・プロジェクト・キー・メンバー | キー・ユーザー・チーム単位で設定 |
両者は排他ではありません。LiteLLMのドキュメントにはVercel AI Gatewayを上流のプロバイダとして登録する手順があり、社内の窓口はLiteLLM、その先の切り替えはVercelに任せる二段構成も組めます。
Vercel AI Gatewayを採用してよいアプリの構成と体制の条件
次のいずれかに当てはまるなら、Vercel AI Gatewayを選んで構いません。
- アプリをVercelで動かしており、OIDCでキーを持たずに済ませたい
- ゲートウェイのサーバーとDBを保守する担当者を置けない
- モデルの比較検証の段階で、プロバイダごとの契約と請求をまだ増やしたくない
- 月の推論費が数百ドル規模で、運用工数のほうが費用より重い
この条件なら、LiteLLMを自前で動かす意味はほとんどありません。自前のProxyはそれ自体が攻撃対象になり、LiteLLM 脆弱性:1.107.0侵害の影響確認と鍵の入れ替えで扱ったような版の確認と鍵の入れ替えも利用者側の作業になります。この保守を引き受ける体制がないなら、ホスト型に寄せるほうが安全です。
自前のLiteLLM Proxyを選ぶべき閉域網とデータ所在の要件
逆に、次の要件が1つでもあればVercel AI Gatewayは採用しません。プロンプトを社外の中継サービスに通すことが契約や社内規程で禁じられている場合。推論を閉域網やオンプレミスのモデルで完結させる必要がある場合。ゲートウェイのログを自社の監査基盤に全件保存する義務がある場合です。
Vercel AI Gatewayはホスト型のAPIとして提供されており、自社環境に置く選択肢はありません。リージョン別エンドポイントでEUかUSの受け口は選べますが、日本国内での受け口は2026年11月時点の料金ドキュメントに記載がありません。国内でのデータ所在を求められる案件では、LiteLLMなどを自社のAWSやAzureの東京リージョンに立てる構成が現実的です。どちらの構成が自社の要件に合うかの切り分けや、業務システムへの組み込みは生成AI導入支援でご相談いただけます。
Vercel AI Gatewayの導入前によく挙がる質問と公式ドキュメントの回答
導入の検討で確認されることの多い5点を、2026年11月時点の公式ドキュメントに沿って答えます。
Vercel AI Gatewayは無料で使えますか?
毎月の無料クレジットがあり、期限付きの試用ではありません。ただし対象は一部のモデルに限られ、モデルごとのレート制限も低めです。無料枠にないモデルを呼ぶと403が返ります。クレジットを購入すると有料枠に移って制限が外れる代わりに、毎月の無料クレジットは付かなくなります。トークン単価はどちらの枠でもプロバイダの定価で、上乗せはありません。
Vercelにデプロイしていないアプリからも呼び出せますか?
呼び出せます。AI Gateway用のAPIキーがあれば、他社クラウドのサーバー、CI、手元のスクリプトから利用できます。必要なのはキーの発行と請求のためのVercelアカウントだけで、Vercelのプロジェクトやデプロイは要りません。Vercelで動かす場合に限り、キーの代わりにOIDCトークンで認証できます。
プロンプトの内容はVercelに保存されたり学習に使われたりしますか?
FAQでは、Vercelはプロンプトを学習に使わず、ゲートウェイもプロンプトと応答の本文をリクエスト完了時に削除すると説明しています。残るのはモデル・経路・トークン数・費用などのメタデータです。上流のプロバイダの扱いは別なので、保持や学習を止めたい場合はzeroDataRetentionやdisallowPromptTrainingを指定して経路を絞ります。
同じ質問への応答をキャッシュして費用を下げられますか?
プロンプトのキャッシュには対応しています。caching: 'auto'を指定すると、Anthropicのように目印が必要なプロバイダにはゲートウェイが付与し、キャッシュに当たった入力トークンは各社の割引単価で請求されます。一方、応答全体の保存はしないため、同一の質問に保存済みの回答を返す仕組みはアプリ側で用意します(キャッシュのドキュメント)。
429エラーが返ってきたときはどう対処すればよいですか?
無料枠のモデル別の制限か、上流のプロバイダの制限に当たっています。レート制限のドキュメントのとおり、少し待って再試行するのが基本です。無料枠で頻発する場合は、クレジットを購入して有料枠に移るとゲートウェイ側の制限は外れます。予算超過の402とは原因が違うので、両者を同じ再試行処理で扱わないようにします。
関連記事
- Vercel(ヴァーセル)とは?サーバー不要の仕組み・料金・できることを解説:Vercelの全体像とホスティングの料金
- Vercel AI SDKの使い方|Next.js実装とLangChain連携のサンプル集:AI Gatewayを呼ぶ側のSDKの基本
- LiteLLMとは?複数LLMを1つのAPIで呼ぶProxyの構築手順とフォールバック・予算設定:同じ役割を自前で立てる場合の手順
- AIゲートウェイとは?役割・LLMゲートウェイとの関係と導入判断を解説:製品を横断したゲートウェイの考え方
- Vercelの環境変数の設定手順:Production・Previewの分け方とvercel env pull・Secret型:AI Gatewayのキーを安全に登録する手順