Fel

I den här guiden kommer vi att gå igenom vad som händer när något går fel medan du arbetar med Meshy API.


Begärandefel

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

Svarsformat

Felsvaret 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 returneras en 200-statuskod om allt fungerade som förväntat.

    • 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 returnerar en begäran om att skapa en ny uppgift 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 saknas eller att en av parametrarna hade fel format.

    • Name
      401 - Unauthorized
      Description

      Ingen giltig API-nyckel angavs eller den angivna API-nyckeln är inte behörig 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

      Åtkomst till den begärda resursen är förbjuden. Detta kan hända om du försöker komma åt Meshy API direkt från JavaScript-kod på klientsidan, 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. Mer information finns i MDN:s 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 via dess ID men har angett ett ogiltigt ID, får du en 404-statuskod.

    • Name
      429 - Too Many Requests
      Description

      För många begäranden träffade Meshy API för snabbt. Se guiden hastighetsgränser för mer information.

  • Name
    5xx
    Description

    En 5xx-statuskod indikerar ett serverfel. Om du ser ett sådant, 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"
}

Uppgiftsfel

Dessa fel uppstår efter att en uppgift har skapats och bearbetas. Kontrollera objektet task_error i uppgiftssvaret för felinformation.

Objektet task_error innehåller följande fält:

  • Name
    type
    Type
    string
    Description

    Felkategorin. Finns alltid för misslyckade uppgifter. Se Feltyper nedan.

  • Name
    message
    Type
    string
    Description

    En läsbar beskrivning av felet. Finns alltid för misslyckade uppgifter.

  • Name
    code
    Type
    string
    Valfri
    Description

    En specifik felkod som identifierar problemet. Finns när ytterligare information är tillgänglig. Se Felkoder nedan.

  • Name
    doc_url
    Type
    string
    Valfri
    Description

    En länk till detaljerad dokumentation för den här felkoden, inklusive vägledning för lösning. Finns när code finns.

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."
  }
}

Feltyper

Fältet type anger den övergripande kategorin för felet. Använd det för att avgöra din strategi för nya försök.

  • Name
    invalid_input
    Description

    Något är fel med den indata 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 med begäran igen, och om den fortsätter att misslyckas, försök förenkla din indata.

  • 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 med begäran igen. Om problemet kvarstår, kontakta supporten med ditt uppgifts-ID.


Felkoder

När fältet code finns identifierar det ett specifikt, åtgärdbart problem. Nedan finns den fullständiga referensen för varje felkod.

image_too_complex

Det här felet uppstår när inmatningsbilden eller prompt beskriver ett motiv som är för geometriskt komplext för att 3D-genereringsmodellen ska kunna bearbeta det.

Vanliga exempel inkluderar:

  • Täta högar av små objekt (t.ex. en låda full med frukt, en stapel böcker)
  • Intrikata upprepande mönster (t.ex. gitterstrukturer, byggnadsställningar, trådnät)
  • Komplexa byggnadsstrukturer (t.ex. flervåningsbyggnader med många fönster och balkonger)
  • Flera separata objekt i en bild i stället för ett enda motiv

Exempel på indata som sannolikt är för komplexa:

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

Lösning:

  1. Använd ett enda objekt per bild. Modellen fungerar bäst med ett tydligt motiv. Inkludera inte flera separata objekt i samma bild eller prompt.
  2. Förenkla ditt motiv. Minska detaljnivån. Till exempel en enkel vas i stället för en vas fylld med dussintals blommor.
  3. Undvik scen-nivå-prompts. Hela byggnader, stadskvarter, interiörer fyllda med möbler eller landskap överskrider sannolikt modellens kapacitet. Fokusera på ett enda objekt i stället.
  4. Undvik täta upprepande strukturer. Motiv som byggnadsställningar, trådnät, gittermönster eller högar med många små föremål är vanliga utlösare.

model_missing_uv

Det här felet uppstår när du laddar upp en modell för texturering med enable_original_uv satt till true, men modellen saknar UV-koordinater. UV-koordinater definierar hur en 2D-textur lindas runt 3D-ytan på din modell.

Inga UV:er vs bra UV:er

Lösning:

Rätt lösning beror på varför du satte enable_original_uv till true:

  • Om du behöver bevara modellens ursprungliga UV-layout (t.ex. anpassad sömplacering för exakt texturmappning): din modell måste ha giltiga UV-koordinater. Kontrollera att UV:er finns i UV-editorn i din 3D-programvara innan du laddar upp. Observera att STL-filer inte kan lagra UV-data, så använd GLB, FBX eller OBJ i stället.
  • Om du inte behöver specifik UV-kontroll (eller om du är osäker): utelämna enable_original_uv eller sätt det till false. Systemet genererar automatiskt en UV-layout för din modell. De automatiskt genererade UV:erna är optimerade för täckning, men du kommer inte att ha kontroll över var textursömmarna placeras.

model_insufficient_uv

Det här felet uppstår när en modell har UV-koordinater, men UV-täckningen är för liten för texturering av god kvalitet. Detta händer ofta med modeller som exporteras från 3D-verktyg som genererar platshållar-UV:er eller kollapsade UV:er utan en korrekt unwrap.

Otillräckliga UV:er jämfört med bra UV:er

Lösning:

  • Om du behöver bevara din ursprungliga UV-layout: gör om unwrap av modellens UV:er i din 3D-programvara. Se till att UV-öar är korrekt utspridda över UV-utrymmet i stä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 genererar automatiskt en ny UV-layout. Kompromissen är att du förlorar din ursprungliga placering av sömmar, men de automatiskt genererade UV:erna kommer att ha korrekt täckning för texturering.

invalid_input

Detta är reservfelkoden när indata inte klarar valideringen men ingen mer specifik kod är tillämplig. Fältet message innehåller den specifika orsaken till felet.

Vanliga orsaker inkluderar:

  • Tomma eller skadade modellfiler
  • Variationer av filformat som inte stöds (t.ex. ASCII FBX-filer, meshopt-komprimerad 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 detaljer om vad som gick fel. Verifiera att dina indatafiler och parametrar matchar kraven för denna endpoint.

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 prompt och eventuella referensbilder tillsammans.

Lösning:

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

timeout

Det här felet innebär att bearbetningstiden för din uppgift överskred den tillåtna gränsen. Detta kan hända på grund av hög systembelastning eller för att indata är för komplex för att bearbetas inom tidsgränsen.

Lösning:

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

format_conversion_failed

Det här felet uppstår när den genererade 3D-modellen inte kunde konverteras till det utdataformat du begärde. Modellen genererades framgångsrikt, men konverteringssteget misslyckades.

Lösning:

  1. Försök med begäran igen.
  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 Fel av typen timeout och service_unavailable, implementera återförsökslogik med exponentiell backoff.
  2. Logga uppgifts-ID:n. Logga alltid uppgifts-ID:t för felsökningsändamål. Inkludera det när du kontaktar support.
  3. Validera indata. Säkerställ att dina indatabilder och modeller uppfyller formatkraven före inskickning.