Runbase文件

Command Palette

Search for a command to run...

速率限制

API 請求限制以及如何處理它們。

Runbase 會對每個 API 金鑰套用速率限制,以確保公平使用與平台穩定性。

預設限制

範圍限制
API 金鑰(runs 端點)每 10 秒 20 次請求
驗證端點每 60 秒 5 次請求
Session 檢查每 60 秒 60 次請求

runs 端點的速率限制會同時套用於 POST /api/v1/runsGET /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