Ralat
Dalam panduan ini, kita akan membincangkan apa yang berlaku apabila sesuatu tidak kena semasa anda bekerja dengan Meshy API.
Ralat Permintaan
Ralat ini dikembalikan dengan segera apabila permintaan API anda ditolak. Semak kod status HTTP dan medan message untuk memahami apa yang tidak kena.
Format Respons
Respons ralat mengandungi satu medan message yang menerangkan apa yang tidak kena:
- Name
- message
- Type
- string
- Description
Penerangan ringkas tentang ralat tersebut.
Kod Status
- Name
2xx- Description
Kod status 2xx menunjukkan respons yang berjaya.
- Name
200 - OK- Description
Secara lalai, jika semuanya berfungsi seperti yang dijangkakan, kod status 200 akan dikembalikan.
- Name
202 - Accepted- Description
Permintaan anda telah diterima untuk diproses, tetapi pemprosesan belum selesai. Ini adalah respons tidak muktamad daripada Meshy API. Sebagai contoh, permintaan untuk mencipta tugas baharu akan mengembalikan kod status 202.
- Name
4xx- Description
Kod status 4xx menunjukkan ralat klien.
- Name
400 - Bad Request- Description
Permintaan tidak dapat diterima, selalunya disebabkan oleh ketiadaan parameter mandatori atau salah satu parameter tidak sah bentuknya.
- Name
401 - Unauthorized- Description
Tiada kunci API yang sah diberikan atau kunci API yang diberikan tidak dibenarkan untuk mengakses endpoint Meshy API.
- Name
402 - Payment Required- Description
Dana tidak mencukupi dalam akaun yang dikaitkan dengan kunci API yang diberikan.
- Name
403 - Forbidden- Description
Anda tidak dibenarkan membuat permintaan ini. Sebagai contoh, permintaan datang daripada alamat di luar senarai IP yang dibenarkan untuk kunci API, semakan kandungan pelan Enterprise menyekat fail-fail tugas semasa anda membacanya, atau endpoint tersebut tidak tersedia pada pelan anda.
- Name
404 - Not Found- Description
Sumber yang diminta tidak wujud. Sebagai contoh, apabila anda cuba mendapatkan semula tugas mengikut ID-nya tetapi memberikan ID yang tidak sah, anda akan mendapat kod status 404.
- Name
409 - Conflict- Description
Sumber tersebut wujud tetapi keadaan semasanya tidak membenarkan operasi tersebut. Sebagai contoh, memadam tugas yang sudah
IN_PROGRESSakan mengembalikan 409: pekerja telah memulakan kerja yang tidak boleh dikembalikan dananya, jadi tugas tersebut dibiarkan berjalan. Tunggu sehingga status muktamad (SUCCEEDED,FAILEDatauCANCELED) dan cuba semula.
- Name
429 - Too Many Requests- Description
Terlalu banyak permintaan dihantar ke Meshy API dengan terlalu pantas. Tunggu bilangan saat yang dinyatakan dalam pengepala
Retry-Aftersebelum mencuba semula. Sila rujuk panduan Rate Limits untuk maklumat lanjut.
- Name
5xx- Description
Kod status 5xx menunjukkan ralat pelayan. Jika anda melihatnya, sila semak laman status kami untuk maklumat lanjut dan hubungi kami melalui Discord untuk mendapatkan bantuan.
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
Ralat Tugas
Ralat-ralat ini berlaku selepas tugas telah dicipta dan sedang diproses. Semak objek task_error pada respons tugas untuk butiran ralat.
Objek task_error mengandungi medan-medan berikut:
- Name
- type
- Type
- string
- Description
Kategori ralat. Sentiasa hadir pada tugas yang gagal. Lihat Jenis Ralat di bawah.
- Name
- message
- Type
- string
- Description
Penerangan ralat yang boleh dibaca oleh manusia. Sentiasa hadir pada tugas yang gagal.
- Name
- code
- Type
- string
- Pilihan
- Description
Kod ralat khusus yang mengenal pasti masalah. Hadir apabila butiran tambahan tersedia. Lihat Kod Ralat di bawah.
- Name
- doc_url
- Type
- string
- Pilihan
- Description
Pautan ke dokumentasi terperinci untuk kod ralat ini, termasuk panduan penyelesaian. Hadir apabila
codehadir.
Ralat dengan butiran
{
"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"
}
}
Ralat tanpa butiran
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
Jenis Ralat
Medan type memberitahu anda kategori umum kegagalan tersebut. Gunakannya untuk menentukan strategi cuba semula anda.
- Name
invalid_input- Description
Terdapat masalah dengan input yang anda berikan. Semak medan
codedanmessageuntuk butiran lanjut, betulkan masalah tersebut, dan cuba semula.
- Name
timeout- Description
Tugas tersebut melebihi had masa di pihak pelayan, sama ada untuk pemprosesan atau semasa menunggu dalam baris gilir, dan gagal. Kreditnya dikembalikan. Ini selalunya bersifat sementara: cipta semula tugas tersebut, dan jika ia terus gagal, cuba permudahkan input anda.
- Name
service_unavailable- Description
Perkhidmatan tidak tersedia buat sementara waktu. Tunggu sebentar, kemudian cipta semula tugas tersebut.
- Name
server_error- Description
Ralat dalaman berlaku semasa pemprosesan. Cipta semula tugas tersebut. Jika masalah berterusan, hubungi sokongan dengan ID tugas anda.
Kod Ralat
Apabila medan code hadir, ia mengenal pasti masalah khusus yang boleh diambil tindakan. Di bawah adalah rujukan penuh untuk setiap kod ralat.
image_too_complex
Ralat ini berlaku apabila imej input atau prompt menerangkan subjek yang terlalu kompleks secara geometri untuk model penjanaan 3D memproses.
Contoh biasa termasuk:
- Timbunan padat objek kecil (contohnya, peti penuh buah, timbunan buku)
- Corak berulang yang rumit (contohnya, struktur kisi, perancah, jaring wayar)
- Struktur bangunan yang kompleks (contohnya, bangunan bertingkat dengan banyak tingkap dan balkoni)
- Pelbagai objek berbeza dalam satu imej dan bukannya satu subjek tunggal
Contoh input yang mungkin terlalu kompleks:




