はじめに
レート制限
1つのキーにつき1分あたり120リクエスト、そして設定した1日の上限。どちらかに達すると、返答に待ち時間が示されます。
2026年10月26日 確認
上限
| 上限 | サイズ | 到達したとき |
|---|---|---|
| キーごとのリクエスト | 1分あたり120 | 429 rate_limited |
| キーごとの1日の上限 | 設定しない限りなし。$0.10〜$1,000.00 | 429 daily_cap、UTC 00:00まで |
| テストキー(sk-nokeep-test) | アドレスごとに1分あたり20 | 429 rate_limited |
| リクエストあたりのメッセージ数 | 2,000 | 400 invalid_messages |
| リクエストのサイズ | 12 MB | 413 too_large |
| リクエストあたりの画像 | 10枚、DeepSeekのみ | 400 too_many_images |
現在の使用状況を示すヘッダー
キー付きの呼び出しへの返答には、いつも現在の1分間のx-ratelimit-limit-requestsとx-ratelimit-remaining-requestsが付きます。
すべての429と503 busyにはRetry-Afterが秒数で付きます。分が空くまでの時間、1日の上限ならUTC 00:00までの時間、混雑したモデルなら5秒です。
再試行
OpenAIのPythonとJavaScriptのSDKは、429と5xxを自動で再試行し、Retry-Afterの時間だけ待ちます。素のHTTPなら、その時間待ってから1回再試行してください。
import time
import requests
def call(body, key):
for _ in range(3):
res = requests.post(
"https://nokeep.ai/v1/chat/completions",
headers={"Authorization": f"Bearer {key}"},
json=body,
)
if res.status_code not in (429, 503):
return res
time.sleep(int(res.headers.get("Retry-After", "5")))
return resdaily_capの場合は UTCの深夜0時まで待ちます。再試行する代わりに、コンソールで上限を上げてください。