Kesalahan

Dalam panduan ini, kita akan membahas tentang apa yang terjadi ketika sesuatu tidak berjalan dengan baik saat Anda bekerja dengan Meshy API.


Kesalahan Permintaan

Kesalahan-kesalahan ini dikembalikan segera ketika permintaan API Anda ditolak. Periksa kode status HTTP dan bidang message untuk memahami apa yang salah.

Format Respon

Respon kesalahan berisi satu bidang message yang menjelaskan apa yang salah:

  • Name
    message
    Type
    string
    Description

    Deskripsi singkat tentang kesalahan.

Kode Status

  • Name
    2xx
    Description

    Kode status 2xx menunjukkan respon yang berhasil.

    • Name
      200 - OK
      Description

      Secara default, jika semuanya berjalan sesuai harapan, kode status 200 akan dikembalikan.

    • Name
      202 - Accepted
      Description

      Permintaan Anda telah diterima untuk diproses, tetapi pemrosesan belum selesai. Ini adalah respon non-komitmen dari Meshy API. Sebagai contoh, permintaan untuk membuat tugas baru akan mengembalikan kode status 202.

  • Name
    4xx
    Description

    Kode status 4xx menunjukkan kesalahan klien.

    • Name
      400 - Bad Request
      Description

      Permintaan tidak dapat diterima, sering kali karena kehilangan parameter wajib atau salah satu parameter tidak sesuai.

    • Name
      401 - Unauthorized
      Description

      Tidak ada kunci API yang valid yang diberikan atau kunci API yang diberikan tidak diizinkan untuk mengakses endpoint Meshy API.

    • Name
      402 - Payment Required
      Description

      Dana tidak mencukupi di akun yang terkait dengan kunci API yang diberikan.

    • Name
      403 - Forbidden
      Description

      Akses ke sumber daya yang diminta dilarang. Ini mungkin terjadi jika Anda mencoba mengakses Meshy API langsung dari kode JavaScript sisi klien, karena permintaan Cross-Origin Resource Sharing (CORS) dari browser tidak diizinkan. Pertimbangkan untuk menggunakan proxy sisi server untuk permintaan semacam itu. Untuk lebih jelasnya, lihat panduan MDN CORS.

    • Name
      404 - Not Found
      Description

      Sumber daya yang diminta tidak ada. Sebagai contoh, ketika Anda mencoba mengambil tugas berdasarkan ID-nya tetapi memberikan ID yang tidak valid, Anda akan mendapatkan kode status 404.

    • Name
      429 - Too Many Requests
      Description

      Terlalu banyak permintaan yang mengakses Meshy API terlalu cepat. Silakan merujuk ke panduan Batasan Tingkat untuk detailnya.

  • Name
    5xx
    Description

    Kode status 5xx menunjukkan kesalahan server. Jika Anda melihatnya, silakan periksa halaman status kami untuk informasi lebih lanjut dan hubungi kami melalui Discord untuk bantuan.

Contoh: 400 Bad Request

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

Kesalahan Tugas

Kesalahan ini terjadi setelah sebuah tugas telah dibuat dan sedang diproses. Periksa objek task_error pada respons tugas untuk detail kesalahan.

Objek task_error berisi bidang-bidang berikut:

  • Name
    type
    Type
    string
    Description

    Kategori kesalahan. Selalu ada pada tugas yang gagal. Lihat Jenis Kesalahan di bawah.

  • Name
    message
    Type
    string
    Description

    Deskripsi kesalahan yang dapat dibaca manusia. Selalu ada pada tugas yang gagal.

  • Name
    code
    Type
    string
    Opsional
    Description

    Kode kesalahan spesifik yang mengidentifikasi masalah. Ada ketika detail tambahan tersedia. Lihat Kode Kesalahan di bawah.

  • Name
    doc_url
    Type
    string
    Opsional
    Description

    Tautan ke dokumentasi terperinci untuk kode kesalahan ini, termasuk panduan penyelesaian. Ada ketika code ada.

