Errori
In questa guida parleremo di cosa succede quando qualcosa va storto mentre lavori con la Meshy API.
Errori della richiesta
Questi errori vengono restituiti immediatamente quando la tua richiesta API viene rifiutata. Controlla il codice di stato HTTP e il campo message per capire cosa è andato storto.
Formato della risposta
La risposta di errore contiene un singolo campo message che descrive cosa è andato storto:
- Name
- message
- Type
- string
- Description
Una breve descrizione dell'errore.
Codici di stato
- Name
2xx- Description
Un codice di stato 2xx indica una risposta riuscita.
- Name
200 - OK- Description
Per impostazione predefinita, se tutto ha funzionato come previsto, verrà restituito un codice di stato 200.
- Name
202 - Accepted- Description
La tua richiesta è stata accettata per l'elaborazione, ma l'elaborazione non è stata completata. Questa è una risposta non vincolante dalla Meshy API. Ad esempio, una richiesta per creare una nuova attività restituirà un codice di stato 202.
- Name
4xx- Description
Un codice di stato 4xx indica un errore del client.
- Name
400 - Bad Request- Description
La richiesta non era accettabile, spesso perché mancava un parametro obbligatorio o uno dei parametri aveva un formato non valido.
- Name
401 - Unauthorized- Description
Nessuna chiave API valida fornita oppure la chiave API fornita non è autorizzata ad accedere all'endpoint Meshy API.
- Name
402 - Payment Required- Description
Fondi insufficienti nell'account associato alla chiave API fornita.
- Name
403 - Forbidden- Description
L'accesso alla risorsa richiesta è vietato. Questo potrebbe accadere se provi ad accedere alla Meshy API direttamente da codice JavaScript lato client, poiché le richieste Cross-Origin Resource Sharing (CORS) dai browser non sono consentite. Valuta l'uso di un proxy lato server per tali richieste. Per maggiori dettagli, consulta la guida CORS di MDN.
- Name
404 - Not Found- Description
La risorsa richiesta non esiste. Ad esempio, quando provi a recuperare un'attività tramite il suo ID ma hai fornito un ID non valido, otterrai un codice di stato 404.
- Name
429 - Too Many Requests- Description
Troppe richieste hanno raggiunto la Meshy API troppo rapidamente. Consulta la guida sui Limiti di frequenza per i dettagli.
- Name
5xx- Description
Un codice di stato 5xx indica un errore del server. Se ne visualizzi uno, controlla la nostra pagina di stato per maggiori informazioni e contattaci tramite Discord per ricevere assistenza.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Errori delle attività
Questi errori si verificano dopo che un'attività è stata creata ed è in elaborazione. Controlla l'oggetto task_error nella risposta dell'attività per i dettagli dell'errore.
L'oggetto task_error contiene i seguenti campi:
- Name
- type
- Type
- string
- Description
La categoria dell'errore. Sempre presente nelle attività non riuscite. Vedi Tipi di errore di seguito.
- Name
- message
- Type
- string
- Description
Una descrizione dell'errore leggibile da un essere umano. Sempre presente nelle attività non riuscite.
- Name
- code
- Type
- string
- Opzionale
- Description
Un codice di errore specifico che identifica il problema. Presente quando sono disponibili dettagli aggiuntivi. Vedi Codici di errore di seguito.
- Name
- doc_url
- Type
- string
- Opzionale
- Description
Un link alla documentazione dettagliata per questo codice di errore, incluse le indicazioni per la risoluzione. Presente quando
codeè presente.
Error with details
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "invalid_input",
"code": "image_too_complex",
"message": "The uploaded image is too complex for 3D generation.",
"doc_url": "https://docs.meshy.ai/en/api/errors#image-too-complex"
}
}
Error without details
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
Tipi di errore
Il campo type indica la categoria generale dell'errore. Usalo per decidere la tua strategia di nuovo tentativo.
- Name
invalid_input- Description
C'è qualcosa di errato nell'input che hai fornito. Controlla i campi
codeemessageper i dettagli, correggi il problema e riprova.
- Name
timeout- Description
L'elaborazione ha superato il limite di tempo. Questo è spesso transitorio. Riprova la richiesta e, se continua a non riuscire, prova a semplificare il tuo input.
- Name
service_unavailable- Description
Il servizio è temporaneamente non disponibile. Attendi un momento e riprova.
- Name
server_error- Description
Si è verificato un errore interno durante l'elaborazione. Riprova la richiesta. Se il problema persiste, contatta il supporto con il tuo ID attività.
Codici di errore
Quando il campo code è presente, identifica un problema specifico e risolvibile. Di seguito è riportato il riferimento completo per ciascun codice di errore.
image_too_complex
Questo errore si verifica quando l'immagine di input o il prompt descrive un soggetto troppo complesso dal punto di vista geometrico perché il modello di generazione 3D possa elaborarlo.
Esempi comuni includono:
- Cumuli densi di piccoli oggetti (ad es., una cassetta piena di frutta, una pila di libri)
- Pattern ripetitivi intricati (ad es., strutture a reticolo, impalcature, mesh metalliche)
- Strutture edilizie complesse (ad es., edifici a più piani con molte finestre e balconi)
- Più oggetti distinti in un'unica immagine invece di un singolo soggetto
Esempi di input che sono probabilmente troppo complessi:




Risoluzione:
- Usa un singolo oggetto per immagine. Il modello funziona al meglio con un soggetto chiaro. Non includere più oggetti separati nella stessa immagine o nello stesso prompt.
- Semplifica il soggetto. Riduci il livello di dettaglio. Ad esempio, un vaso semplice invece di un vaso riempito con decine di fiori.
- Evita prompt a livello di scena. Interi edifici, isolati urbani, interni pieni di mobili o paesaggi probabilmente supereranno la capacità del modello. Concentrati invece su un singolo oggetto.
- Evita strutture ripetitive dense. Soggetti come impalcature, mesh metalliche, pattern a reticolo o cumuli di molti piccoli elementi sono trigger comuni.
model_missing_uv
Questo errore si verifica quando carichi un modello per la texturizzazione con enable_original_uv impostato su true, ma il modello non ha coordinate UV. Le coordinate UV definiscono come una texture 2D si avvolge sulla superficie 3D del tuo modello.

Risoluzione:
La correzione appropriata dipende dal motivo per cui hai impostato enable_original_uv su true:
- Se devi preservare il layout UV originale del tuo modello (ad es., posizionamento personalizzato delle cuciture per una mappatura precisa della texture): il tuo modello deve avere coordinate UV valide. Verifica che le UV esistano nell'editor UV del tuo software 3D prima del caricamento. Nota che i file STL non possono memorizzare dati UV, quindi usa invece GLB, FBX o OBJ.
- Se non hai bisogno di un controllo UV specifico (o non ne sei sicuro): ometti
enable_original_uvo impostalo sufalse. Il sistema genererà automaticamente un layout UV per il tuo modello. Le UV generate automaticamente sono ottimizzate per la copertura, ma non avrai controllo su dove vengono posizionate le cuciture della texture.
model_insufficient_uv
Questo errore si verifica quando un modello ha coordinate UV, ma la copertura UV è troppo ridotta per una texturizzazione di qualità. Questo accade comunemente con modelli esportati da strumenti 3D che generano UV segnaposto o collassate senza un unwrap adeguato.

Risoluzione:
- Se devi preservare il tuo layout UV originale: esegui nuovamente l'unwrap delle UV del modello nel tuo software 3D. Assicurati che le isole UV siano distribuite correttamente nello spazio UV invece di essere collassate in una piccola area.
- Se non hai bisogno di un controllo UV specifico: ometti
enable_original_uvoppure impostalo sufalse. Il sistema genererà automaticamente un nuovo layout UV. Il compromesso è che perdi il posizionamento originale delle cuciture, ma le UV generate automaticamente avranno una copertura adeguata per la texturizzazione.
invalid_input
Questo è il codice di errore di fallback quando l'input non supera la validazione ma non si applica alcun codice più specifico. Il campo message contiene il motivo specifico dell'errore.
Le cause comuni includono:
- File di modello vuoti o corrotti
- Varianti di formato file non supportate (ad es., file FBX ASCII, GLB compressi con meshopt)
- Nessun oggetto 3D valido trovato nel modello caricato (ad es., il file contiene solo armature, camere o luci)
- Contenuti che non superano i filtri di sicurezza
Risoluzione: Controlla il campo message per dettagli su cosa è andato storto. Verifica che i tuoi file di input e parametri corrispondano ai requisiti dell'endpoint.
moderation_blocked
Questo errore si verifica quando il tuo prompt o le immagini di riferimento vengono rifiutati dai filtri di sicurezza dell'AI. Il filtro valuta insieme sia il prompt testuale sia eventuali immagini di riferimento.
Risoluzione:
- Riformula il tuo prompt testuale per rimuovere descrizioni suggestive o sensibili.
- Modifica le immagini di riferimento se raffigurano contenuti che potrebbero attivare i filtri di sicurezza.
timeout
Questo errore significa che il tempo di elaborazione del tuo task ha superato il limite consentito. Questo può accadere a causa di un carico elevato del sistema o perché l'input è troppo complesso da elaborare entro il limite di tempo.
Risoluzione:
- Riprova la richiesta. I timeout sono spesso transitori e un nuovo tentativo potrebbe riuscire.
- Semplifica il tuo input. Se i nuovi tentativi continuano a fallire, il tuo input potrebbe essere troppo complesso. Prova a ridurre il livello di dettaglio nella tua immagine o nel prompt. Consulta
image_too_complexper indicazioni sui tipi di input più difficili da elaborare.
format_conversion_failed
Questo errore si verifica quando il modello 3D generato non ha potuto essere convertito nel formato di output richiesto. Il modello è stato generato correttamente, ma il passaggio di conversione non è riuscito.
Risoluzione:
- Riprova la richiesta.
- Prova un formato di output diverso. Se un formato specifico continua a non riuscire, passa a un altro formato adatto alle tue esigenze.
Procedure consigliate
- Implementa la logica di retry. Per gli errori
timeouteservice_unavailable, implementa una logica di retry con backoff esponenziale. - Registra gli ID delle attività. Registra sempre l'ID dell'attività a fini di debug. Includilo quando contatti il supporto.
- Convalida gli input. Assicurati che le immagini e i modelli di input soddisfino i requisiti di formato prima dell'invio.