Fel

I denna guide kommer vi att prata om vad som händer när något går fel medan du arbetar med Meshy API.


Begär Fel

Dessa fel returneras omedelbart när din API-begäran avvisas. Kontrollera HTTP-statuskoden och message-fältet för att förstå vad som gick fel.

Svarformat

Felresponsen innehåller ett enda message-fält 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

      Som standard, om allt fungerade som förväntat, kommer en 200 statuskod att returneras.

    • Name
      202 - Accepted
      Description

      Din begäran har accepterats för bearbetning, men bearbetningen har inte slutförts. Detta är ett icke-bindande svar från Meshy API. Till exempel, en begäran om att skapa en ny uppgift kommer att returnera en 202 statuskod.

  • Name
    4xx
    Description

    En 4xx statuskod indikerar ett klientfel.

    • Name
      400 - Bad Request
      Description

      Begäran var oacceptabel, 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 tillhandahölls eller den tillhandahållna API-nyckeln är inte auktoriserad att få tillgång till Meshy API endpoint.

    • Name
      402 - Payment Required
      Description

      Otillräckliga medel på kontot som är kopplat till den tillhandahållna API-nyckeln.

    • Name
      403 - Forbidden
      Description

      Åtkomst till den begärda resursen är förbjuden. Detta kan hända om du försöker få tillgång till Meshy API direkt från klient-sidans JavaScript-kod, eftersom Cross-Origin Resource Sharing (CORS) begäranden från webbläsare inte är tillåtna. Överväg att använda en serversideproxy för sådana begäranden. För mer information, se MDN CORS guide.

    • Name
      404 - Not Found
      Description

      Den begärda resursen finns inte. Till exempel, när du försöker hämta en uppgift med dess ID men angav ett ogiltigt ID, kommer du att få en 404 statuskod.

    • Name
      429 - Too Many Requests
      Description

      För många begäranden träffade Meshy API för snabbt. Vänligen se Rate Limits guiden för detaljer.

  • Name
    5xx
    Description

    En 5xx statuskod indikerar ett serverfel. Om du ser en, vänligen kontrollera vår statussida för mer information och kontakta oss via Discord för hjälp.

Exempel: 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 berättar om den breda kategorin av felet. Använd det för att bestämma din strategi för att försöka igen.

  • Name
    invalid_input
    Description

    Något är fel med den inmatning du angav. Kontrollera fälten code och message för detaljer, åtgärda problemet och försök igen.

  • Name
    timeout
    Description

    Bearbetningen överskred tidsgränsen. Detta är ofta övergående. Försök igen med begäran, och om det fortsätter att misslyckas, försök förenkla din inmatning.

  • Name
    service_unavailable
    Description

    Tjänsten är tillfälligt otillgänglig. Vänta en stund och försök igen.

  • Name
    server_error
    Description

    Ett internt fel inträffade under bearbetningen. Försök igen med begäran. Om problemet kvarstår, kontakta support med ditt uppdrags-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:

En låda med blandade bärEtt intrikat katedraltakEn byggnad under konstruktion med byggnadsställningarEn bikakegitter sfär

Lösning:

  1. 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.
  2. Förenkla ditt ämne. Minska detaljnivån. Till exempel, en enkel vas istället för en vas fylld med dussintals blommor.
  3. 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.
  4. 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.

Inga UVs vs Bra UVs

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_uv eller 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.

Otillräckliga UVs vs Bra UVs

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_uv eller 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.

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

Detta fel uppstår när din prompt eller referensbilder avvisas av AI-säkerhetsfilter. Filtret utvärderar både textprompten och eventuella referensbilder tillsammans.

Lösning:

  • Omformulera din textprompt för att ta bort suggestiva eller känsliga beskrivningar.
  • Justera referensbilder om de visar innehåll som kan utlösa säkerhetsfilter.

timeout

Detta fel innebär att din uppgifts bearbetningstid överskred den tillåtna gränsen. Detta kan hända på grund av hög systembelastning eller för att inmatningen är för komplex för att bearbetas inom tidsgränsen.

Lösning:

  1. Försök igen med begäran. Timeout-fel är ofta tillfälliga och ett nytt försök kan lyckas.
  2. Förenkla din inmatning. Om nya försök fortsätter att misslyckas kan din inmatning vara för komplex. Försök att minska detaljnivån i din bild eller prompt. Se image_too_complex för vägledning om vilka typer av inmatningar som är svårare att bearbeta.

format_conversion_failed

Detta fel inträffar när den genererade 3D-modellen inte kunde konverteras till det begärda utdataformatet. Modellen genererades framgångsrikt, men konverteringssteget misslyckades.

Lösning:

  1. Försök igen med begäran.
  2. Prova ett annat utdataformat. Om ett specifikt format fortsätter att misslyckas, byt till ett annat format som passar dina behov.

Bästa praxis

  1. Implementera återförsökslogik. För timeout och service_unavailable fel, implementera exponentiell backoff återförsökslogik.
  2. Logga uppgifts-ID:n. Logga alltid uppgifts-ID för felsökningsändamål. Inkludera det när du kontaktar support.
  3. Validera indata. Se till att dina inmatningsbilder och modeller uppfyller formatkraven innan inlämning.