Search the alley

記事を検索

2文字以上でタイトル・カテゴリ・タグを検索できます。

OpenRouterの料金・速度・安定性を管理する方法|キャッシュ・ルーティング・計測

OpenRouterを個人開発で使うときの料金、速度、安定性の見方を、Prompt Caching、Batch API、Sticky Routing、provider選び、Classifiers、音声・マルチモーダルAPIから整理します。

公開 2026.07.29 / 更新 2026.09.26

OpenRouterを安く速く使うには、モデル単価だけで決めず、cache hit、providerの待ち時間、Batch APIの非同期条件、fallback、再試行、利用目的を分けて記録します。まず全体像を読み、Prompt CachingとSticky Routing、provider性能とClassifiersの各論へ進んでください。

このページで扱うこと
  • 料金・cache・provider routingの判断軸
  • Batch APIの適用条件と制約
  • provider performanceとClassifiersの役割分担
  • Transcription・マルチモーダルAPIの統合範囲
このページで扱わないこと
  • 特定モデルの最安・最速ランキング
  • 未測定の節約率や性能保証
  • OpenRouter公式情報にないendpoint・料金の断定

この記事のポイント

  • Prompt CachingとSticky Routingは、長い固定入力を繰り返すagent loopで条件が揃ったときに効く
  • provider performanceは平均速度だけでなく、latency、throughput、uptime、quantizationを分けて見る
  • Batch APIは即時応答が不要な大量request向け。model別の割引、完了時間、input制約、保持期間を先に確認する
  • Classifiersは料金を自動で下げる機能ではなく、AI利用を分類してログと集計で観測するBeta機能
  • Transcriptionとマルチモーダル入力は一つのbase URLで扱えるが、endpointとcontent typeは同じではない

問題ごとにOpenRouterの機能を選ぶ

同じ長文を何度も送るPrompt Caching。provider・モデル・cache条件とcache hitを確認
会話を同じproviderへ戻したいSticky Routing。session_id、会話単位、fallbackの挙動を確認
速度・安定性を比べたいProvider Performance。latency、throughput、uptime、quantizationを同じworkloadで測る
大量の独立requestを急がず処理したいBatch API。modelごとの対応endpoint、24時間枠、割引、入力制約を確認
どの作業が料金を使ったか知りたいClassifiers。Betaの分類タグ、sampling、classifier自体の課金を確認
音声・画像・動画を扱いたい同じbase URLでもendpointとcontent typeをモデルごとに分ける

OpenRouterを安く速く使う答えは、安いモデルを一つ選んで固定することではありません。同じ入力を繰り返すならcache、会話をまたぐならsticky routing、provider差を見たいなら性能指標、使い道と請求を知りたいならClassifiers、というように問題を分けます。

料金を下げる前に、何が繰り返されているかを見る

AIエージェントでは、モデルの入力単価だけでなく、固定system prompt、tool定義、会話履歴、出力、リトライ、fallbackが請求と待ち時間を作ります。Prompt Cachingは同じ長い入力を再利用できる可能性がありますが、cache hitが見えなければ節約したとは言えません。

速度は『最速provider』ではなく、workloadの分布で見る

公式のprovider performance説明では、同じmodelでもprovider endpointごとにlatency、throughput、uptime、quantizationが変わります。平均だけを見ると、たまに極端に遅いp90・p99の尾を見落とします。チャットUI、長文生成、tool call、夜間バッチでは優先する指標が違います。

Batch APIは、待てる大量処理の料金と完了時間を分けて見る

OpenRouter Batch APIは、corpusのlabel付け、evaluationの採点、埋め込みのbackfill、ticketの一括要約など、各requestをすぐ返す必要がない仕事向けです。submission時にproviderが処理時刻を選ぶ24時間のcompletion windowがあり、通常APIよりper-token料金が低くなるmodelがあります。会話UIや同期処理へ使う機能ではありません。

