Fel
I den här guiden kommer vi att prata om vad som händer när något går fel medan du arbetar med Meshy API.
Förfrågningsfel
Dessa fel returneras omedelbart när din API-förfrågan avvisas. Kontrollera HTTP-statuskoden och fältet message för att förstå vad som gick fel.
Svarsformat
Felsvaret innehåller ett enda fält, message, som beskriver vad som gick fel:
- Name
- message
- Type
- string
- Description
En kort beskrivning av felet.
Statuskoder
- Name
2xx- Description
En 2xx-statuskod indikerar ett lyckat svar.
- Name
200 - OK- Description
Om allt fungerade som förväntat returneras som standard en 200-statuskod.
- Name
202 - Accepted- Description
Din förfrågan har accepterats för bearbetning, men bearbetningen har inte slutförts. Detta är ett icke-bindande svar från Meshy API. Till exempel kommer en förfrågan om att skapa en ny uppgift att returnera en 202-statuskod.
- Name
4xx- Description
En 4xx-statuskod indikerar ett klientfel.
- Name
400 - Bad Request- Description
Förfrågan var inte acceptabel, ofta på grund av att en obligatorisk parameter saknades eller att en av parametrarna var felaktigt formaterad.
- Name
401 - Unauthorized- Description
Ingen giltig API-nyckel angavs, eller så är den angivna API-nyckeln inte auktoriserad att komma åt Meshy API-endpointen.
- Name
402 - Payment Required- Description
Otillräckliga medel på kontot som är kopplat till den angivna API-nyckeln.
- Name
403 - Forbidden- Description
Du har inte behörighet att göra denna förfrågan. Till exempel kom förfrågan från en adress utanför API-nyckelns IP-tillåtlista, en innehållskontroll i en Enterprise-plan blockerade en uppgifts filer när du läste den, eller så är endpointen inte tillgänglig i din plan.
- Name
404 - Not Found- Description
Den begärda resursen finns inte. Till exempel, om du försöker hämta en uppgift med dess ID men angav ett ogiltigt ID, får du en 404-statuskod.
- Name
409 - Conflict- Description
Resursen finns, men dess nuvarande tillstånd tillåter inte åtgärden. Till exempel returnerar borttagning av en uppgift som redan är
IN_PROGRESSen 409: arbetaren har påbörjat arbete som inte kan återbetalas, så uppgiften lämnas körande istället. Vänta på en slutgiltig status (SUCCEEDED,FAILEDellerCANCELED) och försök igen.
- Name
429 - Too Many Requests- Description
För många förfrågningar nådde Meshy API för snabbt. Vänta det antal sekunder som anges i
Retry-After- huvudet innan du försöker igen. Se guiden Rate Limits för mer information.
- Name
5xx- Description
En 5xx-statuskod indikerar ett serverfel. Om du ser en sådan, kontrollera vår statussida för mer information och kontakta oss via Discord för hjälp.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Taskfel
Dessa fel uppstår efter att en uppgift har skapats och bearbetas. Kontrollera task_error-objektet i uppgiftens svar för felspecifikationer.
task_error-objektet innehåller följande fält:
- Name
- type
- Type
- string
- Description
Felkategorin. Alltid närvarande vid misslyckade uppgifter. Se Feltyper nedan.
- Name
- message
- Type
- string
- Description
En läsbar beskrivning av felet. Alltid närvarande vid misslyckade uppgifter.
- Name
- code
- Type
- string
- Valfri
- Description
En specifik felkod som identifierar problemet. Närvarande när ytterligare detaljer finns tillgängliga. Se Felkoder nedan.
- Name
- doc_url
- Type
- string
- Valfri
- Description
En länk till detaljerad dokumentation för denna felkod, inklusive lösningsvägledning. Närvarande när
codeär närvarande.
Fel med detaljer
{
"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"
}
}
Fel utan detaljer
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
Feltyper
Fältet type anger den övergripande kategorin för felet. Använd det för att avgöra din strategi för återförsök.
- Name
invalid_input- Description
Något är fel med indata du angav. Kontrollera fälten
codeochmessageför detaljer, åtgärda problemet och försök igen.
- Name
timeout- Description
Uppgiften överskred en tidsgräns på serversidan, för bearbetning eller väntan i kön, och misslyckades. Dess credits återbetalas. Detta är ofta tillfälligt: skapa uppgiften igen, och om den fortsätter att misslyckas, försök förenkla din indata.
- Name
service_unavailable- Description
Tjänsten var tillfälligt otillgänglig. Vänta en stund och skapa sedan uppgiften igen.
- Name
server_error- Description
Ett internt fel uppstod under bearbetningen. Skapa uppgiften igen. Om problemet kvarstår, kontakta supporten med ditt uppgifts-ID.
Felkoder
När fältet code är närvarande identifierar det ett specifikt, åtgärdbart problem. Nedan finns den fullständiga referensen för varje felkod.
image_too_complex
Detta fel uppstår när inmatningsbilden eller prompt beskriver ett ämne som är för geometriskt komplext för 3D-genereringsmodellen att bearbeta.
Vanliga exempel inkluderar:
- Täta högar av små föremål (t.ex. en låda full med frukt, en hög med böcker)
- Intrikata upprepande mönster (t.ex. gallerstrukturer, byggnadsställningar, trådnät)
- Komplexa byggnadsstrukturer (t.ex. flervåningsbyggnader med många fönster och balkonger)
- Flera distinkta objekt i en bild istället för ett enda ämne
Exempel på inmatningar som sannolikt är för komplexa:




Lösning:
- Använd ett enda objekt per bild. Modellen fungerar bäst med ett tydligt ämne. Inkludera inte flera separata objekt i samma bild eller prompt.
- Förenkla ditt ämne. Minska detaljnivån. Till exempel, en enkel vas istället för en vas fylld med dussintals blommor.
- Undvik scen-nivå prompts. Hela byggnader, kvarter, interiörer fyllda med möbler eller landskap överskrider sannolikt modellens kapacitet. Fokusera istället på ett enda objekt.
- Undvik täta upprepande strukturer. Ämnen som byggnadsställningar, trådnät, gallerstrukturer eller högar av många små föremål är vanliga utlösare.
model_missing_uv
Detta fel uppstår när du laddar upp en modell för texturering med enable_original_uv inställt på true, men modellen saknar UV-koordinater. UV-koordinater definierar hur en 2D-textur lindas runt modellens 3D-yta.

Lösning:
Den rätta lösningen beror på varför du ställde in enable_original_uv till true:
- Om du behöver bevara modellens ursprungliga UV-layout (t.ex. anpassad sömplacering för exakt texturkartläggning): din modell måste ha giltiga UV-koordinater. Kontrollera att UVs finns i ditt 3D-programs UV-editor innan du laddar upp. Observera att STL-filer inte kan lagra UV-data, så använd GLB, FBX eller OBJ istället.
- Om du inte behöver specifik UV-kontroll (eller om du är osäker): utelämna
enable_original_uveller ställ in det påfalse. Systemet kommer automatiskt att generera en UV-layout för din modell. De automatiskt genererade UVs är optimerade för täckning men du kommer inte att ha kontroll över var textursömmarna placeras.
model_insufficient_uv
Detta fel uppstår när en modell har UV-koordinater, men UV-täckningen är för liten för kvalitativ texturering. Detta händer ofta med modeller som exporteras från 3D-verktyg som genererar platshållare eller kollapsade UVs utan en korrekt unwrap.

