課金とレート制限
本ページでは、1 回のリクエストを送信してから精算するまでの課金プロセスと、エラー、キャンセル、レート制限などの場合に課金されるかどうかを説明します。各モデルの単価と課金方式はモデル料金をご覧ください。
課金のタイミング
Section titled “課金のタイミング”リクエストは毎回「事前確保 → 精算」の 2 ステップを経ます:
- 事前確保: リクエストをアップストリームへ転送する前に、キーのクォータとアカウント残高から見積額を確保します。どちらかが不足している場合、リクエストは拒否され、アップストリームへは送信されません。
- 精算: リクエスト完了後、アップストリームが返した実際の使用量に基づいて実際のコストを計算します。多く確保した分は返却され、不足分は追加で差し引かれます。
見積額の計算方法:
| モデル種別 | 見積り方法 |
|---|---|
| トークン単位の課金 | 入力トークン数にリクエストの max_tokens を加え、モデルの単価で見積る |
| 段階料金モデル | 最も高い段階の価格で見積り、精算時に実際の段階で課金 |
| リクエスト単位または画像単位の課金 | 1 回分の価格をそのまま事前確保 |
| 非同期タスク(動画、音楽など) | 送信時に見積額を事前確保し、タスク終了後に精算 |
エラー時の課金
Section titled “エラー時の課金”原則は課金対象の使用量が発生していなければ課金されないことで、確保した金額は全額返却されます。
| シナリオ | 課金 |
|---|---|
| キーが無効・期限切れ、または残高・キーのクォータが不足 | 課金なし。リクエストはアップストリームへ送信されない |
| リクエストパラメータの誤り、モデル利用不可、利用可能なチャネルなし | 課金なし |
レート制限(429) | 課金なし |
| アップストリームがエラーを返した(4xx / 5xx) | 課金なし。確保した金額は全額返却 |
| アップストリームは成功したが、使用量が 0 | 課金なし |
| ストリーミング出力中にアップストリームが中断またはタイムアウト | 生成済みの内容に対して課金 |
| 非同期タスクの失敗またはタイムアウト(24 時間以内に未完了) | 課金なし。確保した金額は全額返却 |
リトライとフォールバック
Section titled “リトライとフォールバック”RouteAPI はアップストリームでエラーが発生すると、自動でリトライするか他のチャネルに切り替えます。この一連の処理で事前確保と精算はそれぞれ 1 回だけ行われ、失敗した試行は課金されず、最終的に成功した 1 回分だけを支払います。最終的にフォールバックモデルがリクエストを完了した場合は、実際に対応したモデルの価格で課金されます。
ストリーミングリクエストは、あなたへの出力が始まるとリトライされません。この場合にアップストリームが中断すると、生成済みの部分に対して課金されます。
手動キャンセル時の課金
Section titled “手動キャンセル時の課金”| シナリオ | 課金 |
|---|---|
| 非ストリーミングリクエストで、レスポンス受信前に接続を切断 | 課金なし。確保した金額は全額返却 |
| ストリーミングリクエストで、途中で接続を切断 | 課金あり。以下の説明を参照 |
| 非同期タスク(動画、音楽、Midjourney) | 送信後のキャンセルは不可 |
ストリーミングリクエストを途中で切断した場合、アップストリームは通常すでに生成を開始しており、終了まで生成を続けます。RouteAPI は生成が終わるまでアップストリームの出力を読み続け、受信済みの部分だけでなく、アップストリームが実際に生成した使用量に基づいて課金します。この費用を抑えたい場合は、max_tokens で出力長を制限してください。
プラットフォームとアップストリームの安定性を守るため、プラットフォームはアカウントごとにモデルリクエストの頻度を制限する場合があります。制限はアカウント単位で集計され、同じアカウント内のすべての API キーで共有されます。
レート制限に達すると 429 Too Many Requests が返され、レスポンスボディは他のエラーの形式と同じです:
{ "error": { "message": "... (request id: ...)", "type": "error", "code": "" }}- レート制限されたリクエストは事前確保の前に拒否され、課金されません。
- アップストリームが
429を返した場合、RouteAPI は自動で他のチャネルに切り替えてリトライします。リトライ後もレート制限される場合にのみ、429が返されます。 - レスポンスには
Retry-Afterヘッダーは付きません。クライアント側では指数バックオフ(例: 1 秒、2 秒、4 秒)にランダムなジッターを加えてリトライすることをおすすめします。 - 複数の API キーに分割してもレート制限の枠は増えません。より高いリクエスト頻度が必要な場合はお問い合わせください。
プラットフォーム API(/api/open/v1)には別途レート制限ルールがあります。プラットフォーム API のエラーと制限をご覧ください。
課金額の確認
Section titled “課金額の確認”使用ログで、課金対象の各リクエストの明細を確認できます:
| フィールド | 説明 |
|---|---|
| 時刻 | リクエスト時刻 |
| キー | リクエストを発行した API キーの名前 |
| モデル | 実際に課金されたモデル |
| 所要時間 / 初回トークン | 合計所要時間。ストリーミングリクエストでは初回トークンまでの遅延も表示 |
| 入力 | 入力トークン数。キャッシュにヒットした場合はキャッシュ読み取りと書き込みを個別に表示 |
| 出力 | 出力トークン数 |
| コスト | 今回の実際の課金額 |
| 明細 | 単価、料率、課金の内訳 |
API レスポンスの usage フィールドにも、今回のトークン使用量が返されます:
| フィールド | 説明 |
|---|---|
prompt_tokens | 入力トークン |
completion_tokens | 出力トークン。推論モデルの推論トークンもここに含まれる |
total_tokens | 入力と出力の合計 |
prompt_tokens_details.cached_tokens | キャッシュにヒットした入力トークン |
アカウントに専用の割引がある場合、ログに表示されるコストは割引後の金額です。