documentazione
Aiuto

Errori e limiti

Markdown

Codici di risposta, significato e azioni da intraprendere. Tutti gli errori sono in JSON e contengono un Request ID.

Guida completa

Formato dell’errore

L’errore arriva nel formato dell’API chiamata: oggetto error per OpenAI, {"type": "error", "error": {...}} per Anthropic e error con i campi status e details per Gemini. Gli SDK quindi li riconoscono come normali errori API.

  • error.code e error.reason — classe dell’errore nella tabella sotto; i valori coincidono. error.type — valore standard del formato (ad esempio invalid_request_error oppure server_error).
  • error.request_id (in Anthropic — request_id al primo livello), l’header X-Request-ID e la fine del messaggio contengono l’identificatore della richiesta.
  • In Gemini la classe si trova in error.details: ErrorInfo.reason — lo stesso codice in maiuscolo (ad esempio MODEL_OVERLOADED), domain — ailoot.ai; l’identificatore della richiesta è in RequestInfo.requestId.
  • Nel formato Gemini un errore 5xx che non va ripetuto automaticamente e result_pending_check arrivano con stato 409 e status ABORTED: così Gemini SDK e CLI non li ripetono da soli. La classe dell’errore è in ErrorInfo.reason (ad esempio MODEL_TIMEOUT oppure RESULT_PENDING_CHECK).
  • La risposta nel formato OpenAI contiene anche i campi di primo livello code e message — per i client precedenti.
{
  "code": "API_KEY_REQUIRED",
  "error": {
    "code": "invalid_api_key",
    "message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
    "param": null,
    "reason": "invalid_api_key",
    "request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
    "type": "invalid_request_error"
  },
  "message": "No API key was sent with the request. Nothing was charged. …"
}

Codici di errore

