429 Too Many Requests エラーの解決方法
問題の説明
OpenAI APIを使用している際に、以下のような429 Too Many Requests
エラーが発生するケースがあります。
import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
organization: "org-Fn2EqsTpiUCTKb8m61wr6H8m",
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
});
const openai = new OpenAIApi(configuration);
async function callApi() {
const response = await openai.createCompletion({
model: "text-davinci-003",
prompt: "Say this is a test",
max_tokens: 3000,
temperature: 0,
});
console.log(response.data.choices[0].text);
}
callApi();
問題の特徴:
- APIキーが正しいにも関わらずエラーが発生
- アカウントの使用履歴が0でもエラーが発生
- 指数バックオフなどの再試行処理を実装しても解決しない
エラーの本質
「リクエスト数超過」というメッセージですが、実際にはクレジット不足が原因であるケースが多くあります。特に2023年4月以降のOpenAIのポリシー変更(プリペイド制導入)が影響しています。
主な解決策:クレジット残高の補充
最も一般的な解決方法は、OpenAIアカウントにクレジットを追加することです。公式ドキュメントでも、429エラーの原因について以下のように説明されています。
https://platform.openai.com/docs/guides/error-codes
エラーコード | 原因と解決方法 |
---|---|
429 - You exceeded your current quota, please check your plan and billing details | 原因: クレジット不足または月間利用上限到達 解決策: クレジット購入または利用上限の引き上げ |
具体的な追加手順
- OpenAI Billingページにアクセス
- **「Add to credit balance」**ボタンをクリック
- クレジットを追加(最小$5)
- オプションで自動チャージを設定可能
- 約3~5分待機してからAPIリクエストを再試行
重要な注意点
- クレジット追加後、動作するまでに数分かかります(即時反映されない)
- 無料クレジット期限切れの場合も同様の現象が発生(2023年4月1日に多くの無料枠が失効)
- 古いAPIキーでは動作しない可能性がある
その他の対処法
1. 新しいAPIキーの生成
無料枠期限後やプリペイド移行後に生成したAPIキーでない場合
// 設定で新しいAPIキーを生成後、コードを更新
const configuration = new Configuration({
apiKey: "新しいAPIキー", // ダッシュボードで再生成
});
2. 組織IDの設定確認
組織アカウントを使用している場合
const configuration = new Configuration({
organization: "org-xxxx", // 組織IDを設定
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
});
組織IDはOrganization Settingsで確認できます。
3. 利用ティアの確認
新規アカウントはTier 1(低い利用制限)に属します:
- 設定 → Limits に移動
- 現在の利用状況を確認
- 利用制限を超えていないかチェック
※ Tier 2へ移行するには$50相当の利用が必要
よくある質問
Q. 「APIキーが全く使われていない」のに429エラーになるのはなぜ?
元々の無料クレジット($18)が有効期限切れになっているケースや、アカウントに残高がない状態でAPIキーが生成された場合に発生します。
アカウント作成日が2023年4月以前の場合、無料クレジットは2023年4月1日に失効しています。
Q. クレジットを補充したのにまだエラーが出ます
以下の要因をチェックしてください:
- クレジット追加から5分以上経過しているか
- 利用しているAPIキーが補充後に生成されたものか
- ダッシュボードの使用量統計ページで正しいプロジェクト・月を選択しているか
最終確認ポイント:
アカウントにクレジットが存在しても、使用プロジェクトやAPIキーの設定間違いがあるとエラーが持続します。問題が解決しない場合は、新しいAPIキーの生成とコードの再確認を行いましょう。