Mga Error

Sa gabay na ito, pag-uusapan natin ang nangyayari kapag may nagkamali habang ikaw ay nagtatrabaho gamit ang Meshy API.


Mga Error sa Request

Ang mga error na ito ay agad na ibinabalik kapag ang iyong API request ay tinanggihan. Suriin ang HTTP status code at message field upang maunawaan kung ano ang naging problema.

Format ng Tugon

Ang error response ay naglalaman ng isang message field na naglalarawan kung ano ang naging problema:

  • Name
    message
    Type
    string
    Description

    Isang maikling paglalarawan ng error.

Mga Status Code

  • Name
    2xx
    Description

    Ang 2xx status code ay nagpapahiwatig ng matagumpay na tugon.

    • Name
      200 - OK
      Description

      Bilang default, kung ang lahat ay gumana ayon sa inaasahan, isang 200 status code ang ibabalik.

    • Name
      202 - Accepted
      Description

      Ang iyong request ay tinanggap para sa pagproseso, ngunit ang pagproseso ay hindi pa natatapos. Ito ay isang hindi komitidong tugon mula sa Meshy API. Halimbawa, ang isang request na lumikha ng bagong gawain ay magbabalik ng 202 status code.

  • Name
    4xx
    Description

    Ang 4xx status code ay nagpapahiwatig ng error sa kliyente.

    • Name
      400 - Bad Request
      Description

      Ang request ay hindi katanggap-tanggap, kadalasang dahil sa nawawalang mandatory parameter o isa sa mga parameter ay mali ang anyo.

    • Name
      401 - Unauthorized
      Description

      Walang wastong API key na ibinigay o ang ibinigay na API key ay hindi awtorisadong ma-access ang Meshy API endpoint.

    • Name
      402 - Payment Required
      Description

      Hindi sapat ang pondo sa account na nauugnay sa ibinigay na API key.

    • Name
      403 - Forbidden
      Description

      Ang pag-access sa hiniling na mapagkukunan ay ipinagbabawal. Maaaring mangyari ito kung susubukan mong i-access ang Meshy API nang direkta mula sa client-side JavaScript code, dahil ang Cross-Origin Resource Sharing (CORS) requests mula sa mga browser ay hindi pinapayagan. Isaalang-alang ang paggamit ng server-side proxy para sa mga ganitong request. Para sa karagdagang detalye, tingnan ang MDN CORS guide.

    • Name
      404 - Not Found
      Description

      Ang hiniling na mapagkukunan ay hindi umiiral. Halimbawa, kapag sinubukan mong kunin ang isang gawain sa pamamagitan ng ID nito ngunit nagbigay ng hindi wastong ID, makakakuha ka ng 404 status code.

    • Name
      429 - Too Many Requests
      Description

      Masyadong maraming request ang tumama sa Meshy API nang mabilis. Mangyaring sumangguni sa Rate Limits guide para sa mga detalye.

  • Name
    5xx
    Description

    Ang 5xx status code ay nagpapahiwatig ng error sa server. Kung makakita ka ng isa, mangyaring suriin ang aming status page para sa karagdagang impormasyon at makipag-ugnayan sa amin sa pamamagitan ng Discord para sa tulong.

Halimbawa: 400 Bad Request

{
  "message": "Invalid model file extension: .3dm"
}

Mga Error sa Gawain

Ang mga error na ito ay nangyayari pagkatapos malikha ang isang gawain at ito ay pinoproseso. Suriin ang task_error na object sa tugon ng gawain para sa mga detalye ng error.

Ang task_error na object ay naglalaman ng mga sumusunod na field:

  • Name
    type
    Type
    string
    Description

    Ang kategorya ng error. Palaging naroroon sa mga nabigong gawain. Tingnan ang Mga Uri ng Error sa ibaba.

  • Name
    message
    Type
    string
    Description

    Isang nababasang paglalarawan ng error. Palaging naroroon sa mga nabigong gawain.

  • Name
    code
    Type
    string
    Opsyonal
    Description

    Isang tiyak na code ng error na tumutukoy sa problema. Naroroon kapag may karagdagang detalye. Tingnan ang Mga Code ng Error sa ibaba.

  • Name
    doc_url
    Type
    string
    Opsyonal
    Description

    Isang link sa detalyadong dokumentasyon para sa code ng error na ito, kabilang ang gabay sa paglutas. Naroroon kapag ang code ay naroroon.

Error na may mga detalye

