Contratto di errore#
Gli errori usano { error: { message, type, code } }. Non riprovare mai indefinitamente.
| HTTP | Codice | Cosa fare |
|---|---|---|
| 400 | invalid_request | Correggi JSON, campi obbligatori o limiti di token. |
| 401 | invalid_api_key | Controlla la chiave e l'header Bearer; ruota se revocata. |
| 402 | insufficient_balance | Controlla la ricarica qualificante confermata, il credito disponibile e il budget della chiave; ogni nuova ricarica deve essere di almeno 100 USD. |
| 403 | model_not_allowed | Aggiorna la lista consentita della chiave o scegli un modello consentito. |
| 404 | model_not_found | Recupera /v1/models e usa un ID esatto. |
| 409 | pending_reconciliation | Attendi la riconciliazione dell'utilizzo prima di ritentare l'operazione. |
| 413 | request_too_large | Dividi l'input o usa un contesto più ampio. |
| 422 | unsupported_feature | Scegli una distribuzione che supporti la funzionalità. |
| 429 | quota_exceeded | Rispetta Retry-After se fornito e usa tentativi limitati; non è offerta alcuna quota di prova gratuita pubblica. |
| 502 | upstream_error | Riprova con backoff limitato; controlla lo stato. |
| 503 | service_unavailable | Controlla lo stato del servizio e la disponibilità del modello prima di riprovare. |
Evita lavoro duplicato#
Non dare per scontato che una richiesta di inferenza sia stata gratuita perché la connessione è caduta. Controlla i tuoi record di utilizzo. I depositi sono idempotenti in modo indipendente per identità della transazione del provider.
Ottieni aiuto#
Usa la guida di supporto per diagnosticare il passaggio fallito e prepara un report con codice errore, ora UTC, modello e una riproduzione sintetica. Lo strumento di report locale non invia un ticket. Non includere credenziali e contenuti dei clienti nel report.
Esempio di richiesta
curl https://weightsapi.com/v1/chat/completions \
-H "Authorization: Bearer $WEIGHTSAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-32B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'