Cerca documentazione...

Inizia a digitare per cercare nella documentazione

Guida alla piattaforma

Errori e limiti di frequenza

Cosa significa ogni codice di stato e cosa fare al riguardo.

Il formato degli errori

Gli errori tornano come JSON nel formato di errore di OpenAI. Il messaggio indica cosa è successo, code è un identificatore stabile leggibile dalla macchina, e a ogni messaggio viene aggiunto un id di richiesta:

json
{
  "error": {
    "message": "Model \"gpt-5.5-typo\" is not offered here. Check the model name for typos, or switch to a model from our supported list. (request id: 20260705...)",
    "type": "new_api_error",
    "code": "model_not_found"
  }
}

Includi sempre l'id di richiesta quando contatti il supporto o apri un ticket su Discord. Ci consente di trovare la tua richiesta esatta nei log.

Codici di stato a colpo d'occhio

I codici di stato che incontrerai davvero:

CodiceSignificatoCosa fare
400Richiesta non valida: valori di parametro errati (per esempio max_tokens sotto il minimo del modello) o un prompt bloccato dalla moderazione dei contenuti.Correggi la richiesta. Ritentarla invariata fallirà di nuovo.
401Problema con la chiave: chiave API mancante, non valida, scaduta o disabilitata.Controlla l'header Authorization e la tua chiave nella pagina Token.
402Il limite di spesa proprio di questa chiave è esaurito.Aumenta il limite della chiave o crea una nuova chiave.
403Accesso negato: saldo dell'account vuoto, modello non consentito per questa chiave, o il tuo IP non è nella lista consentiti della chiave.Ricarica, o controlla le restrizioni di modello e IP della chiave.
413Richiesta troppo grande per il limite della prova gratuita di questo modello.Accorcia il prompt o passa al modello a pagamento.
429È scattato un limite di frequenza (vedi i tipi qui sotto).Attendi i secondi di Retry-After, poi ritenta o cambia modello.
500Qualcosa è andato storto da parte nostra o presso il fornitore upstream.Ritenta dopo una breve attesa; i 500 persistenti meritano una segnalazione.
503Tutti i fornitori del modello sono occupati, oppure il nome del modello non esiste.Leggi il messaggio: l'occupazione si risolve in pochi minuti, un errore di battitura no.

503: occupato o modello sconosciuto

Due situazioni molto diverse condividono lo stato 503. La prima è una congestione temporanea:

text
HTTP/1.1 503 Service Unavailable

{
  "error": {
    "message": "All providers for model \"kimi-k2.6:free\" are busy right now (they hit their rate limit). This is not a spelling error. Please try again in a little while, or switch to another model. (request id: 20260705...)",
    "type": "new_api_error",
    "code": "get_channel_failed"
  }
}

Il codice get_channel_failed (tutti i fornitori occupati) significa che ogni fornitore gratuito di quel modello è momentaneamente limitato in frequenza. Si ripristina da solo in pochi minuti: ritenta o cambia modello. Il codice model_not_found (non offerto qui) significa che il nome del modello stesso non si risolve, e ritentare non aiuterà mai. Controlla gli errori di battitura o cerca il nome attuale nel catalogo.

Tratta il 503 con get_channel_failed come ritentativo o fallback e il 503 con model_not_found come un errore irreversibile nel tuo client.

I tipi di limiti di frequenza

Un 429 può provenire da diversi livelli:

  • Il nostro limite per i modelli gratuiti: 1 richiesta al minuto per modello gratuito per utente. Un limite di equità affinché i pool condivisi sopravvivano alle ore di punta.
  • Limiti del fornitore upstream: il fornitore dietro un modello gratuito ha raggiunto il proprio limite ("temporarily rate-limited upstream", cioè temporaneamente limitato a monte).
  • Budget giornalieri di token su alcuni pool gratuiti; si azzerano a mezzanotte UTC.
  • Limiti di token al minuto che scattano su prompt molto grandi.
  • Un limite di concorrenza per utente quando troppe richieste vengono eseguite in parallelo.

I modelli a pagamento non hanno limiti di frequenza imposti da UnoRouter.

Il limite dei modelli gratuiti nel dettaglio

Quando scatta il nostro limite di 1 al minuto ottieni header standard di limite di frequenza, così i client possono rallentare con precisione:

text
HTTP/1.1 429 Too Many Requests
Retry-After: 38
X-RateLimit-Limit: 1
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1783198478

Retry-After è dinamico: i secondi effettivamente rimasti nella tua finestra, non un 60 fisso. Il messaggio di errore indica anche il gemello a pagamento del modello, che non ha limiti.

Limiti di dimensione della prova

Alcuni modelli normalmente a pagamento sono offerti gratuitamente con un limite alla dimensione della richiesta. I prompt troppo grandi ricevono 413 con un messaggio come: Request body too large for gpt-4.1 model. Max size: 8000 tokens.

Il limite si applica solo alla rotta della prova gratuita; il modello a pagamento accetta prompt di lunghezza piena.

Indicazioni sui ritentativi

Rispetta Retry-After sui 429. Ritenta il 503 get_channel_failed dopo una breve attesa, o ripiega su un altro modello. Non ritentare gli errori di classe 400, sono deterministici.

Le richieste fallite e rifiutate non vengono addebitate: qualsiasi blocco preventivo sul tuo saldo viene rimborsato quando la richiesta va in errore.

Codici di errore e limiti di frequenza