Penyelesaian:
- Gunakan satu objek bagi setiap imej. Model berfungsi dengan baik dengan satu subjek yang jelas. Jangan sertakan pelbagai objek berasingan dalam imej atau prompt yang sama.
- Permudahkan subjek anda. Kurangkan tahap perincian. Sebagai contoh, pasu mudah dan bukannya pasu yang dipenuhi dengan berpuluh-puluh bunga.
- Elakkan prompt tahap adegan. Seluruh bangunan, blok bandar, bahagian dalam yang dipenuhi perabot, atau landskap mungkin melebihi kapasiti model. Fokus pada satu objek sahaja.
- Elakkan struktur berulang yang padat. Subjek seperti perancah, jaring wayar, corak kisi, atau timbunan banyak item kecil adalah pencetus biasa.
model_missing_uv
Ralat ini berlaku apabila anda memuat naik model untuk tekstur dengan enable_original_uv ditetapkan kepada true, tetapi model tersebut tidak mempunyai koordinat UV. Koordinat UV menentukan bagaimana tekstur 2D membalut permukaan 3D model anda.

Penyelesaian:
Penyelesaian yang betul bergantung kepada mengapa anda menetapkan enable_original_uv kepada true:
- Jika anda perlu mengekalkan susun atur UV asal model anda (contohnya, penempatan jahitan tersuai untuk pemetaan tekstur yang tepat): model anda mesti mempunyai koordinat UV yang sah. Sahkan UV wujud dalam penyunting UV perisian 3D anda sebelum memuat naik. Perhatikan bahawa fail STL tidak boleh menyimpan data UV, jadi gunakan GLB, FBX, atau OBJ sebagai gantinya.
- Jika anda tidak memerlukan kawalan UV khusus (atau anda tidak pasti): abaikan
enable_original_uvatau tetapkan kepadafalse. Sistem akan secara automatik menjana susun atur UV untuk model anda. UV yang dijana secara automatik dioptimumkan untuk liputan tetapi anda tidak akan mempunyai kawalan ke atas di mana jahitan tekstur diletakkan.
model_insufficient_uv
Ralat ini berlaku apabila model mempunyai koordinat UV, tetapi liputan UV terlalu kecil untuk tekstur berkualiti. Ini biasanya berlaku dengan model yang dieksport dari alat 3D yang menjana UV sementara atau runtuh tanpa pembukaan yang betul.

