Runbase áp dụng giới hạn tốc độ theo từng API key để đảm bảo sử dụng công bằng và sự ổn định của nền tảng.
Giới hạn mặc định
| Phạm vi | Giới hạn |
|---|---|
| API key (các endpoint runs) | 20 yêu cầu mỗi 10 giây |
| Endpoint xác thực | 5 yêu cầu mỗi 60 giây |
| Kiểm tra session | 60 yêu cầu mỗi 60 giây |
Giới hạn tốc độ cho các endpoint runs áp dụng cho cả POST /api/v1/runs và GET /api/v1/runs/:id cộng lại, theo từng API key.
Phản hồi khi vượt giới hạn tốc độ
Khi bạn vượt quá giới hạn, API trả về HTTP 429:
{
"error": {
"message": "Rate limit exceeded",
"code": "RATE_LIMITED"
}
}Xử lý giới hạn tốc độ
Triển khai exponential backoff khi bạn nhận được phản hồi 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")Mẹo
- Dùng các key riêng biệt cho các dịch vụ hoặc worker khác nhau để tránh dùng chung một giới hạn tốc độ
- Thăm dò với khoảng thời gian hợp lý khi kiểm tra trạng thái run — cứ mỗi 1–2 giây là đủ cho hầu hết các model
- Xử lý theo lô thay vì gửi nhiều yêu cầu cùng lúc
- Đừng thử lại ngay khi gặp 429 — luôn đợi trước khi thử lại
Cần giới hạn cao hơn?
Liên hệ support@runbase.net nếu trường hợp sử dụng của bạn cần giới hạn tốc độ cao hơn.