Kesalahan dengan detail

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

Kesalahan tanpa detail

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

Jenis Kesalahan

Kolom type memberi tahu Anda kategori umum dari kegagalan. Gunakan ini untuk memutuskan strategi pengulangan Anda.

  • Name
    invalid_input
    Description

    Ada yang salah dengan input yang Anda berikan. Periksa kolom code dan message untuk detailnya, perbaiki masalahnya, dan coba lagi.

  • Name
    timeout
    Description

    Pemrosesan melebihi batas waktu. Ini sering kali bersifat sementara. Coba ulangi permintaan, dan jika terus gagal, coba sederhanakan input Anda.

  • Name
    service_unavailable
    Description

    Layanan sementara tidak tersedia. Tunggu sebentar dan coba lagi.

  • Name
    server_error
    Description

    Terjadi kesalahan internal selama pemrosesan. Coba ulangi permintaan. Jika masalah berlanjut, hubungi dukungan dengan ID tugas Anda.


Kode Kesalahan

Ketika bidang code ada, itu mengidentifikasi masalah spesifik yang dapat ditindaklanjuti. Di bawah ini adalah referensi lengkap untuk setiap kode kesalahan.

image_too_complex

Kesalahan ini terjadi ketika gambar input atau prompt menggambarkan subjek yang terlalu kompleks secara geometris untuk diproses oleh model generasi 3D.

Contoh umum termasuk:

  • Tumpukan padat dari objek kecil (misalnya, peti penuh buah, tumpukan buku)
  • Pola berulang yang rumit (misalnya, struktur kisi, perancah, jaring kawat)
  • Struktur bangunan yang kompleks (misalnya, bangunan bertingkat dengan banyak jendela dan balkon)
  • Beberapa objek berbeda dalam satu gambar alih-alih satu subjek tunggal

Contoh input yang kemungkinan terlalu kompleks:

Sebuah peti berisi campuran buah beriLangit-langit katedral yang rumitSebuah bangunan dalam konstruksi dengan perancahSebuah bola kisi sarang lebah

Resolusi:

  1. Gunakan satu objek per gambar. Model bekerja paling baik dengan satu subjek yang jelas. Jangan sertakan beberapa objek terpisah dalam gambar atau prompt yang sama.
  2. Sederhanakan subjek Anda. Kurangi tingkat detail. Misalnya, vas sederhana alih-alih vas yang diisi dengan puluhan bunga.
  3. Hindari prompt tingkat adegan. Seluruh bangunan, blok kota, interior yang penuh dengan furnitur, atau lanskap kemungkinan akan melebihi kapasitas model. Fokus pada satu objek saja.
  4. Hindari struktur berulang yang padat. Subjek seperti perancah, jaring kawat, pola kisi, atau tumpukan banyak item kecil adalah pemicu umum.

model_missing_uv

Kesalahan ini terjadi ketika Anda mengunggah model untuk tekstur dengan enable_original_uv diatur ke true, tetapi model tersebut tidak memiliki koordinat UV. Koordinat UV menentukan bagaimana tekstur 2D membungkus permukaan 3D dari model Anda.

No UVs vs Good UVs

Resolusi:

Perbaikan yang tepat tergantung pada mengapa Anda mengatur enable_original_uv ke true:

  • Jika Anda perlu mempertahankan tata letak UV asli model Anda (misalnya, penempatan jahitan khusus untuk pemetaan tekstur yang tepat): model Anda harus memiliki koordinat UV yang valid. Verifikasi UV ada di editor UV perangkat lunak 3D Anda sebelum mengunggah. Perhatikan bahwa file STL tidak dapat menyimpan data UV, jadi gunakan GLB, FBX, atau OBJ sebagai gantinya.
  • Jika Anda tidak memerlukan kontrol UV spesifik (atau Anda tidak yakin): hilangkan enable_original_uv atau atur ke false. Sistem akan secara otomatis menghasilkan tata letak UV untuk model Anda. UV yang dihasilkan secara otomatis dioptimalkan untuk cakupan tetapi Anda tidak akan memiliki kontrol atas di mana jahitan tekstur ditempatkan.

