lowpoly dihentikan pada 30 Okt 2026. Ganti model sebelum tanggal-tanggal ini agar permintaan tidak error. Lihat semua penghentian

Kesalahan

Cari tahu mengapa sebuah permintaan atau tugas gagal, dan apa yang harus dilakukan selanjutnya. Sebuah permintaan dapat langsung gagal dengan kesalahan HTTP, dan sebuah tugas dapat gagal kemudian dengan task_error.


Request errors

Meshy mengembalikan kesalahan ini segera, saat menolak sebuah request. Untuk mengetahui apa yang salah, periksa kode status HTTP dan field message.

Format respons

Respons kesalahan memiliki field message yang menjelaskan apa yang salah:

  • Name
    message
    Type
    string
    Description

    Deskripsi singkat tentang kesalahan tersebut.

Kode status

  • Name
    2xx
    Description

    Berhasil.

    • Name
      200 - OK
      Description

      Request berhasil.

    • Name
      202 - Accepted
      Description

      Meshy menerima request, dan pemrosesannya belum selesai. Misalnya, sebuah request yang membuat task mengembalikan 202.

  • Name
    4xx
    Description

    Ada yang salah dengan request atau akun Anda. Setiap status menjelaskan apa yang harus dilakukan.

    • Name
      400 - Bad Request
      Description

      Request tidak valid, sering kali karena parameter yang diperlukan hilang atau parameter salah format.

    • Name
      401 - Unauthorized
      Description

      Kunci API hilang, tidak valid, atau tidak dapat mengakses endpoint ini. Lihat Authentication.

    • Name
      402 - Payment Required
      Description

      Akun pemilik kunci API tidak memiliki cukup kredit untuk request tersebut. Pada paket Free, sebagian besar request yang membuat task juga mengembalikan 402.

    • Name
      403 - Forbidden
      Description

      Anda tidak diizinkan untuk membuat request ini, misalnya karena salah satu alasan berikut:

      • Request berasal dari alamat di luar daftar izin IP kunci API.
      • Pemfilteran IP organisasi Anda memblokir file sebuah task saat Anda membacanya.
      • Endpoint tidak tersedia pada paket Anda.
      • Moderation konten memblokir input. Beberapa endpoint mengembalikan 400 untuk kasus ini; setiap halaman endpoint mencantumkan kodenya.
      • Kunci API milik anggota tim yang sudah tidak aktif lagi di tim tersebut.
      • Akun telah dibanned.
    • Name
      404 - Not Found
      Description

      Sumber daya tidak ada. Misalnya, mengambil task dengan ID yang tidak ada mengembalikan 404.

    • Name
      409 - Conflict
      Description

      Sumber daya tersebut ada, tetapi statusnya tidak mengizinkan operasi tersebut. Misalnya, menghapus task IN_PROGRESS mengembalikan 409, karena Meshy tidak dapat mengembalikan kredit untuk task yang sudah dimulai oleh worker. Task tersebut akan tetap berjalan. Tunggu hingga mencapai status akhir (SUCCEEDED, FAILED, atau CANCELED), lalu hapus task tersebut.

    • Name
      422 - Unprocessable Entity
      Description

      Request valid, tetapi Meshy tidak dapat memproses inputnya. Misalnya, Rigging mengembalikan 422 ketika tidak dapat menemukan tubuh humanoid pada model tersebut.

    • Name
      429 - Too Many Requests
      Description

      Anda mengirim terlalu banyak request, atau terlalu banyak task Anda yang sedang dalam antrean atau berjalan. Ketika respons memiliki header Retry-After, tunggu selama jumlah detik tersebut, lalu coba lagi. Lihat Rate limits.

  • Name
    5xx
    Description

    Ada yang salah di sisi Meshy. Coba lagi dengan backoff. Jika kesalahan terus berlanjut, periksa halaman status dan hubungi kami di Discord.

Example: 400 Bad Request

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

Kesalahan tugas

Tugas yang dibuat oleh Meshy tetap bisa gagal saat berjalan. status-nya menjadi FAILED, Meshy mengembalikan kredit-nya, dan task_error menjelaskan alasannya.

