2026年9月4日 金曜日
AI時短ラボ
検証· 約12

OpenAI APIに「使いすぎたら429で止める」設定──アラートと上限の違いを公式ガイドで確認する

OpenAIが2026年7月22日、組織・プロジェクト単位で月次の支出上限(ハードスペンドリミット)を設定できる機能をAPIプラットフォームに追加しました。上限に達すると対象リクエストは429エラーを返します。公式ガイドには「有効化は即座ではないため、記録された支出が設定額をわずかに超えることがある」という注記もあり、上限の仕組みを条文レベルで確認しました。

OpenAI APIに「使いすぎたら429で止める」設定──アラートと上限の違いを公式ガイドで確認する
執筆・編集:
目次

2026年8月27日、OpenAI公式ドキュメント(developers.openai.com)を実際に開いて確認した内容です。 OpenAIのAPI変更履歴に、2026年7月22日付で次の記載があります(原文と訳)。

"Added hard spend limits for organizations and projects on the OpenAI API platform. Set a monthly cap that causes affected API requests to return a 429 error when tracked spend reaches the limit. Use spend alerts for notification before traffic is interrupted."

(訳:OpenAI APIプラットフォームに組織・プロジェクト単位のハードスペンドリミットを追加した。月次の上限を設定すると、記録された支出がその上限に達した時点で、対象のAPIリクエストが429エラーを返すようになる。トラフィックが中断される前に通知を受けたい場合はスペンドアラートを使う)

リンク先の専用ガイドページ(Spend limits)を読むと、アラートと上限という2つの独立した仕組みの違いや、エラーコードの詳細、上限到達後の復旧手順まで具体的に書かれていました。

3行まとめ

  • 2026年7月22日、OpenAI APIに「組織」「プロジェクト」単位のハードスペンドリミットが追加された。月次の上限額に達すると、対象APIリクエストが429エラー(organization_spend_limit_exceededまたはproject_spend_limit_exceeded)を返す
  • スペンドアラート(通知のみ、トラフィックは止めない)とハードスペンドリミット(上限で実際に止める)は別の仕組みで、両方を併用できる
  • 公式ガイドは「執行(enforcement)は即座ではないため、記録された支出が設定額をわずかに超えることがある」と明記している

アラートと上限、2つの独立した仕組み

公式ガイドは、支出をコントロールする方法として2つを対比しています。

コントロール 設定額に達した時に起きること 使う場面
スペンドアラート 通知が送られる。APIトラフィックは継続する トラフィックを中断せずに支出を追跡したい時
ハードスペンドリミット 対象のAPIリクエストが429エラーを返す 組織・プロジェクトの月次上限を強制したい時

ガイドは「スペンドアラートは上限を強制するものではない。ハードスペンドリミットを追加してもアラートは有効なままなので、トラフィックが中断される前の通知としてアラートを使える」と説明しています。つまり、まずアラートで「そろそろ危ない」と気づき、ハードリミットで実際に止める、という2段構えの設計です。

なお、ガイドはこれとは別に「OpenAIは、組織の利用階層(usage tier)に基づいて、OpenAI側が承認した月次の利用上限も割り当てている。このOpenAI承認済みの利用上限は、ユーザーが設定する支出上限とは別物」とも注記しています。ユーザーが自分で設定する上限と、OpenAI側が階層に応じて課している上限の、2階層があるということです。

この「利用階層」の実際の数字を、参照先のrate-limitsガイドから確認すると次の通りでした。

階層 条件 OpenAI承認済みの月次利用上限
Free 対象地域のユーザーであること(支払い実績は不要) $100/月
Tier 1 累計$5の支払い実績 $100/月
Tier 2 累計$50の支払い実績 $500/月
Tier 3 累計$100の支払い実績 $1,000/月
Tier 4 累計$250の支払い実績 $5,000/月
Tier 5 累計$1,000の支払い実績 $200,000/月

この表から分かるのは、Freeティア(支払い実績のないアカウント)にも、そもそもOpenAI側が課す$100/月という利用上限がすでに存在するということです。つまり「ハードスペンドリミットを自分で設定できるかどうか」とは別に、無料利用枠のアカウントであっても無制限に使えるわけではなく、OpenAI側の階層上限が下から効いている、という構造がこの表から読み取れます。ただし、Freeティアのアカウント自身が「Enforce a hard limit」のトグルを操作できるかどうかについては、spend-limitsガイド・rate-limitsガイドのどちらにも明記がなく、この記事の範囲では確認できていません。

設定手順(組織単位・プロジェクト単位)

公式ガイドが示す設定手順は、組織単位とプロジェクト単位でほぼ同じ構造です。

