上限とレート制限
キーごとの利用上限、残高が足りないとき、レート制限、モデルごとの上限、リクエストの大きさの上限と、それぞれを超えたときに返るエラーです。
Echo のリクエストには、次の 5 つの上限があります。
| 上限 | 決める単位 | 超えたときの HTTP ステータス |
|---|---|---|
| キーの利用上限 | キーごと(決めるかどうかは任意) | 403 または 401 |
| 残高 | アカウント | 403 |
| レート制限(一定時間に送れるリクエスト数) | アカウント、接続元の IP アドレス | 429 |
| モデルごとの上限(リクエスト数、トークン数、同時リクエスト数) | アカウントとモデルの組み合わせ、モデル全体 | 429 |
| リクエスト本文の大きさ | リクエストごと | 400 |
キーの利用上限
- キーの発行時に「利用上限(円)」を入れると、そのキーはその金額まで使えます。空欄のキーは、アカウントの残高の範囲で使えます
- 利用上限は、使った分だけ減ります。月ごとなどに自動で元に戻ることはありません
- リクエストを送る前に、見込みの料金とキーの残りの利用上限を比べます。見込みの料金のほうが多いときは、送らずに 403 を返します(
This API key has reached its spending limit) - 料金は回答が終わったあとに実際のトークン数で確定するため、利用上限を超えることがあります。同時に複数のリクエストを送ると、それぞれが上の判定を通るため、超える額が 1 回分より大きくなることがあります。超えた分も残高から差し引きます。超える額を小さく抑えたいときは、同時に送るリクエストの数を減らしてください
- 利用上限を使い切ったキーは、キーが間違っているときと同じ 401 を返します(
Invalid API key)。キーに心当たりがないのに 401 が出るときは、コンソールの「APIキー」で、そのキーの状態と残りの利用上限を確認してください - 上限額は、コンソールの「APIキー」で、キーごとに「利用上限を変更」から変えられます。上限に達したキーも、上限を増やすと自動で再開します。プログラムのキーを差し替える必要はありません
キーの発行と一覧の見方はAPI キーと利用状況にあります。
残高が足りないとき
残高を使い切ると、リクエストを止めます(HTTP 403、Insufficient balance)。ただし、残高もキーの利用上限と同じく送る前の見込みの料金で判定するため、料金が残高を上回ることがあります(同時に複数のリクエストを送ると、上回る額が 1 回分より大きくなることがあります)。上回った分は残高がマイナスになり、次のチャージから差し引きます。
チャージして残高に反映されると、また使えるようになります。反映には、数秒から 1 分ほどかかることがあります。料金とチャージの詳細は料金とチャージにあります。
レート制限
| 数える単位 | 上限(暫定) | 超えたとき |
|---|---|---|
| アカウント。同じアカウントのキーは、まとめて数えます | 1 分あたり 60 回。Premium 会員は 600 回 | 429 と Rate limit exceeded for your account, please retry after 60 seconds を返します。Retry-After: 60 ヘッダーが付きます |
接続元の IP アドレス。/v1 で始まるパスへのリクエストを数えます | 1 分あたり 3,000 回 | 429 と Too many requests from your IP address, please retry after the number of seconds in the Retry-After header を返します。Retry-After ヘッダーに、待つ秒数が入ります |
経由先の API(モデルを実際に動かしている各社の API)にもレート制限があります。経由先のレート制限を超えたときは、429 と The model service is temporarily rate limited, please retry after 60 seconds を返します。Retry-After: 60 ヘッダーが付きます。
レート制限で断ったリクエストに、料金はかかりません。経由先のレート制限による 429 にも、料金はかかりません。
モデルごとの上限
モデルによっては、上のレート制限とは別に、モデルごとの上限があります。数えるのは次の 3 つです。上限の値は、モデルとアカウントによって異なります。
| 上限 | 数え方 |
|---|---|
| 1 分あたりのリクエスト数 | 直近 60 秒に受け付けたリクエストの数 |
| 1 分あたりのトークン数 | 直近 1 分間に使ったトークン数(入力と出力の合計)。実際に使った量で判断するため、反映に 10〜20 秒ほどの遅れがあります |
| 同時リクエスト数 | 回答がまだ終わっていないリクエストの数。ストリーミングは、最後まで届いた時点で終わりと数えます |
上限は 2 段階あります。どちらを超えても 429 を返し、Retry-After ヘッダーに待つ秒数が入ります。
| 超えた上限 | 返るメッセージ |
|---|---|
| あなたのアカウントが、そのモデルで使える分 | You have reached your rate limit for the model <モデル ID> (<上限の種類>), please retry after <秒数> seconds |
| そのモデル全体の上限(すべての利用者の合計) | The model <モデル ID> is receiving too many requests right now (<上限の種類>), please retry after <秒数> seconds |
<上限の種類> には、requests per minute、tokens per minute、concurrent requests のどれかが入ります。エラー本文の形式は、ほかの 429 と同じです(/v1/messages は Anthropic の形式、それ以外は OpenAI の形式。エラーと対処)。
送り直すときは、Retry-After の秒数以上待ってください。OpenAI と Anthropic の SDK は、429 を受け取ると Retry-After に従って自動で再試行します。同時リクエスト数の上限に当たるときは、同時に送る数を減らすか、前のリクエストが終わってから次を送ってください。モデルごとの上限で断ったリクエストに、料金はかかりません。
モデルごとの上限を数えるために、Echo はリクエスト本文をすべて受け取ってからモデルに送ります。本文の送信に時間がかかりすぎると、408 と The request body was not received in time, please send the request again を返します。料金はかかりません。同じリクエストを送り直してください。大きな画像やファイルを含むリクエストで起きる場合は、回線の上りの速度を確認するか、1 回のリクエストに含める量を減らしてください。
リクエストの大きさ
| 項目 | 内容 |
|---|---|
| リクエスト本文の大きさの上限 | 128 MB(暫定)。超えると 400 と Invalid request: request body exceeds 128 MB: request body too large を返します |
| 入力できるトークン数 | モデルごとのコンテキスト長(一度に扱えるトークン数)までです。モデル一覧の各モデルのページに載せます |
経由先の API にも、それぞれリクエストの大きさの上限があります。4 MB の画像を base64 で含むリクエストが、そのまま経由先に届くことを確認しています。入力がコンテキスト長を超えると、経由先の API が 400 を返します。
確認した情報源
| 内容 | 情報源 | 確認日 |
|---|---|---|
| レート制限の値、リクエスト本文の大きさの上限 | Echo の中継サーバーの設定(2026-09-28 時点) | 2026-09-28 |
見込みの料金が利用上限より多いときの 403、利用上限を使い切ったキーの 401、レート制限の 429 と Retry-After、レート制限をアカウントごとに数えること、レート制限で断ったリクエストに料金がかからないこと、128 MB を超えるリクエストの 400 | Echo の検証環境での実測。本番と同じ中継設定で、経由先の API の代わりに試験用の応答を返すサーバーを使いました | 2026-09-28 |
| 同時に送ったリクエストがそれぞれ見込みの判定を通り、合計で利用上限・残高を上回ること、上回った分も残高から差し引くこと | Echo の検証環境での実測(同上) | 2026-09-28 |
| 4 MB の画像が届くこと | Echo の検証環境での実測(同上) | 2026-09-27 |
| 利用上限の変更、上限に達したキーの再開、残高がマイナスになったときの扱い | Echo Token Station のコンソール(2026-09-28 時点の画面) | 2026-09-28 |
モデルごとの上限を超えたときの 429 と 2 種類のメッセージ、Retry-After、断ったリクエストに料金がかからないこと、本文の送信が遅いときの 408 | Echo の検証環境での実測(同上) | 2026-10-11 |