task_error dari tugas yang gagal memiliki field berikut:

  • Name
    type
    Type
    string
    Description

    Kategori kesalahannya. Field ini selalu ada pada tugas yang gagal. Gunakan field ini untuk memutuskan apakah perlu mencoba lagi. Lihat Jenis kesalahan.

  • Name
    message
    Type
    string
    Description

    Deskripsi kesalahan yang mudah dibaca manusia. Field ini selalu ada pada tugas yang gagal.

  • Name
    code
    Type
    string
    Opsional
    Description

    Masalah spesifik dan terdokumentasi yang bisa Anda tindak lanjuti. Ada ketika Meshy memiliki detail lebih lanjut. Lihat Kode kesalahan. Meshy mungkin menambahkan kode baru, jadi tangani kode yang tidak Anda kenali berdasarkan type-nya.

  • Name
    doc_url
    Type
    string
    Opsional
    Description

    Tautan ke entri kode tersebut di halaman ini, yang menjelaskan apa yang harus dilakukan. Ada ketika code tersedia.

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

Jenis error

type adalah kategori umum dari kegagalan tersebut. Gunakan ini untuk menentukan langkah selanjutnya.

  • Name
    invalid_input
    Description

    Ada yang salah dengan input yang Anda kirim. Baca code dan message, perbaiki inputnya, lalu buat task baru.

  • Name
    timeout
    Description

    Task tersebut melewati batas waktu di sisi server, baik untuk pemrosesan maupun untuk menunggu dalam antrean, dan gagal. Meshy mengembalikan kredit-nya. Hal ini sering kali bersifat sementara. Buat task tersebut lagi, dan jika terus gagal, coba gunakan input yang lebih sederhana.

  • Name
    service_unavailable
    Description

    Layanan tersebut untuk sementara tidak tersedia. Tunggu sebentar, lalu buat task tersebut lagi.

  • Name
    server_error
    Description

    Ada yang salah di sisi Meshy saat task tersebut berjalan. Buat task tersebut lagi. Jika terus gagal, hubungi dukungan dengan menyertakan ID task tersebut.


Kode kesalahan

Saat code muncul, kode tersebut menyebutkan salah satu masalah berikut.

image_too_complex

Gambar input atau prompt menggambarkan subjek yang secara geometris terlalu kompleks untuk pembuatan 3D.

Sebagai contoh:

  • Tumpukan padat objek kecil, seperti peti penuh buah atau tumpukan buku
  • Pola berulang yang rumit, seperti struktur kisi-kisi, perancah, atau jaring kawat
  • Bangunan yang kompleks, seperti gedung bertingkat dengan banyak jendela dan balkon
  • Beberapa objek berbeda dalam satu gambar, alih-alih satu subjek tunggal

Input berikut kemungkinan besar terlalu kompleks:

A crate of mixed berriesAn intricate cathedral ceilingA building under construction with scaffoldingA honeycomb lattice sphere

Untuk memperbaikinya, coba satu atau beberapa cara berikut:

  • Gunakan satu objek per gambar. Meshy bekerja paling baik dengan satu subjek yang jelas, jadi jangan menempatkan beberapa objek terpisah dalam gambar atau prompt yang sama.
  • Sederhanakan subjek Anda. Misalnya, gunakan vas sederhana alih-alih vas yang dipenuhi puluhan bunga.
  • Hindari pemandangan (scene). Seluruh bangunan, blok kota, ruangan berperabot, dan lanskap kemungkinan besar terlalu banyak. Fokuslah pada satu objek.
  • Hindari struktur berulang yang padat. Perancah, jaring kawat, kisi-kisi, dan tumpukan barang kecil adalah pemicu umum.

model_missing_uv

Anda mengirim model untuk pembuatan tekstur dengan enable_original_uv yang diatur ke true, tetapi model tersebut tidak memiliki koordinat UV. Koordinat UV menentukan bagaimana tekstur 2D membungkus permukaan 3D.

No UVs vs Good UVs

