Runbase 按 API 密钥应用速率限制,以确保公平使用和平台稳定性。
默认限制
| 范围 | 限制 |
|---|---|
| API 密钥(runs 端点) | 每 10 秒 20 个请求 |
| Auth 端点 | 每 60 秒 5 个请求 |
| Session check | 每 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 使用单独的密钥,以避免共享同一速率限制
- 在检查运行状态时以合理的间隔轮询 —— 对于大多数模型,每 1–2 秒一次就足够了
- 批量处理工作,而不是同时发送许多请求
- 不要在 429 后立即重试 —— 重试前一定要等待
需要更高的限制?
如果你的使用场景需要更高的速率限制,请联系 support@runbase.net。

