Errori
In questa guida, parleremo di cosa succede quando qualcosa va storto mentre lavori con la Meshy API.
Errori di 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 avvenuta con successo.
- 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 impegnativa da parte di Meshy API. Ad esempio, una richiesta per creare un nuovo compito 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 a causa della mancanza di un parametro obbligatorio o uno dei parametri era malformato.
- Name
401 - Unauthorized- Description
Nessuna chiave API valida fornita o 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 si tenta di accedere direttamente all'API Meshy dal codice JavaScript lato client, poiché le richieste Cross-Origin Resource Sharing (CORS) dai browser non sono permesse. Considera l'uso di un proxy lato server per tali richieste. Per maggiori dettagli, vedi la guida MDN CORS.
- Name
404 - Not Found- Description
La risorsa richiesta non esiste. Ad esempio, quando si tenta di recuperare un compito tramite il suo ID ma si fornisce un ID non valido, si otterrà un codice di stato 404.
- Name
429 - Too Many Requests- Description
Troppe richieste hanno colpito l'API Meshy troppo rapidamente. Si prega di fare riferimento alla guida Limiti di Frequenza per i dettagli.
- Name
5xx- Description
Un codice di stato 5xx indica un errore del server. Se ne vedi uno, controlla la nostra pagina di stato per maggiori informazioni e contattaci tramite Discord per assistenza.
Esempio: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Errori del Task
Questi errori si verificano dopo che un task è stato creato ed è in elaborazione. Controlla l'oggetto task_error nella risposta del task per i dettagli dell'errore.
L'oggetto task_error contiene i seguenti campi:
- Name
- type
- Type
- string
- Description
La categoria dell'errore. Sempre presente nei task falliti. Vedi Tipi di Errori sotto.
- Name
- message
- Type
- string
- Description
Una descrizione leggibile dell'errore. Sempre presente nei task falliti.
- 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 sotto.
- Name
- doc_url
- Type
- string
- Opzionale
- Description
Un link alla documentazione dettagliata per questo codice di errore, inclusa la guida alla risoluzione. Presente quando
codeè presente.
Errore con dettagli
{
"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"
}
}
Errore senza dettagli
{
"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 del fallimento. Usalo per decidere la tua strategia di ritentativo.
- Name
invalid_input- Description
C'è qualcosa di sbagliato nell'input fornito. Controlla i campi
codeemessageper i dettagli, correggi il problema e riprova.
- Name
timeout- Description
Il tempo limite per l'elaborazione è stato superato. Questo è spesso transitorio. Riprova la richiesta e, se continua a fallire, 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 geometricamente per essere elaborato dal modello di generazione 3D.
Esempi comuni includono:
- Pile dense di piccoli oggetti (ad es., una cassa piena di frutta, una pila di libri)
- Motivi intricati e ripetuti (ad es., strutture a griglia, impalcature, reti metalliche)
- Strutture edilizie complesse (ad es., edifici a più piani con molte finestre e balconi)
- Molteplici oggetti distinti in un'immagine invece di un singolo soggetto
Esempi di input probabilmente troppo complessi:




Risoluzione:
- Usa un singolo oggetto per immagine. Il modello funziona meglio con un soggetto chiaro. Non includere più oggetti separati nella stessa immagine o prompt.
- Semplifica il tuo soggetto. Riduci il livello di dettaglio. Ad esempio, un semplice vaso invece di un vaso pieno di dozzine di fiori.
- Evita prompt a livello di scena. Edifici interi, isolati di città, interni pieni di mobili o paesaggi probabilmente superano la capacità del modello. Concentrati su un singolo oggetto invece.
- Evita strutture ripetute dense. Soggetti come impalcature, reti metalliche, motivi a griglia o pile di molti piccoli oggetti sono comuni fattori scatenanti.
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 soluzione giusta dipende dal motivo per cui hai impostato enable_original_uv su true:
- Se hai bisogno di preservare il layout UV originale del tuo modello (ad esempio, posizionamento personalizzato delle cuciture per una mappatura precisa delle texture): il tuo modello deve avere coordinate UV valide. Verifica che le UV esistano nell'editor UV del tuo software 3D prima di caricare. Nota che i file STL non possono memorizzare dati UV, quindi utilizza GLB, FBX o OBJ invece.
- Se non hai bisogno di un controllo specifico sulle UV (o non 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 delle texture.
model_insufficient_uv
Questo errore si verifica quando un modello ha coordinate UV, ma la copertura UV è troppo piccola per una texturizzazione di qualità. Questo accade comunemente con modelli esportati da strumenti 3D che generano UV segnaposto o collassati senza un unwrap adeguato.

Risoluzione:
- Se hai bisogno di preservare il tuo layout UV originale: ri-unwrap le UV del modello nel tuo software 3D. Assicurati che le isole UV siano correttamente distribuite nello spazio UV piuttosto che collassate in un'area piccola.
- Se non hai bisogno di un controllo UV specifico: ometti
enable_original_uvo impostalo sufalse. Il sistema genererà automaticamente un nuovo layout UV. Il compromesso è che perderai 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 nessun codice più specifico. Il campo message contiene la ragione specifica del fallimento.
Cause comuni includono:
- File di modelli vuoti o corrotti
- Variazioni di formato file non supportate (ad esempio, file FBX ASCII, GLB compressi con meshopt)
- Nessun oggetto 3D valido trovato nel modello caricato (ad esempio, il file contiene solo armature, telecamere 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 AI. Il filtro valuta sia il prompt di testo che eventuali immagini di riferimento insieme.
Risoluzione:
- Riformula il tuo prompt di testo per rimuovere descrizioni suggestive o sensibili.
- Regola le immagini di riferimento se rappresentano contenuti che potrebbero attivare i filtri di sicurezza.
timeout
Questo errore significa che il tempo di elaborazione del tuo compito ha superato il limite consentito. Questo può accadere a causa di un elevato carico di 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 avere successo.
- Semplifica il tuo input. Se i tentativi continuano a fallire, il tuo input potrebbe essere troppo complesso. Prova a ridurre il livello di dettaglio nella tua immagine o nel tuo prompt. Vedi
image_too_complexper indicazioni su quali tipi di input sono più difficili da elaborare.
format_conversion_failed
Questo errore si verifica quando il modello 3D generato non può essere convertito nel formato di output richiesto. Il modello è stato generato con successo, ma il passaggio di conversione è fallito.
Risoluzione:
- Riprova la richiesta.
- Prova un formato di output diverso. Se un formato specifico continua a fallire, passa a un altro formato che soddisfi le tue esigenze.
Migliori Pratiche
- Implementa la logica di ripetizione. Per gli errori di
timeouteservice_unavailable, implementa una logica di ripetizione con backoff esponenziale. - Registra gli ID delle attività. Registra sempre l'ID dell'attività per scopi di debug. Includilo quando contatti il supporto.
- Convalida gli input. Assicurati che le tue immagini e modelli di input soddisfino i requisiti di formato prima dell'invio.