Gli id dei modelli non sono portabili: api.anthropic.com richiede id datati, Gemini vuole le proprie stringhe di versione e ogni gateway definisce i propri slug. Un 404 qui significa «questo host non ha alcun modello con quella stringa esatta»: la soluzione è sempre chiedere all'endpoint cosa serve.
L’errore
{
"error": {
"type": "model_not_found",
"message": "The model 'claude-sonnet' does not exist or you do not have access to it.",
"code": "model_not_found"
}
}Cause e soluzioni in breve
| Causa | Soluzione |
|---|---|
| Id del modello proveniente da un host diverso | Ogni API ha il proprio namespace: copia gli id dall'elenco dei modelli dell'endpoint, non dai post sui blog. |
| Versione obsoleta/rinominata | I provider ritirano gli snapshot datati; blocca un id attuale e iscriviti alle note sulle dismissioni. |
| Slug con errore di battitura o troncato | claude-sonnet non è un modello su nessun host; le stringhe esatte contano. |
| Il modello esiste ma è disabilitato per la tua chiave/il tuo piano | Alcuni host limitano i modelli in base al piano: l'endpoint dell'elenco mostra cosa può chiamare la TUA chiave. |
Elenca i modelli dall'endpoint che stai chiamando
GET /v1/models è la fonte autorevole su qualsiasi host compatibile con OpenAI: restituisce esattamente gli id utilizzabili dalla tua chiave:
curl -s https://api.kunavo.com/v1/models \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
| python3 -c "import json,sys; print('\n'.join(m['id'] for m in json.load(sys.stdin)['data']))"Risolvi i modelli a runtime, non tramite valori hardcoded
I cataloghi cambiano (nuovi snapshot, ritiri). Risolvi l'elenco dei modelli all'avvio, preferisci gli slug configurati con un fallback e genera un avviso quando uno slug configurato scompare da /v1/models, invece di ottenere un 404 in produzione.
Se chiami tramite Kunavo
Kunavo usa slug stabili e leggibili (claude-sonnet-5, gpt-5-6-terra, claude-fable-5) elencati in GET /v1/models con metadati per modello; gli slug ritirati fanno un redirect 301 verso i successori nelle pagine dei modelli del sito, così i link non diventano obsoleti. L'endpoint dell'elenco è autorevole: llms.txt dice lo stesso a qualsiasi agente che lo legga.
Domande frequenti
Perché lo stesso id del modello funziona su un'API e restituisce 404 su un'altra?
Perché gli id hanno namespace diversi per ogni host: gli id datati di Anthropic, i nomi versionati di Gemini e gli slug di ciascun gateway sono stringhe diverse per modelli correlati. Copia sempre dall'elenco dei modelli dell'endpoint di destinazione.
Come posso proteggermi dal ritiro dei modelli?
Risolvi /v1/models all'avvio, mantieni l'id del modello nella configurazione (non nel codice), definisci una catena di fallback e avvisa te stesso quando un id configurato scompare: un 404 in produzione diventa così una modifica alla configurazione.
Guide correlate
Ulteriori dettagli sul significato degli errori sono disponibili in riferimento agli errori; ottenere una chiave richiede un minuto tramite registrazione e la guida all’autenticazione.