Lösning:
- Om du behöver bevara din ursprungliga UV-layout: gör en ny unwrap av modellens UVs i din 3D-programvara. Se till att UV-öarna är ordentligt utspridda över UV-utrymmet istället för att vara kollapsade till ett litet område.
- Om du inte behöver specifik UV-kontroll: utelämna
enable_original_uveller ställ in det påfalse. Systemet kommer automatiskt att generera en ny UV-layout. Nackdelen är att du förlorar din ursprungliga sömplacering, men de automatiskt genererade UVs kommer att ha korrekt täckning för texturering.
model_missing_texture
Detta fel uppstår när indatamodellen för en Multi-Color Print-uppgift saknar färginformation som konverteraren kan separera i utskriftsfärger. En 3MF-fil med flerfärgsutskrift byggs upp av modellens färger, så ett rent vitt nät — till exempel en Text till 3D- eller Bild till 3D-förhandsgranskning som aldrig texturerats, eller ett reparerat/autouppdelat resultat — ger inget att arbeta med.
Vad som räknas som en färgkälla beror på vilken style du begärt:
realisticsamplar bastexturen via modellens UV:er, så den kräver en enda bastextur med UV-koordinater på varje nätdel.cartoonplattar till färger per yta och accepterar en bastextur på vilken del som helst eller färger per vertex (COLOR_0).
En modell utan vare sig bastextur eller vertexfärger avvisas för båda stilarna; med cartoon skulle den annars "lyckas" som en enfärgsutskrift.
De flesta förfrågningar avvisas innan uppgiften skapas (400 Bad Request med samma förklaring), så du kommer vanligtvis bara att se denna kod när indata inte kunde inspekteras i förväg — en .fbx-uppladdning, till exempel, kontrolleras först när uppgiften har normaliserat den.
Lösning:
- Texturera modellen först. Kör en Omtexturering-uppgift på den, eller generera den med texturering aktiverad (en Text till 3D refine-uppgift, eller en Bild till 3D-uppgift med
should_texture: true), och skicka den uppgiften sominput_task_id. - Vertexfärgade modeller (fotogrammetriskanningar, handmålade nät): begär
style: "cartoon", som läserCOLOR_0. - Delvis texturerade eller flertexturerade modeller under
realistic: varje nätdel behöver UV:er och samma, enda bastextur. Texturera de återstående delarna eller slå ihop texturerna till ett atlas, eller byt tillstyle: "cartoon".
invalid_input
Detta är felkoden som används när inmatningen misslyckas med valideringen men ingen mer specifik kod är tillämplig. Fältet message innehåller den specifika orsaken till felet.
Vanliga orsaker inkluderar:
- Tomma eller korrupta modelfiler
- Icke-stödda filformatvariationer (t.ex. ASCII FBX-filer, meshopt-komprimerade GLB)
- Inga giltiga 3D-objekt hittades i den uppladdade modellen (t.ex. filen innehåller endast armaturer, kameror eller ljus)
- Innehåll som inte klarar säkerhetsfilter
Lösning: Kontrollera fältet message för specifika detaljer om vad som gick fel. Verifiera att dina inmatningsfiler och parametrar överensstämmer med endpointens krav.
moderation_blocked
Det här felet uppstår när din prompt eller dina referensbilder avvisas av AI-säkerhetsfilter. Filtret utvärderar både textprompten och eventuella referensbilder tillsammans.
Åtgärd:
- Omformulera din textprompt för att ta bort antydande eller känsliga beskrivningar.
- Justera referensbilder om de avbildar innehåll som kan utlösa säkerhetsfilter.
moderation_unavailable
Det här felet uppstår när innehållsmoderering tillfälligt var otillgänglig, så uppgiften misslyckades i stället för att köras utan kontrollen. Det är inget fel på ditt innehåll. Dess type är server_error.
Åtgärd: Skapa uppgiften igen.
timeout
Det här felet betyder att uppgiften överskred en tidsgräns på serversidan, antingen för bearbetning eller för väntan i kön, vilket gjorde att uppgiften misslyckades och dess credits återbetalades. Detta kan inträffa på grund av hög systembelastning eller för att indata är för komplexa för att bearbetas inom tidsgränsen.
Detta skiljer sig från en timeout i din egen kod. Om din klient slutade vänta körs uppgiften fortfarande; se Task Lifecycle.
Åtgärd:
- Skapa uppgiften igen. Timeouts är ofta tillfälliga och en ny uppgift kan lyckas.
- Förenkla din indata. Om nya försök fortsätter att misslyckas kan din indata vara för komplex. Försök att minska detaljnivån i din bild eller prompt. Se
image_too_complexför vägledning om vilka typer av indata som är svårare att bearbeta.
queue_timeout
Det här felet innebär att uppgiften väntade för länge i kön utan att starta, så den misslyckades och eventuella credits som debiterats för den återbetalades. Din indata orsakade det inte. Dess type är timeout.
Lösning: Skapa uppgiften igen.
format_conversion_failed
Det här felet uppstår när den genererade 3D-modellen inte kunde konverteras till det begärda utdataformatet. Modellen genererades utan problem, men konverteringssteget misslyckades.
Lösning:
- Försök igen med begäran.
- Prova ett annat utdataformat. Om ett specifikt format fortsätter att misslyckas, byt till ett annat format som passar dina behov.
Best Practices
- Implementera återförsöksloggik. När en uppgift misslyckas med ett
timeout-,service_unavailable- ellerserver_error-fel, skapa den igen med exponentiell backoff. Om din egen förfrågan fick timeout, skapa inte en ny uppgift: kontrollera den befintliga först (se Uppgiftens livscykel). - Logga uppgifts-ID:n. Logga alltid uppgifts-ID:t för felsökningsändamål. Inkludera det när du kontaktar supporten.
- Validera indata. Säkerställ att dina inmatade bilder och modeller uppfyller formatkraven innan inlämning.
- Anropa API:et från din server. Kod som körs i en webbläsare skulle exponera din API-nyckel för vem som helst som öppnar sidan.