{
  "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 na walang detalye

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "status": "FAILED",
  "task_error": {
    "type": "server_error",
    "message": "An internal error occurred. Please retry."
  }
}

Mga Uri ng Error

Ang type na field ay nagsasabi sa iyo ng malawak na kategorya ng pagkabigo. Gamitin ito upang magpasya sa iyong retry strategy.

  • Name
    invalid_input
    Description

    May mali sa input na ibinigay mo. Suriin ang mga field na code at message para sa mga detalye, ayusin ang isyu, at subukang muli.

  • Name
    timeout
    Description

    Lumampas ang pagproseso sa limitasyon ng oras. Madalas itong pansamantala. Subukang muli ang kahilingan, at kung patuloy itong nabibigo, subukang gawing mas simple ang iyong input.

  • Name
    service_unavailable
    Description

    Ang serbisyo ay pansamantalang hindi magagamit. Maghintay ng sandali at subukang muli.

  • Name
    server_error
    Description

    Nagkaroon ng internal na error sa panahon ng pagproseso. Subukang muli ang kahilingan. Kung magpapatuloy ang isyu, makipag-ugnayan sa suporta gamit ang iyong task ID.


Mga Code ng Error

Kapag ang code na field ay naroroon, ito ay tumutukoy sa isang tiyak at maaring aksyunan na problema. Nasa ibaba ang buong sanggunian para sa bawat code ng error.

image_too_complex

Ang error na ito ay nangyayari kapag ang input na imahe o prompt ay naglalarawan ng isang paksa na masyadong kumplikado sa heometriya para sa 3D generation model na iproseso.

Karaniwang halimbawa ay kinabibilangan ng:

  • Siksik na tambak ng maliliit na bagay (hal., isang kahon na puno ng prutas, isang tambak ng mga libro)
  • Masalimuot na mga umuulit na pattern (hal., mga istrukturang lattice, scaffolding, wire meshes)
  • Kumplikadong mga istruktura ng gusali (hal., mga gusaling may maraming palapag na may maraming bintana at balkonahe)
  • Maraming magkakaibang bagay sa isang imahe sa halip na isang solong paksa

Mga halimbawa ng mga input na malamang na masyadong kumplikado:

Isang kahon ng halo-halong berriesIsang masalimuot na kisame ng katedralIsang gusali na nasa ilalim ng konstruksyon na may scaffoldingIsang honeycomb lattice sphere

Resolusyon:

  1. Gumamit ng isang solong bagay kada imahe. Ang modelo ay pinakamahusay na gumagana sa isang malinaw na paksa. Huwag isama ang maraming magkakahiwalay na bagay sa parehong imahe o prompt.
  2. Pinasimple ang iyong paksa. Bawasan ang antas ng detalye. Halimbawa, isang simpleng plorera sa halip na isang plorera na puno ng dose-dosenang mga bulaklak.
  3. Iwasan ang mga prompt na antas-scene. Ang buong mga gusali, mga bloke ng lungsod, mga interior na puno ng kasangkapan, o mga tanawin ay malamang na lumampas sa kapasidad ng modelo. Magtuon sa isang solong bagay sa halip.
  4. Iwasan ang siksik na umuulit na mga istruktura. Ang mga paksa tulad ng scaffolding, wire meshes, mga pattern ng lattice, o mga tambak ng maraming maliliit na bagay ay karaniwang mga trigger.

model_missing_uv

Nangyayari ang error na ito kapag nag-upload ka ng modelo para sa texturing na may nakatakdang enable_original_uv sa true, ngunit ang modelo ay walang UV coordinates. Ang UV coordinates ay nagtatakda kung paano ang isang 2D texture ay bumabalot sa 3D na ibabaw ng iyong modelo.

No UVs vs Good UVs

Resolusyon:

Ang tamang solusyon ay nakadepende kung bakit mo itinakda ang enable_original_uv sa true:

  • Kung kailangan mong panatilihin ang orihinal na UV layout ng iyong modelo (halimbawa, custom seam placement para sa tumpak na texture mapping): ang iyong modelo ay dapat may wastong UV coordinates. Siguraduhing may UVs sa UV editor ng iyong 3D software bago mag-upload. Tandaan na ang STL files ay hindi makakapag-imbak ng UV data, kaya gamitin ang GLB, FBX, o OBJ sa halip.
  • Kung hindi mo kailangan ng partikular na UV control (o hindi ka sigurado): huwag isama ang enable_original_uv o itakda ito sa false. Ang sistema ay awtomatikong lilikha ng UV layout para sa iyong modelo. Ang awtomatikong nalikhang UVs ay na-optimize para sa coverage ngunit wala kang kontrol kung saan ilalagay ang texture seams.