確認する点Batch APIの条件実装前の判断
値引き標準のper-token料金より約50%低いmodelが多いが、割引率はmodelごと。検索などtoken以外の料金が同じ割引とは限らない対象modelのpricingと完了後のusage.costで見積もりを確認
処理時間completion windowは24h。requestは非同期で進み、providerがこの枠内で処理時刻を決めるSLAや即時応答として扱わず、遅れても困らないqueueだけを送る
routingbatchごとに単一provider。標準ではdata policy、allowlist、BYOK適用後の対応endpointから選ばれる利用可能model/providerを確認し、必要ならprovider.onlyを指定
入力・保持画像・fileは公開URLと対応providerが条件。audio/videoとOpenRouter側のweb search pluginは非対応。OpenRouter側のinput/outputは最長30日保持だがupstreamはprovider次第機密データの方針と両方の保持期間を確認し、terminal状態になったbatchは不要なら削除
  • モデル一覧で:batch endpoint対応を確認する。同期APIで動くmodelがbatchでも使えるとは限らない
  • 1 batchは単一providerで処理され、各requestの失敗は個別結果として返る。custom_idで入力行と結果を対応させる
  • OpenRouterのorchestrated web searchはbatchで使えないが、対応するnative provider searchとは区別する
  • 24hを待てないtask、audio/video、public URLにできない添付は同期APIなど別の処理経路を選ぶ

Classifiersは、料金を自動で下げる機能ではない

Classifiersは、generationをtask type、agent complexity、department、compliance categoryなどのtaxonomyで分類し、Activityやログで集計するworkspace機能です。分類は元の推論リクエスト後に非同期で行われるため推論経路にlatencyを足さないと公式説明されていますが、classifier modelのtokenは課金対象です。sampling rateを含め、観測コストも一緒に見ます。

Transcription・マルチモーダルは『一つのAPI』でも同じrequestではない

OpenRouterは一つのbase URLでimage、video、audio、embeddings、transcriptionへ接続できます。ただし、画像・音声・動画の入力は主にchat completionsのcontent typeを使い、transcriptionは専用のaudio/transcriptions endpointを使います。音声はbase64入力、動画URL、対応model/providerなど条件が分かれるため、統一APIを完全互換と読み替えないことが重要です。今回は検索意図が親記事と重なるため、Transcription独立記事は増やさず、この親記事と更新メモに確認結果を残します。

用途公式に確認できる入口実装前の確認
音声を文字にするPOST /api/v1/audio/transcriptionsbase64、model、format、usage.cost、timeout、provider制御の範囲
音声を理解するPOST /api/v1/chat/completions + input_audio対応model、音声形式、content array、provider差
画像・PDF・動画入力主にchat completions + content typemodelごとの対応、URL/base64、動画URL制限
画像生成・embeddings・TTS専用endpointrequest shape、response形式、価格の単位

公式情報と実務的な推論を分けて運用する

  • 公式仕様:endpoint、request field、provider routing、cache指標、Beta・GAの表示をsourceと一緒に記録する
  • 実務的な推論:自分のworkloadでTTFT、生成速度、エラー、retry、costを同じ条件で比べる
  • 環境依存:provider、model、地域、plan、workspace、data policy、料金は固定の結論にしない
  • 未確認事項:実測していない節約率、全model対応、永続的なprovider固定、データ保持なしは断定しない

よくある質問

OpenRouterを安く使うには、安いモデルを選べば十分ですか?

十分ではありません。固定入力のcache hit、出力長、tool call、retry、fallback、provider、請求経路を分けて確認します。未測定の節約率は記事からは判断できません。

Batch APIなら必ず半額になりますか?

いいえ。per-tokenの割引はmodelごとに異なり、token以外の料金は一律に割引されません。対応model、provider、model pageの料金と完了後のusage.costを確認してください。

Batch APIはいつまでに結果が返りますか?

completion windowは24時間です。非同期処理でproviderが枠内の処理時刻を選ぶため、即時応答や固定SLAが必要な処理には同期APIを使います。

batch requestで個人情報や添付を扱えますか?

利用前にOpenRouterと選択providerのdata policyを確認します。OpenRouter側ではinputとresultを作成から最大30日保持し、upstream providerのretentionはproviderごとに異なります。画像・fileはpublic URLやprovider対応が必要です。terminal状態になった後、不要なbatchはAPIから削除できます。

Classifiersを使えばAPI料金は下がりますか?

自動で下がる機能ではありません。generationを分類して、どの作業・難度・部門が費用を使ったかを見えるようにするBeta機能です。classifier modelのtokenも課金されるため、sampling rateと観測効果を比べます。

Transcription APIと音声入力は同じですか?

違います。音声を文字列へ変換する場合はaudio/transcriptions、音声をモデルに理解させる場合はchat completionsのinput_audioが入口です。対応model、format、provider制御、response形式を分けて確認します。