Untuk memperbaikinya, lakukan salah satu hal berikut:

  • Untuk mempertahankan tata letak UV model Anda sendiri, misalnya untuk penempatan sambungan (seam) khusus, tambahkan UV ke model di perangkat lunak 3D Anda. Periksa UV tersebut di editor UV-nya, lalu unggah model tersebut lagi. File STL tidak dapat menyimpan UV, jadi gunakan GLB, FBX, atau OBJ.
  • Jika Anda tidak memerlukan tata letak Anda sendiri, atau tidak yakin, hilangkan enable_original_uv atau atur ke false. Meshy kemudian akan membuat tata letak UV untuk model tersebut. UV baru ini akan menutupi model dengan baik, tetapi Anda tidak dapat mengontrol di mana sambungan tekstur akan ditempatkan.

model_insufficient_uv

Model memiliki koordinat UV, tetapi koordinat tersebut mencakup terlalu sedikit ruang UV untuk dapat menghasilkan tekstur dengan baik. Hal ini sering terjadi pada model yang exporter-nya menuliskan UV placeholder atau UV yang kolaps tanpa unwrap yang tepat.

Insufficient UVs vs Good UVs

Untuk memperbaikinya, lakukan salah satu hal berikut:

  • Untuk mempertahankan tata letak UV Anda sendiri, unwrap kembali koordinat UV model di software 3D Anda. Sebarkan island ke seluruh ruang UV, bukan hanya di sudut kecil darinya.
  • Jika Anda tidak memerlukan tata letak Anda sendiri, hilangkan enable_original_uv atau atur ke false. Meshy kemudian akan membuat tata letak UV baru. Anda akan kehilangan penempatan seam Anda, tetapi UV baru tersebut mencakup ruang yang cukup untuk menghasilkan tekstur.

model_missing_texture

Model input pada tugas Multi-Color Print tidak memiliki warna yang dapat dipecah Meshy menjadi warna cetak. Meshy membangun 3MF multiwarna dari warna-warna model, sehingga mesh putih polos tidak memiliki apa pun untuk diolah. Misalnya, pratinjau Teks ke 3D atau Gambar ke 3D yang belum pernah diberi tekstur tidak memiliki warna. Begitu pula dengan output dari Perbaiki kemampuan cetak, atau tugas Auto Split yang tidak mempertahankan tekstur.

Apa yang dianggap sebagai warna bergantung pada style yang Anda minta:

  • realistic mengambil sampel tekstur warna dasar melalui UV model. Ini membutuhkan satu tekstur warna dasar, dan UV pada setiap bagian mesh.
  • cartoon meratakan warna per permukaan (face). Ini menerima tekstur warna dasar pada bagian mana pun, atau warna per-vertex (COLOR_0).

Meshy menolak model yang tidak memiliki tekstur warna dasar maupun warna vertex untuk kedua gaya tersebut, alih-alih membiarkan cartoon mengubahnya menjadi cetakan satu warna.

Meshy menolak sebagian besar permintaan ini sebelum membuat tugas, dengan kode 400 dan penjelasan yang sama. Anda biasanya hanya mendapatkan kode ini saat Meshy tidak dapat memeriksa input terlebih dahulu. Misalnya, Meshy memeriksa unggahan .fbx hanya setelah tugas mengonversinya.

Untuk memperbaikinya, gunakan opsi yang sesuai dengan model Anda:

  • Beri tekstur pada model terlebih dahulu. Jalankan Retexture padanya, atau buat dengan tugas refine Teks ke 3D atau tugas Gambar ke 3D dengan should_texture: true. Kemudian kirim tugas tersebut sebagai input_task_id.
  • Untuk model dengan warna vertex, seperti pindaian fotogrametri atau mesh yang dicat tangan, gunakan style: "cartoon", yang membaca COLOR_0.
  • Untuk model yang sebagian diberi tekstur atau multi-tekstur dengan realistic, berikan UV pada setiap bagian mesh dan tekstur warna dasar tunggal yang sama. Untuk melakukannya, beri tekstur pada bagian yang tersisa, atau gabungkan tekstur-tekstur tersebut menjadi satu atlas. Anda juga dapat beralih ke style: "cartoon".

textured_split_refused