model_insufficient_uv

Nangyayari ang error na ito kapag ang isang modelo ay may UV coordinates, ngunit ang UV coverage ay masyadong maliit para sa kalidad ng pagte-texture. Karaniwang nangyayari ito sa mga modelong na-export mula sa mga 3D tool na bumubuo ng placeholder o collapsed UVs nang walang tamang unwrap.

Insufficient UVs vs Good UVs

Resolusyon:

  • Kung kailangan mong panatilihin ang iyong orihinal na UV layout: i-re-unwrap ang UVs ng modelo sa iyong 3D software. Siguraduhing ang mga UV island ay maayos na nakakalat sa UV space sa halip na nakatipon sa isang maliit na lugar.
  • Kung hindi mo kailangan ng partikular na UV control: huwag isama ang enable_original_uv o itakda ito sa false. Awtomatikong bubuo ang sistema ng bagong UV layout. Ang kapalit nito ay mawawala ang orihinal na seam placement, ngunit ang awtomatikong nabuo na UVs ay magkakaroon ng tamang coverage para sa pagte-texture.

invalid_input

Ito ang fallback error code kapag ang input ay nabigo sa validation ngunit walang mas tiyak na code na naaangkop. Ang message field ay naglalaman ng tiyak na dahilan para sa pagkabigo.

Karaniwang mga sanhi ay kinabibilangan ng:

  • Walang laman o sira na mga model file
  • Hindi suportadong mga pagkakaiba-iba ng file format (hal., ASCII FBX files, meshopt-compressed GLB)
  • Walang wastong 3D na mga bagay na natagpuan sa na-upload na modelo (hal., ang file ay naglalaman lamang ng armatures, cameras, o lights)
  • Nilalaman na hindi pumasa sa mga safety filter

Resolution: Suriin ang message field para sa mga detalye kung ano ang nagkamali. Tiyakin na ang iyong mga input file at mga parameter ay tumutugma sa mga kinakailangan ng endpoint.

moderation_blocked

Nangyayari ang error na ito kapag ang iyong prompt o reference images ay tinanggihan ng AI safety filters. Sinusuri ng filter ang parehong text prompt at anumang reference images nang magkasama.

Resolution:

  • Baguhin ang iyong text prompt upang alisin ang mga mapang-akit o sensitibong paglalarawan.
  • Ayusin ang reference images kung naglalaman ito ng nilalaman na maaaring mag-trigger ng safety filters.

timeout

Ibig sabihin ng error na ito ay lumampas ang oras ng pagproseso ng iyong gawain sa pinapayagang limitasyon. Maaaring mangyari ito dahil sa mataas na load ng sistema o dahil masyadong kumplikado ang input para maproseso sa loob ng limitasyon ng oras.

Resolution:

  1. Subukang muli ang kahilingan. Ang mga timeout ay madalas na pansamantala at maaaring magtagumpay ang isang pagsubok muli.
  2. Pagaanin ang iyong input. Kung patuloy na nabibigo ang mga pagsubok muli, maaaring masyadong kumplikado ang iyong input. Subukang bawasan ang antas ng detalye sa iyong imahe o prompt. Tingnan ang image_too_complex para sa gabay kung anong mga uri ng input ang mas mahirap iproseso.

format_conversion_failed

Nangyayari ang error na ito kapag ang nabuo na 3D model ay hindi ma-convert sa iyong hiniling na output format. Ang model ay matagumpay na nabuo, ngunit nabigo ang conversion step.

Resolusyon:

  1. Subukang muli ang kahilingan.
  2. Subukan ang ibang output format. Kung ang isang partikular na format ay patuloy na nabibigo, lumipat sa ibang format na angkop sa iyong pangangailangan.

Pinakamahusay na Kasanayan

  1. Ipatupad ang retry logic. Para sa timeout at service_unavailable errors, ipatupad ang exponential backoff retry logic.
  2. I-log ang mga task ID. Laging i-log ang task ID para sa debugging purposes. Isama ito kapag nakikipag-ugnayan sa suporta.
  3. I-validate ang mga input. Tiyakin na ang iyong mga input na imahe at modelo ay tumutugon sa mga kinakailangan sa format bago isumite.