Fouten
In deze gids bespreken we wat er gebeurt wanneer er iets misgaat terwijl je met de Meshy API werkt.
Aanvraagfouten
Deze fouten worden onmiddellijk geretourneerd wanneer je API-aanvraag wordt afgewezen. Controleer de HTTP-statuscode en het veld message om te begrijpen wat er misging.
Responsindeling
De foutrespons bevat één veld message dat beschrijft wat er misging:
- Name
- message
- Type
- string
- Description
Een korte beschrijving van de fout.
Statuscodes
- Name
2xx- Description
Een 2xx-statuscode geeft een succesvolle respons aan.
- Name
200 - OK- Description
Standaard wordt een 200-statuscode geretourneerd als alles naar verwachting heeft gewerkt.
- Name
202 - Accepted- Description
Je aanvraag is geaccepteerd voor verwerking, maar de verwerking is nog niet voltooid. Dit is een niet-bindende respons van Meshy API. Een aanvraag om bijvoorbeeld een nieuwe taak aan te maken, retourneert een 202-statuscode.
- Name
4xx- Description
Een 4xx-statuscode geeft een clientfout aan.
- Name
400 - Bad Request- Description
De aanvraag was onaanvaardbaar, vaak omdat een verplichte parameter ontbrak of omdat een van de parameters ongeldig was gevormd.
- Name
401 - Unauthorized- Description
Geen geldige API-sleutel opgegeven of de opgegeven API-sleutel is niet geautoriseerd om toegang te krijgen tot de Meshy API endpoint.
- Name
402 - Payment Required- Description
Onvoldoende saldo in het account dat is gekoppeld aan de opgegeven API-sleutel.
- Name
403 - Forbidden- Description
Toegang tot de aangevraagde resource is verboden. Dit kan gebeuren als je probeert de Meshy API rechtstreeks vanuit client-side JavaScript-code te benaderen, omdat Cross-Origin Resource Sharing (CORS)-aanvragen vanuit browsers niet zijn toegestaan. Overweeg voor dergelijke aanvragen een server-side proxy te gebruiken. Zie voor meer details de MDN CORS-gids.
- Name
404 - Not Found- Description
De aangevraagde resource bestaat niet. Wanneer je bijvoorbeeld een taak probeert op te halen op basis van de ID maar een ongeldige ID hebt opgegeven, krijg je een 404-statuscode.
- Name
429 - Too Many Requests- Description
Te veel aanvragen bereiken de Meshy API te snel. Raadpleeg de gids Limieten voor aanvraagsnelheid voor details.
- Name
5xx- Description
Een 5xx-statuscode geeft een serverfout aan. Als je er een ziet, controleer dan onze statuspagina voor meer informatie en neem contact met ons op via Discord voor hulp.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Taakfouten
Deze fouten treden op nadat een taak is aangemaakt en wordt verwerkt. Controleer het object task_error in de taakrespons voor foutdetails.
Het object task_error bevat de volgende velden:
- Name
- type
- Type
- string
- Description
De foutcategorie. Altijd aanwezig bij mislukte taken. Zie Fouttypen hieronder.
- Name
- message
- Type
- string
- Description
Een voor mensen leesbare beschrijving van de fout. Altijd aanwezig bij mislukte taken.
- Name
- code
- Type
- string
- Optioneel
- Description
Een specifieke foutcode die het probleem identificeert. Aanwezig wanneer aanvullende details beschikbaar zijn. Zie Foutcodes hieronder.
- Name
- doc_url
- Type
- string
- Optioneel
- Description
Een link naar gedetailleerde documentatie voor deze foutcode, inclusief richtlijnen voor oplossing. Aanwezig wanneer
codeaanwezig is.
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."
}
}
Fouttypen
Het veld type geeft de brede categorie van de fout aan. Gebruik dit om je strategie voor opnieuw proberen te bepalen.
- Name
invalid_input- Description
Er is iets mis met de invoer die je hebt opgegeven. Controleer de velden
codeenmessagevoor details, los het probleem op en probeer het opnieuw.
- Name
timeout- Description
De verwerking heeft de tijdslimiet overschreden. Dit is vaak tijdelijk. Probeer de aanvraag opnieuw, en als deze blijft mislukken, probeer dan je invoer te vereenvoudigen.
- Name
service_unavailable- Description
De service is tijdelijk niet beschikbaar. Wacht even en probeer het opnieuw.
- Name
server_error- Description
Er is een interne fout opgetreden tijdens de verwerking. Probeer de aanvraag opnieuw. Als het probleem aanhoudt, neem dan contact op met support met je taak-ID.
Foutcodes
Wanneer het veld code aanwezig is, identificeert het een specifiek, uitvoerbaar probleem. Hieronder staat de volledige referentie voor elke foutcode.
image_too_complex
Deze fout treedt op wanneer de invoerafbeelding of prompt een onderwerp beschrijft dat geometrisch te complex is voor het 3D-generatiemodel om te verwerken.
Veelvoorkomende voorbeelden zijn:
- Dichte stapels kleine objecten (bijv. een krat vol fruit, een stapel boeken)
- Ingewikkelde herhalende patronen (bijv. roosterstructuren, steigers, draadgaas)
- Complexe gebouwstructuren (bijv. gebouwen met meerdere verdiepingen met veel ramen en balkons)
- Meerdere afzonderlijke objecten in één afbeelding in plaats van één enkel onderwerp
Voorbeelden van invoer die waarschijnlijk te complex is:




Oplossing:
- Gebruik één enkel object per afbeelding. Het model werkt het best met één duidelijk onderwerp. Neem geen meerdere afzonderlijke objecten op in dezelfde afbeelding of prompt.
- Vereenvoudig je onderwerp. Verminder het detailniveau. Bijvoorbeeld een eenvoudige vaas in plaats van een vaas gevuld met tientallen bloemen.
- Vermijd prompts op scèneniveau. Volledige gebouwen, stadsblokken, interieurs gevuld met meubels of landschappen overschrijden waarschijnlijk de capaciteit van het model. Richt je in plaats daarvan op één enkel object.
- Vermijd dichte herhalende structuren. Onderwerpen zoals steigers, draadgaas, roosterpatronen of stapels van veel kleine items zijn veelvoorkomende triggers.
model_missing_uv
Deze fout treedt op wanneer je een model uploadt om van textuur te voorzien met enable_original_uv ingesteld op true, maar het model geen UV-coördinaten heeft. UV-coördinaten definiëren hoe een 2D-textuur om het 3D-oppervlak van je model wordt gewikkeld.

Oplossing:
De juiste oplossing hangt af van waarom je enable_original_uv op true hebt ingesteld:
- Als je de oorspronkelijke UV-layout van je model moet behouden (bijv. aangepaste plaatsing van naden voor nauwkeurige textuurmapping): je model moet geldige UV-coördinaten hebben. Controleer vóór het uploaden in de UV-editor van je 3D-software of er UV's bestaan. Houd er rekening mee dat STL-bestanden geen UV-gegevens kunnen opslaan, dus gebruik in plaats daarvan GLB, FBX of OBJ.
- Als je geen specifieke UV-controle nodig hebt (of als je het niet zeker weet): laat
enable_original_uvweg of stel het in opfalse. Het systeem genereert automatisch een UV-layout voor je model. De automatisch gegenereerde UV's zijn geoptimaliseerd voor dekking, maar je hebt geen controle over waar textuurnaden worden geplaatst.
model_insufficient_uv
Deze fout treedt op wanneer een model UV-coördinaten heeft, maar de UV-dekking te klein is voor texturing van goede kwaliteit. Dit gebeurt vaak bij modellen die zijn geëxporteerd vanuit 3D-tools die tijdelijke of samengevouwen UV's genereren zonder een correcte unwrap.

Oplossing:
- Als je je oorspronkelijke UV-layout moet behouden: unwrap de UV's van het model opnieuw in je 3D-software. Zorg ervoor dat UV-eilanden goed over de UV-ruimte zijn verdeeld in plaats van samengevouwen in een klein gebied.
- Als je geen specifieke UV-controle nodig hebt: laat
enable_original_uvweg of stel het in opfalse. Het systeem genereert automatisch een nieuwe UV-layout. Het nadeel is dat je je oorspronkelijke plaatsing van naden verliest, maar de automatisch gegenereerde UV's hebben voldoende dekking voor texturing.
invalid_input
Dit is de fallback-foutcode wanneer de invoer niet door de validatie komt, maar er geen specifiekere code van toepassing is. Het veld message bevat de specifieke reden voor de fout.
Veelvoorkomende oorzaken zijn:
- Lege of beschadigde modelbestanden
- Niet-ondersteunde variaties van bestandsformaten (bijv. ASCII FBX-bestanden, met meshopt gecomprimeerde GLB)
- Geen geldige 3D-objecten gevonden in het geüploade model (bijv. het bestand bevat alleen armaturen, camera's of lichten)
- Content die niet door veiligheidsfilters komt
Oplossing: Controleer het veld message voor details over wat er misging. Controleer of je invoerbestanden en parameters overeenkomen met de vereisten van de endpoint.
moderation_blocked
Deze fout treedt op wanneer je prompt of referentieafbeeldingen worden afgewezen door AI-veiligheidsfilters. Het filter beoordeelt zowel de tekstprompt als eventuele referentieafbeeldingen samen.
Oplossing:
- Herformuleer je tekstprompt om suggestieve of gevoelige beschrijvingen te verwijderen.
- Pas referentieafbeeldingen aan als ze inhoud weergeven die veiligheidsfilters kan activeren.
timeout
Deze fout betekent dat de verwerkingstijd van je taak de toegestane limiet heeft overschreden. Dit kan gebeuren door hoge systeembelasting of omdat de invoer te complex is om binnen de tijdslimiet te verwerken.
Oplossing:
- Probeer het verzoek opnieuw. Timeouts zijn vaak tijdelijk en een nieuwe poging kan slagen.
- Vereenvoudig je invoer. Als nieuwe pogingen blijven mislukken, is je invoer mogelijk te complex. Probeer het detailniveau in je afbeelding of prompt te verminderen. Zie
image_too_complexvoor richtlijnen over welke typen invoer moeilijker te verwerken zijn.
format_conversion_failed
Deze fout treedt op wanneer het gegenereerde 3D-model niet kon worden geconverteerd naar het door jou aangevraagde uitvoerformaat. Het model is succesvol gegenereerd, maar de conversiestap is mislukt.
Oplossing:
- Probeer de aanvraag opnieuw.
- Probeer een ander uitvoerformaat. Als een specifiek formaat blijft mislukken, schakel dan over naar een ander formaat dat aan je behoeften voldoet.
Aanbevolen werkwijzen
- Implementeer retry-logica. Implementeer voor
timeout- enservice_unavailable-fouten retry-logica met exponentiële backoff. - Log taak-ID's. Log altijd de taak-ID voor foutopsporingsdoeleinden. Vermeld deze wanneer je contact opneemt met support.
- Valideer invoer. Zorg ervoor dat je invoerafbeeldingen en modellen voldoen aan de formaatvereisten voordat je ze indient.