Runbase 會對每個 API 金鑰套用速率限制,以確保公平使用與平台穩定性。
預設限制
| 範圍 | 限制 |
|---|---|
| API 金鑰(runs 端點) | 每 10 秒 20 次請求 |
| 驗證端點 | 每 60 秒 5 次請求 |
| Session 檢查 | 每 60 秒 60 次請求 |
runs 端點的速率限制會同時套用於 POST /api/v1/runs 和 GET /api/v1/runs/:id,以每個 API 金鑰為單位計算。
速率限制回應
當你超過限制時,API 會回傳 HTTP 429:
{
"error": {
"message": "Rate limit exceeded",
"code": "RATE_LIMITED"
}
}處理速率限制
當你收到 429 回應時,請實作指數退避:
import time
import requests
def create_run(api_key, model, input_data, max_retries=3):
url = "https://runbase.net/api/v1/runs"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
body = {"model": model, "input": input_data}
for attempt in range(max_retries):
response = requests.post(url, json=body, headers=headers)
if response.status_code == 429:
wait = 2 ** attempt
time.sleep(wait)
continue
return response.json()
raise Exception("Rate limit exceeded after retries")提示
- 使用不同的金鑰 來對應不同服務或 worker,以避免共用同一個速率限制
- 以合理的間隔輪詢 來檢查 run 狀態——每 1–2 秒一次對大多數模型就足夠了
- 批次處理工作,不要同時送出大量請求
- 不要在 429 後立即重試——重試前務必先等待
需要更高的限制?
如果你的使用情境需要更高的速率限制,請聯絡 support@runbase.net。