HTTPClasse (reason)Cosa è successoCosa fare
400invalid_requestRichiesta non valida: corpo o parametro errato; il modello non supporta un campo, allegato o strumento della richiesta; chiave inviata nell’indirizzo Correggi la richiesta in base al testo dell’errore: rimuovi il campo, allegato o strumento non supportato; trasmetti la chiave nell’header. Il rifiuto per un campo, allegato o strumento non supportato avviene prima della riserva — non è stato addebitato nulla
400context_length_exceededLa richiesta supera il contesto del modelloRiduci la cronologia o scegli un modello con contesto più ampio
400content_policy_violationRichiesta rifiutata dalle regole del modelloRiformula la richiesta
401invalid_api_keyLa chiave manca o non è validaControlla che la chiave sia stata trasmessa per intero
401api_key_disabledChiave disattivataAttiva la chiave o creane una nuova
402insufficient_balance, insufficient_quotaIl saldo libero non basta nemmeno per la riserva minima (insufficient_quota — lo stesso caso nel formato familiare a OpenAI SDK)Ricarica il saldo o riduci max_tokens
402api_key_quota_exhaustedLimite totale di spesa della chiave esauritoAumenta il limite della chiave nell’area personale
402payment_disputedL’account ha un debito per un pagamento contestatoLe nuove richieste sono sospese fino al pagamento del debito — contatta l’assistenza
403api_key_expiredChiave scadutaCrea una nuova chiave
403account_inactiveAccount disattivatoContatta l’assistenza
403permission_deniedLa richiesta non è consentita per la chiave (ad esempio per IP)Controlla le restrizioni della chiave
404model_not_foundIl modello non esisteConfronta l’ID con /v1/models
404unsupported_endpointIl modello non funziona in questo formatoScegli un altro formato o modello
404not_foundIl percorso o l’oggetto (ad esempio l’attività) non esisteControlla indirizzo e identificatore
409duplicate_requestL’operazione con la stessa chiave di idempotenza è già stata accettata e potrebbe essere conclusaControlla il risultato della prima operazione; non inviarne una nuova
409not_ready, video_not_readyIl video o un’altra attività non è ancora prontoRichiedi lo stato più tardi
409, 503result_pending_checkStiamo chiarendo il risultato della richiesta. Per un’attività video è il flag result_pending_check: true nella risposta di stato, mentre l’attività resta in_progressNon ripetere la richiesta — lo stato apparirà nella cronologia (GET https://ailoot.ai/api/v1/usage). Non ricreare l’attività video: controllala più tardi tramite GET /v1/videos/{id}
410model_retiredIl modello è stato ritirato dal servizioScegli una nuova versione in GET /v1/models
413request_too_largeIl corpo della richiesta è troppo grandeRiduci i file o la cronologia
429rate_limit_exceeded, gateway_concurrency_limit, gateway_queue_fullTroppe richieste o richieste simultanee dal tuo accountAttendi (header Retry-After, normalmente 10 s) e riprova
429usage_limit_reachedFinestra di spesa della chiave esaurita (5 ore, 1 giorno o 7 giorni)Attendi il rinnovo della finestra o aumenta il limite della chiave
500internal_errorErrore AilootContatta l’assistenza con il Request ID
502invalid_model_response, empty_response, incomplete_responseIl modello ha restituito una risposta non valida, vuota o incompletaTrova il Request ID nella cronologia dell’area personale. Se è presente un risultato o un addebito, ripetere la richiesta ne creerà una seconda a pagamento. L’assenza di una voce non conferma che la richiesta non sia stata inviata o eseguita: non ripetere un invio non confermato; contatta l’assistenza indicando il Request ID.
502result_not_deliveredRisultato non consegnato per colpa di Ailoot; riserva o addebito restituitiLa richiesta può essere inviata di nuovo
503model_overloadedIl modello è temporaneamente sovraccaricoSe X-Should-Retry: true — riprova dopo Retry-After secondi; se false — controlla prima il Request ID nella cronologia
503model_unavailableIl modello è temporaneamente non disponibileScegli un altro modello. Se X-Should-Retry: true — riprova dopo Retry-After secondi; se false — controlla prima il Request ID nella cronologia
503service_unavailableErrore temporaneo lato AilootSe X-Should-Retry: true — riprova dopo Retry-After secondi; se false — controlla prima il Request ID nella cronologia
503charge_not_confirmedRisposta non consegnata: impossibile confermare l’addebito; riserva restituita, denaro non addebitatoSe X-Should-Retry: true — riprova dopo Retry-After secondi; se false — controlla prima il Request ID nella cronologia
504model_timeoutIl modello non ha risposto in tempo; il risultato potrebbe ancora arrivareNon inviare di nuovo la richiesta prima di aver controllato il Request ID nella cronologia

I codici per le risposte del modello e la verifica del risultato (502, 503 e 504) ora fanno riferimento al modello o alla richiesta: model_unavailable, model_timeout, invalid_model_response, incomplete_response, charge_not_confirmed e result_pending_check. Se il tuo codice confronta error.code con i valori precedenti, sostituiscili con i codici della tabella; la corrispondenza tra codici vecchi e nuovi può essere indicata dal servizio di assistenza.

Quando ripetere una richiesta

  • Controlla prima X-Should-Retry: con false, result_pending_check oppure model_timeout non ripetere automaticamente. Trova il Request ID nella cronologia dell’area personale: mostra risultato e addebito.
  • Ripetere è sicuro quando ricevi X-Should-Retry: true: attendi Retry-After secondi. Per 5xx il solo codice non basta: il risultato potrebbe già essere arrivato. Controlla prima la cronologia nell’area personale o contatta l’assistenza con il Request ID. È particolarmente importante per immagini, video, musica e passaggi lunghi degli agenti.
  • Ripetere non aiuta: 400, 401, 402, 403, 404 — correggi prima richiesta, chiave o saldo.

Limiti

La frequenza e il numero di richieste simultanee sono limitati per l’intero account, non per la singola chiave. Superando il limite ricevi 429 rate_limit_exceeded con l’header Retry-After: 10. Se è il modello stesso a essere sovraccarico — 503 model_overloaded con Retry-After: 30. Se ti serve un carico maggiore, scrivi al servizio di assistenza.

I limiti di spesa si impostano sulla chiave: limite totale — 402 api_key_quota_exhausted, finestre di 5 ore, 1 giorno e 7 giorni — 429 usage_limit_reached. Per approfondire — Chiavi e indirizzo API.

Modelli NVIDIA: coda

Puoi richiedere l’elenco dei modelli anche con saldo zero; la generazione richiede saldo per la riserva. I modelli NVIDIA (Nemotron e altri) usano una coda condivisa: con carico elevato la risposta può arrivare più tardi oppure viene restituito l’errore «modello temporaneamente sovraccarico» con l’header Retry-After — riprova dopo il tempo indicato. I prezzi sono nel catalogo e gli addebiti funzionano come per gli altri modelli.

I limiti di dimensione sono stabiliti dal modello: contesto (quanti token puoi inviare) e lunghezza massima della risposta. Sono indicati nel catalogo.

Cronologia e spese

Cronologia e spese · GET https://ailoot.ai/api/v1/usage · JWT · Authorization: Bearer $TOKEN

JWT ≠ sk-… · Accesso e sessioni

Hai altre domande? Invia il Request ID e una descrizione — ti aiuteremo a chiarire il problema.Contatta l’assistenza