Runbase applica limiti di velocità per chiave API per garantire un uso equo e la stabilità della piattaforma.
Limiti predefiniti
| Ambito | Limite |
|---|---|
| Chiave API (endpoint runs) | 20 richieste ogni 10 secondi |
| Endpoint di autenticazione | 5 richieste ogni 60 secondi |
| Controllo sessione | 60 richieste ogni 60 secondi |
Il limite di velocità per gli endpoint runs si applica sia a POST /api/v1/runs sia a GET /api/v1/runs/:id combinati, per chiave API.
Risposta al limite di velocità
Quando superi il limite, l'API restituisce HTTP 429:
{
"error": {
"message": "Rate limit exceeded",
"code": "RATE_LIMITED"
}
}Gestione dei limiti di velocità
Implementa un backoff esponenziale quando ricevi una risposta 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")Suggerimenti
- Usa chiavi separate per diversi servizi o worker per evitare di condividere un limite di velocità
- Interroga a intervalli ragionevoli quando controlli lo stato di un run — ogni 1–2 secondi è sufficiente per la maggior parte dei modelli
- Raggruppa il lavoro invece di inviare molte richieste contemporaneamente
- Non riprovare immediatamente su 429 — attendi sempre prima di riprovare
Hai bisogno di limiti più alti?
Contatta support@runbase.net se il tuo caso d'uso richiede limiti di velocità più alti.