model_insufficient_uv

Kesalahan ini terjadi ketika sebuah model memiliki koordinat UV, tetapi cakupan UV terlalu kecil untuk tekstur berkualitas. Ini biasanya terjadi dengan model yang diekspor dari alat 3D yang menghasilkan UV placeholder atau UV yang terlipat tanpa pembukaan yang tepat.

UV Tidak Memadai vs UV Baik

Resolusi:

  • Jika Anda perlu mempertahankan tata letak UV asli Anda: buka kembali UV model di perangkat lunak 3D Anda. Pastikan pulau UV tersebar dengan baik di seluruh ruang UV daripada terlipat ke area kecil.
  • Jika Anda tidak memerlukan kontrol UV spesifik: hilangkan enable_original_uv atau atur ke false. Sistem akan secara otomatis menghasilkan tata letak UV baru. Konsekuensinya adalah Anda kehilangan penempatan jahitan asli Anda, tetapi UV yang dihasilkan secara otomatis akan memiliki cakupan yang tepat untuk tekstur.

invalid_input

Ini adalah kode kesalahan cadangan ketika input gagal validasi tetapi tidak ada kode yang lebih spesifik yang berlaku. Bidang message berisi alasan spesifik untuk kegagalan tersebut.

Penyebab umum termasuk:

  • File model kosong atau rusak
  • Variasi format file yang tidak didukung (misalnya, file ASCII FBX, GLB terkompresi meshopt)
  • Tidak ada objek 3D yang valid ditemukan dalam model yang diunggah (misalnya, file hanya berisi armatur, kamera, atau lampu)
  • Konten yang tidak lolos filter keamanan

Resolusi: Periksa bidang message untuk rincian tentang apa yang salah. Verifikasi bahwa file dan parameter input Anda sesuai dengan persyaratan endpoint.

moderation_blocked

Kesalahan ini terjadi ketika prompt atau gambar referensi Anda ditolak oleh filter keamanan AI. Filter ini mengevaluasi baik teks prompt maupun gambar referensi secara bersamaan.

Resolusi:

  • Ubah ulang teks prompt Anda untuk menghilangkan deskripsi yang sugestif atau sensitif.
  • Sesuaikan gambar referensi jika mereka menggambarkan konten yang dapat memicu filter keamanan.

timeout

Kesalahan ini berarti waktu pemrosesan tugas Anda melebihi batas yang diizinkan. Ini dapat terjadi karena beban sistem yang tinggi atau karena input terlalu kompleks untuk diproses dalam batas waktu.

Resolusi:

  1. Coba ulang permintaan. Timeout sering kali bersifat sementara dan percobaan ulang mungkin berhasil.
  2. Sederhanakan input Anda. Jika percobaan ulang terus gagal, mungkin input Anda terlalu kompleks. Cobalah mengurangi tingkat detail dalam gambar atau prompt Anda. Lihat image_too_complex untuk panduan tentang jenis input yang lebih sulit diproses.

format_conversion_failed

Kesalahan ini terjadi ketika model 3D yang dihasilkan tidak dapat dikonversi ke format keluaran yang Anda minta. Model tersebut berhasil dihasilkan, tetapi langkah konversi gagal.

Resolusi:

  1. Coba ulang permintaan.
  2. Coba format keluaran yang berbeda. Jika format tertentu terus gagal, beralihlah ke format lain yang sesuai dengan kebutuhan Anda.

Praktik Terbaik

  1. Terapkan logika ulang. Untuk kesalahan timeout dan service_unavailable, terapkan logika ulang dengan backoff eksponensial.
  2. Catat ID tugas. Selalu catat ID tugas untuk keperluan debugging. Sertakan saat menghubungi dukungan.
  3. Validasi masukan. Pastikan gambar dan model masukan Anda memenuhi persyaratan format sebelum pengiriman.