Zidooka

OpenCode-Geminiで『Resource has been exhausted』が出る原因と対処法(APIキー/課金/レート制限)

※ この記事の内容について、業務・開発上お困りの場合は個別に対応できます(5,000円〜)。

【結論】OpenCode-Geminiの「Resource has been exhausted」は、ほとんどの場合「使用量(クォータ)・課金上限・レート制限(同時実行含む)」のいずれかで“使い切り/上限到達”している状態です。

この記事で扱うこと

OpenCode-Gemini(Gemini API キー利用)で、次のようなエラーが繰り返し出て止まるケースの原因と対処をまとめます。

Resource has been exhausted (e.g. check quota). [retrying in 46s]

エラー画面(例)

エラーの意味(ざっくり)

「リソースを使い切りました」という直訳どおりで、APIが“これ以上処理できない(または処理してはいけない)”状態です。よくある内訳は次のとおりです。

    1. クォータ(使用量)を使い切った
    1. 課金(Billing)の上限/支払い/残高の問題で止められている
    1. レート制限(リクエスト数、トークン、同時実行数)に当たっている

【ポイント】「少し待てば直る」場合もありますが、何度も出続けるなら“待つ”より“上限の種類を特定して対処”が近道です。

よくある原因

原因1: 課金・残高・上限の問題

一定額(例: 1日/1ヶ月の上限)を設定していたり、想定より早く消費したりすると発生します。

【対処】Gemini API を管理しているコンソールで「使用量」「請求(Billing)」「上限(Limits)」を確認し、上限を引き上げるか、別のキー/プロジェクトに切り替えます。

原因2: レート制限(同時実行を含む)

OpenCode側が複数リクエストを並列で投げている、あるいは短い間隔で再試行していると、レート制限に当たり続けて“実質的に永久ループ”に見えることがあります。

【対処】

  • 同時実行数を下げる(並列を1〜2にする)
  • リトライは指数バックオフ + ジッターにする(例: 2s→4s→8s…、上限回数も設定)
  • 失敗時にモデルを軽いものへフォールバックする(短期的に通りやすくなることがある)

原因3: APIキーの紐付け/権限/プロジェクト違い

同じキーを長く使っていると、プロジェクトを切り替えた、権限が変わった、上限設定が変わったなどで突然止まることもあります。

【対処】

  • OpenCodeが参照しているAPIキーが“意図したもの”か再確認
  • 可能なら新しいキーを作って差し替えて挙動を見る

すぐできるチェックリスト

【ポイント】まずは「クォータ/課金」→「レート制限」→「キー差し替え」の順で潰すと早いです。

  • コンソールで使用量・請求ステータス・上限(Limits)を確認
  • OpenCodeの同時実行数を下げる
  • リトライ設定(待ち時間、最大回数)を確認
  • 別のAPIキーに差し替えて再現するか確認

再発防止(運用のコツ)

  • 予算上限(Budget/Limit)に到達する前にアラートを設定
  • 高コストモデルは“必要な場面だけ”使う(普段は軽いモデルに寄せる)
  • 失敗ログ(日時・モデル・推定トークン・並列数)を残して原因切り分けを速くする

まとめ

【結論】「Resource has been exhausted」は“API側の上限”が原因なので、まずは「クォータ/課金/レート制限」のどれに当たっているかを確認し、上限設定・並列・リトライ方式を調整するのが最短です。

Zidooka
Zidooka

この記事の内容、60分で一緒に解決できます。

「詰まって進めない」「社内で対応できない」など、状況を聞いて最短ルートを提案します。

初回5,000円〜/事前見積りで安心。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

あわせて読みたい記事