組織単位

  1. Organization limitsページ(platform.openai.com/settings/organization/limits)を開く
  2. 「Spend」欄で「Edit spend limit」を選ぶ
  3. 「Monthly spend limit」に金額を入力
  4. 「Enforce a hard limit」を有効にすると、組織が上限に達した時にAPIレスポンスが失敗するようになる
  5. 保存する

プロジェクト単位

  1. Project settingsページを開く
  2. 「Limits」を選ぶ
  3. 「Spend」欄で「Edit spend limit」を選ぶ
  4. 金額を入力し、「Enforce a hard limit」を有効にする
  5. 保存する

いずれも、この操作を行うには該当する組織・プロジェクト設定を管理する権限が必要だとガイドは明記しています。参照先の「API Platform permissions」ガイドを確認すると、この権限は具体的なロール名として定義されていました。組織レベルのレート制限・支出上限の管理には「Organization Admin」ロール(組織のユーザー・プロジェクト・招待・Admin APIキー・レート制限の読み書き権限)が、プロジェクトレベルの管理には「Project Administration」ロール(プロジェクトのユーザー・サービスアカウント・APIキー・レート制限の読み書き権限)が、それぞれ対応するようです。

上限到達時の挙動:2種類のエラーコード

組織の上限とプロジェクトの上限は両方が同時に1つのリクエストに適用され得ます。ガイドは次のように整理しています。

  • 組織のハードリミットは、その組織内の全プロジェクトのAPIトラフィックに適用される
  • プロジェクトのハードリミットは、そのプロジェクトに課金されるAPIトラフィックにのみ適用される
  • 組織のハードリミットに達するとorganization_spend_limit_exceededコードで429エラーが返る
  • プロジェクトのハードリミットに達するとproject_spend_limit_exceededコードで429エラーが返る
  • 到達した上限を引き上げる、または削除すると、その更新が反映され次第トラフィックが再開する。そうしなければ、次の月次サイクルでリセットされる

「執行は即座ではない」という重要な注記

公式ガイドの本文には、次の警告が2回にわたって(冒頭と「Understand hard-limit behavior」セクションの両方で)繰り返されています。

"Enforcement is not instantaneous, so recorded spend can slightly exceed the configured amount."

(訳:執行は即座ではないため、記録された支出が設定額をわずかに超えることがある)

より詳しい説明では「上限の状態が反映される(propagate)までのあいだ、APIプラットフォームは少量の追加利用を処理できてしまう」ともあります。つまりハードスペンドリミットは「1円たりとも超えない」という完全な保証ではなく、伝播の遅延分だけ超過が起こり得る、という設計です。これは月次予算をぎりぎりで運用している開発者にとって見落としやすい注意点だと考えられます。

トラフィック復旧の手順

APIリクエストが課金関連の上限で失敗した場合、公式ガイドは次の切り分け手順を示しています。

  1. error.codeを確認し、組織の支出上限・プロジェクトの支出上限・OpenAI承認済み利用上限のどれに該当するか、あるいはプリペイドクレジットの枯渇かを特定する
  2. organization_spend_limit_exceededまたはproject_spend_limit_exceededの場合、現在の利用状況と設定した上限を比較する。トラフィックをすぐ再開したい場合は、到達した上限を引き上げるか削除する
  3. organization_usage_limit_exceededの場合、より高い承認済み利用上限を申請する
  4. credit_balance_exhaustedの場合、クレジットを追加する
  5. レート制限(リクエスト数・トークン数)が原因のエラーの場合は、rate limitsガイドに従う

設定画面そのものは見ていない

筆者は今回、この記事のために新たにOpenAI組織の管理者権限を確認する認証済みセッションを開いておらず、platform.openai.com/settings/organization/limitsの実際の設定画面のスクリーンショットや挙動は確認していません。本記事はdevelopers.openai.comで公開されているガイド本文の記載のみを情報源としており、画面上のボタンの実際の配置や、上限設定後にダッシュボードがどう表示されるかについては書けません。実際に上限を設定して429エラーを意図的に発生させる検証も、無駄なコストがかかる操作のため今回は行っていません。

リセットの正確なタイミングは公式ガイドに書かれていなかった

ハードスペンドリミットに達した後、いつAPIトラフィックが自動的に再開するのか(月初にリセットされる正確なタイミング、タイムゾーンの扱いなど)についての詳細は、今回確認したガイド本文には「次の月次サイクルでリセットされる(resets with the next monthly cycle)」としか書かれておらず、具体的な日時の定義はありませんでした。また、rate-limitsガイドの「利用階層」表を確認したことで、Freeティアにも$100/月というOpenAI側の利用上限が別途存在することは分かりましたが、Freeティアのアカウント自身が今回の「Enforce a hard limit」トグルを操作できるかどうかについては、確認した2本のガイドのどちらにも明記がなく、この記事の範囲では確認できませんでした。

関連記事

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事