Tugas Auto Split dengan keep_texture: true tidak dapat mempertahankan tekstur model input pada bagian-bagiannya. Misalnya, model tidak memiliki UV, atau teksturnya tidak memiliki ruang untuk permukaan baru yang dihasilkan oleh potongan. Meshy akan mengembalikan kredit.

Untuk memperbaikinya, kirim ulang permintaan tanpa keep_texture, atau dengan keep_texture: false. Bagian-bagian tersebut kemudian akan kembali dengan warna polos masing-masing.

invalid_input

Input gagal dalam pemeriksaan, dan tidak ada kode yang lebih spesifik yang berlaku. message memberikan alasannya.

Contohnya:

  • File model kosong atau rusak
  • Varian format file yang tidak didukung, seperti file FBX ASCII atau file GLB terkompresi meshopt
  • Model yang diunggah tanpa objek 3D yang valid, misalnya file yang hanya berisi armature, kamera, atau cahaya
  • Konten yang tidak lolos filter keamanan

Untuk memperbaikinya, baca message untuk mengetahui masalah spesifiknya. Periksa apakah file input dan parameter Anda memenuhi persyaratan endpoint.

moderation_blocked

Filter keamanan menolak prompt atau gambar referensi Anda. Filter ini memeriksa teks dan gambar secara bersamaan.

Untuk memperbaikinya, lakukan salah satu atau kedua hal berikut:

  • Ubah redaksi prompt untuk menghilangkan deskripsi yang bersifat sugestif atau sensitif.
  • Ganti gambar referensi yang menampilkan konten yang mungkin diblokir oleh filter.

moderation_unavailable

Tipe: server_error. Moderation konten untuk sementara tidak tersedia, sehingga Meshy menggagalkan tugas tersebut alih-alih melewati pemeriksaan. Tidak ada yang salah dengan konten Anda.

Untuk memperbaikinya, buat tugas tersebut kembali.

timeout

Tugas melewati batas waktu di sisi server, baik untuk pemrosesan maupun untuk menunggu dalam antrean, sehingga Meshy menggagalkannya dan mengembalikan kreditnya. Beban tinggi, atau input yang terlalu kompleks untuk diselesaikan tepat waktu, dapat menyebabkan hal ini.

Ini berbeda dari timeout di kode Anda sendiri. Jika klien Anda berhenti menunggu, tugas tersebut masih berjalan. Lihat Berapa lama harus menunggu.

Untuk memperbaikinya, ikuti langkah-langkah berikut:

  1. Buat tugas lagi. Timeout sering kali bersifat sementara, dan tugas baru mungkin akan berhasil.
  2. Jika terus gagal, sederhanakan input Anda, misalnya dengan mengurangi detail pada gambar atau prompt Anda. Untuk input yang lebih sulit diproses, lihat image_too_complex.

queue_timeout

Tipe: timeout. Tugas menunggu terlalu lama di antrean tanpa dimulai, sehingga Meshy menggagalkannya dan mengembalikan kredit yang dikenakan untuk tugas tersebut. Input Anda bukan penyebab kesalahan ini.

Untuk memperbaikinya, buat tugas tersebut lagi.

format_conversion_failed

Meshy berhasil membuat model, tetapi konversinya ke format yang Anda minta gagal.

Untuk memperbaikinya, ikuti langkah-langkah berikut:

  1. Buat tugas tersebut lagi.
  2. Jika satu format terus-menerus gagal, minta format lain yang sesuai dengan kebutuhan Anda.

Praktik terbaik

  • Coba ulang task yang gagal. Untuk task yang gagal dengan timeout, service_unavailable, atau server_error, buat task baru dengan exponential backoff.
  • Jangan buat task baru saat permintaan Anda sendiri mengalami timeout. Task pertama mungkin masih berjalan, jadi periksa apakah task tersebut ada sebelum Anda membuat task lainnya. Lihat Berapa lama harus menunggu.
  • Catat ID task. Sertakan ID tersebut saat Anda menghubungi dukungan.
  • Periksa input sebelum Anda mengirimkannya. Pastikan gambar dan model memenuhi persyaratan format endpoint.
  • Panggil API dari server Anda. Kode yang berjalan di browser akan mengekspos kunci API Anda kepada siapa pun yang membuka halaman tersebut.