Errori
In questa guida parleremo di cosa succede quando qualcosa va storto mentre lavori con 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 riuscita.
- Name
200 - OK- Description
Per impostazione predefinita, se tutto funziona 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 da parte di Meshy API. Ad esempio, una richiesta di creazione di un nuovo task restituirà un codice di stato 202.
- Name
4xx- Description
Un codice di stato 4xx indica un errore lato client.
- Name
400 - Bad Request- Description
La richiesta non era accettabile, spesso a causa dell'assenza di un parametro obbligatorio o perché uno dei parametri era malformato.
- Name
401 - Unauthorized- Description
Non è stata fornita alcuna chiave API valida oppure la chiave API fornita non è autorizzata ad accedere all'endpoint di 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 può accadere se provi ad accedere direttamente a Meshy API da codice JavaScript lato client, poiché le richieste Cross-Origin Resource Sharing (CORS) dai browser non sono consentite. Valuta l'utilizzo di un proxy lato server per queste richieste. Per maggiori dettagli, consulta la guida CORS di MDN.
- Name
404 - Not Found- Description
La risorsa richiesta non esiste. Ad esempio, se provi a recuperare un task tramite il suo ID ma fornisci un ID non valido, otterrai un codice di stato 404.
- Name
409 - Conflict- Description
La risorsa esiste ma il suo stato attuale non consente l'operazione. Ad esempio, eliminare un task che è già
IN_PROGRESSrestituisce un 409: il worker ha iniziato un lavoro che non può essere rimborsato, quindi il task viene lasciato in esecuzione. Attendi uno stato finale (SUCCEEDED,FAILEDoCANCELED) e riprova.
- Name
429 - Too Many Requests- Description
Troppe richieste hanno raggiunto Meshy API troppo rapidamente. Consulta la guida Rate Limits per maggiori dettagli.
- Name
5xx- Description
Un codice di stato 5xx indica un errore del server. Se ne riscontri uno, controlla la nostra pagina di stato per maggiori informazioni e contattaci tramite Discord per assistenza.
Example: 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.
model_missing_texture
Questo errore si verifica quando il modello di input di un task di Multi-Color Print non ha informazioni sul colore che il convertitore possa separare in colori di stampa. Un 3MF multicolore viene costruito a partire dai colori del modello, quindi una mesh completamente bianca — ad esempio un'anteprima Testo in 3D o Immagine in 3D mai texturizzata, oppure un output riparato / suddiviso automaticamente — non offre nulla su cui lavorare.
Ciò che conta come fonte di colore dipende dallo style richiesto:
realisticcampiona la texture del colore base attraverso le coordinate UV del modello, quindi richiede un'unica texture del colore base con coordinate UV su ogni parte della mesh.cartoonappiattisce i colori per faccia e accetta una texture del colore base su qualsiasi parte oppure colori per vertice (COLOR_0).
Un modello privo sia di texture del colore base che di colori per vertice viene rifiutato per entrambi gli style; con cartoon, altrimenti, "riuscirebbe" come stampa a colore singolo.
La maggior parte delle richieste viene rifiutata prima ancora che il task venga creato (400 Bad Request con la stessa spiegazione), quindi in genere vedrai questo codice solo quando l'input non poteva essere ispezionato in anticipo — un caricamento .fbx, ad esempio, viene controllato una volta che il task lo ha normalizzato.
Risoluzione:
- Applica prima la texture al modello. Esegui un task di Retexture su di esso, oppure generalo con la texturizzazione abilitata (un task refine di Testo in 3D, o un task di Immagine in 3D con
should_texture: true), e passa quel task comeinput_task_id. - Modelli con colori per vertice (scansioni fotogrammetriche, mesh dipinte a mano): richiedi
style: "cartoon", che leggeCOLOR_0. - Modelli parzialmente texturizzati o multi-texture con
realistic: ogni parte della mesh necessita di coordinate UV e della stessa, unica texture del colore base. Applica la texture alle parti rimanenti oppure unisci le texture in un unico atlas, oppure passa astyle: "cartoon".
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.