Penyelesaian:
- Jika anda perlu mengekalkan susun atur UV asal anda: buka semula UV model dalam perisian 3D anda. Pastikan pulau UV tersebar dengan betul di seluruh ruang UV dan tidak runtuh ke kawasan kecil.
- Jika anda tidak memerlukan kawalan UV khusus: abaikan
enable_original_uvatau tetapkan kepadafalse. Sistem akan menjana susun atur UV baru secara automatik. Kelemahannya adalah anda kehilangan penempatan jahitan asal anda, tetapi UV yang dijana secara automatik akan mempunyai liputan yang betul untuk tekstur.
model_missing_texture
Ralat ini berlaku apabila model input bagi tugasan Multi-Color Print tidak mempunyai maklumat warna yang boleh dipisahkan oleh penukar kepada warna cetakan. 3MF pelbagai warna dibina daripada warna model, jadi jejaring putih biasa — contohnya pratonton Teks ke 3D atau Imej ke 3D yang tidak pernah ditekstur, atau output yang dibaiki / dipisah secara automatik — tidak mempunyai apa-apa untuk diproses.
Apa yang dikira sebagai sumber warna bergantung pada style yang anda minta:
realisticmengambil sampel tekstur warna asas melalui koordinat UV model, jadi ia memerlukan satu tekstur warna asas dengan koordinat UV pada setiap bahagian jejaring.cartoonmeratakan warna bagi setiap muka dan menerima tekstur warna asas pada mana-mana bahagian atau warna setiap bucu (COLOR_0).
Model yang tiada tekstur warna asas mahupun warna bucu akan ditolak untuk kedua-dua gaya; dengan cartoon, sebaliknya ia akan "berjaya" sebagai cetakan satu warna.
Kebanyakan permintaan ditolak sebelum tugasan dicipta (400 Bad Request dengan penjelasan yang sama), jadi anda biasanya hanya akan melihat kod ini apabila input tidak dapat diperiksa terlebih dahulu — muat naik .fbx, misalnya, diperiksa sebaik sahaja tugasan telah dinormalkan.
Penyelesaian:
- Tekstur model terlebih dahulu. Jalankan tugasan Retekstur ke atasnya, atau hasilkannya dengan pentekstur diaktifkan (tugasan refine Teks ke 3D, atau tugasan Imej ke 3D dengan
should_texture: true), dan hantar tugasan tersebut sebagaiinput_task_id. - Model berwarna bucu (imbasan fotogrametri, jejaring dicat secara manual): minta
style: "cartoon", yang membacaCOLOR_0. - Model yang ditekstur sebahagian atau bertekstur berbilang di bawah
realistic: setiap bahagian jejaring memerlukan UV dan tekstur warna asas yang sama serta tunggal. Tekstur bahagian yang tinggal atau gabungkan tekstur-tekstur tersebut menjadi satu atlas, atau tukar kepadastyle: "cartoon".
invalid_input
Ini adalah kod ralat lalai apabila input gagal pengesahan tetapi tiada kod yang lebih spesifik terpakai. Medan message mengandungi sebab khusus untuk kegagalan tersebut.
Punca biasa termasuk:
- Fail model kosong atau rosak
- Variasi format fail yang tidak disokong (contohnya, fail ASCII FBX, GLB yang dimampatkan meshopt)
- Tiada objek 3D yang sah ditemui dalam model yang dimuat naik (contohnya, fail hanya mengandungi rangka, kamera, atau lampu)
- Kandungan yang tidak melepasi penapis keselamatan
Penyelesaian: Semak medan message untuk butiran khusus mengenai apa yang salah. Sahkan fail input dan parameter anda sepadan dengan keperluan endpoint.
moderation_blocked
Ralat ini berlaku apabila prompt atau imej rujukan anda ditolak oleh penapis keselamatan AI. Penapis menilai kedua-dua prompt teks dan mana-mana imej rujukan secara bersama.
Penyelesaian:
- Ubah semula prompt teks anda untuk mengalih keluar penerangan yang bersifat sugestif atau sensitif.
- Laraskan imej rujukan jika ia menggambarkan kandungan yang mungkin mencetuskan penapis keselamatan.
moderation_unavailable
Ralat ini berlaku apabila moderation kandungan tidak tersedia buat sementara waktu, menyebabkan tugas gagal dijalankan dan bukannya dijalankan tanpa pemeriksaan tersebut. Tiada apa-apa yang salah dengan kandungan anda. type baginya ialah server_error.
Penyelesaian: Cipta semula tugas tersebut.
timeout
Ralat ini bermaksud tugas melebihi had masa di pihak pelayan, sama ada untuk pemprosesan atau semasa menunggu dalam baris gilir, lalu tugas itu gagal dan kreditnya dikembalikan. Ini boleh berlaku akibat beban sistem yang tinggi atau kerana input terlalu kompleks untuk diproses dalam had masa yang ditetapkan.
Ini berbeza daripada timeout dalam kod anda sendiri. Jika klien anda berhenti menunggu, tugas tersebut masih berjalan; lihat Task Lifecycle.
Penyelesaian:
- Cipta semula tugas tersebut. Timeout selalunya bersifat sementara dan tugas baharu mungkin berjaya.
- Permudahkan input anda. Jika percubaan semula terus gagal, input anda mungkin terlalu kompleks. Cuba kurangkan tahap perincian pada imej atau prompt anda. Lihat
image_too_complexuntuk panduan mengenai jenis input yang lebih sukar diproses.
queue_timeout
Ralat ini bermaksud tugas tersebut menunggu terlalu lama dalam baris gilir tanpa bermula, jadi ia gagal dan sebarang kredit yang dicaj untuknya telah dikembalikan. Input anda bukan puncanya. type ralat ini ialah timeout.
Penyelesaian: Cipta semula tugas tersebut.
format_conversion_failed
Ralat ini berlaku apabila model 3D yang dijana tidak dapat ditukar kepada format output yang anda minta. Model tersebut berjaya dijana, tetapi langkah penukaran gagal.
Penyelesaian:
- Cuba semula permintaan tersebut.
- Cuba format output yang lain. Jika format tertentu terus gagal, tukar kepada format lain yang sesuai dengan keperluan anda.
Amalan Terbaik
- Laksanakan logik cuba semula. Apabila tugas gagal dengan ralat
timeout,service_unavailableatauserver_error, cipta semula tugas tersebut dengan exponential backoff. Jika permintaan anda sendiri tamat masa, jangan cipta tugas baharu: semak dahulu tugas yang sedia ada (lihat Kitaran Hayat Tugas). - Log ID tugas. Sentiasa log ID tugas untuk tujuan penyahpepijatan. Sertakan ID tersebut semasa menghubungi sokongan.
- Sahkan input. Pastikan imej dan model input anda memenuhi keperluan format sebelum penghantaran.
- Panggil API dari pelayan anda. Kod yang dijalankan dalam pelayar akan mendedahkan kunci API anda kepada sesiapa sahaja yang membuka halaman tersebut.