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

API Analisis kemampuan cetak

Analisis sebuah model 3D untuk kemampuan cetak — kekedapan air, volume, lubang, tepi non-manifold, dan permukaan degenerasi. Secara opsional, periksa juga ketebalan dinding pada ukuran yang Anda rencanakan untuk dicetak.


POST/openapi/v1/print/analyze

Create an Analyze Printability Task

Endpoint ini membuat task analisis kemampuan cetak baru. Task ini mengevaluasi model 3D dan melaporkan metrik kemampuan cetaknya.

Task berjalan di latar belakang. Untuk mengetahui berapa lama biasanya proses ini berlangsung, lihat Processing Times.

Jika task input sudah memiliki kemampuan cetak yang di-cache, task yang dikembalikan langsung siap dan GET pertama pada task tersebut akan mengembalikan hasil analisis tanpa melalui worker.

Untuk juga memeriksa ketebalan dinding pada ukuran yang Anda rencanakan untuk dicetak, kirim printer_type, ukuran cetak, atau keduanya. Hasilnya dikembalikan dalam printability.thin_walls. Memeriksa ketebalan dinding memerlukan waktu lebih lama, sehingga task biasanya tidak langsung siap, meskipun model sudah pernah dianalisis sebelumnya.

Parameter

  • Name
    model_url
    Type
    string
    Wajib
    Description

    URL dari model 3D yang akan dianalisis. Format yang didukung: .glb, .gltf, .obj, .fbx, .stl. Gunakan URL http atau https, atau URL base64 data: untuk GLB (data:model/gltf-binary;base64,...) atau glTF (data:model/gltf+json;base64,...). File .obj, .fbx, dan .stl harus dikirim sebagai URL http atau https.

    Ukuran file maksimum: 400 MB untuk URL http atau https, 100 MB untuk URI data:.

    File GLB, glTF, FBX atau OBJ yang berukuran lebih dari 100 MB dapat memiliki maksimal 10.000.000 face. Face dihitung sebagai segitiga: sebuah quad dihitung sebagai 2, dan mesh yang digambar lebih dari sekali dihitung satu kali per salinan. Di atas 100 MB, file FBX harus berupa FBX biner 7.1 atau lebih baru, dan file GLB atau glTF tidak boleh menggunakan kompresi Draco.

    URL unduhan Meshy (assets.meshy.ai/…?Expires=…&Signature=…) ditandatangani dan berhenti berfungsi pada expires_at task tersebut; mengambil task tersebut lagi tidak memperbarui URL ini. Untuk model yang dihasilkan dengan Meshy, kirim input_task_id sebagai gantinya. Ini berfungsi selama task sumber masih dipertahankan (lihat Asset Retention). Untuk menggunakan kembali model setelah itu, unduh sebelum expires_at dan kirim salinan Anda sendiri.

  • Name
    printer_type
    Type
    string
    Description

    Printer yang Anda rencanakan untuk digunakan. Ini menetapkan ketebalan dinding minimum untuk pemeriksaan ketebalan dinding. Default ke fdm ketika Anda mengirim ukuran cetak tanpa ini.

    Nilai yang tersedia:

    • fdm: filament, dinding minimum 1,0 mm.
    • sla: resin, dinding minimum 0,8 mm.
    • full_color: full-color, dinding minimum 2,0 mm.
  • Name
    intended_print_height_mm
    Type
    number
    Description

    Tinggi hasil cetak, dalam milimeter. Rentang: [1, 1000]. Dibulatkan ke milimeter terdekat. Hanya untuk input GLB.

  • Name
    intended_print_longest_side_mm
    Type
    number
    Description

    Panjang sisi terpanjang hasil cetak, dalam milimeter. Rentang: [1, 1000]. Dibulatkan ke milimeter terdekat. Berfungsi dengan setiap format input.

Returns

Properti result dari respons berisi id dari task analisis kemampuan cetak yang baru dibuat.

Failure Modes

  • Name
    400 - Bad Request
    Description

    Permintaan tidak dapat diterima. Penyebab umum:

    • Parameter hilang: baik input_task_id maupun model_url tidak diberikan.
    • UUID tidak valid: input_task_id bukan UUID yang valid.
    • URL model tidak valid: model_url salah format, menggunakan skema yang tidak didukung, atau memiliki ekstensi file yang tidak didukung.
    • File model terlalu besar: isi model_url melebihi 400 MB (URL http atau https) atau 100 MB (URI data:).
    • Terlalu banyak face: model_url adalah file GLB, glTF, FBX, atau OBJ berukuran lebih dari 100 MB dengan lebih dari 10.000.000 face. Kurangi jumlah face, lalu kirim ulang filenya.
    • ASCII FBX lebih dari 100 MB: model_url adalah ASCII FBX lebih dari 100 MB. Kirim sebagai FBX biner atau GLB.
    • File model tidak dapat dibaca: model_url lebih dari 100 MB dan headernya tidak dapat dibaca, misalnya GLB atau glTF yang dikompresi Draco, atau FBX biner yang lebih lama dari 7.1.
    • Header model terlalu kompleks: model_url lebih dari 100 MB dan headernya memiliki terlalu banyak mesh, node, atau record untuk diperiksa. Kurangi jumlah objek dalam file, lalu kirim ulang.
    • File model tidak dapat diunduh: model_url mengembalikan error, paling sering karena URL unduhan Meshy yang ditandatangani telah kedaluwarsa. Mengambil task lagi mengembalikan URL yang sama dengan masa berlaku yang sama, jadi kirim salinan file Anda sendiri, atau gunakan input_task_id selama task sumber masih dipertahankan.
    • Task belum berhasil: task yang dirujuk masih pending, sedang berjalan, atau gagal.
    • Ukuran cetak tidak valid: intended_print_height_mm atau intended_print_longest_side_mm berada di luar [1, 1000], atau keduanya dikirim.
    • Jenis printer tidak dikenal: printer_type bukan fdm, sla, atau full_color.
    • Tinggi pada model non-GLB: intended_print_height_mm dikirim dengan model_url yang bukan .glb. Gunakan intended_print_longest_side_mm sebagai gantinya.
    • Tidak dapat menentukan ukuran model ini berdasarkan tinggi: pada tinggi yang diminta (atau default 150 mm), sisi terpanjang model akan berada di luar [1, 1000] mm, model berbentuk datar, atau ukurannya tidak dapat ditentukan. Gunakan intended_print_longest_side_mm sebagai gantinya. Untuk model_url .glb dan beberapa task input_task_id, hal ini hanya diketahui setelah task dimulai, dan task berakhir FAILED sebagai gantinya.
    • Ukuran STL tidak dapat digunakan: printer_type dikirim tanpa ukuran, dan sisi terpanjang .stl itu sendiri tidak dapat dibaca atau berada di luar [1, 1000] mm. Kirim intended_print_longest_side_mm.
  • Name
    401 - Unauthorized
    Description

    Autentikasi gagal. Silakan periksa kunci API Anda.

  • Name
    404 - Not Found
    Description

    Penyebab umum:

    • Task tidak ada, telah dihapus, atau dimiliki oleh pengguna lain.
    • Task menggunakan model yang lebih lama dari Meshy 6, atau mode-nya tidak menghasilkan aset 3D.
    • File model yang mendasarinya tidak lagi tersedia di penyimpanan.
  • Name
    429 - Too Many Requests
    Description

    Anda telah melebihi kuota task tertunda atau batas laju Anda.

Request

POST
/openapi/v1/print/analyze
# Analyze an existing task
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

# Or analyze a model URL directly
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.glb"
  }'

# Also check wall thickness for a 100 mm tall SLA print
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "printer_type": "sla",
    "intended_print_height_mm": 100
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/print/analyze/:id

Mengambil Task Analisis Kemampuan Cetak

Endpoint ini mengambil task analisis kemampuan cetak berdasarkan ID-nya.

Parameter

  • Name
    id
    Type
    path
    Description

    ID dari task analisis kemampuan cetak yang ingin diambil.

Returns

Analyze Printability Task Object. Field printability bernilai null hingga task mencapai status SUCCEEDED. Saat ketebalan dinding diperiksa, printability juga menyertakan intended_print dan thin_walls.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

Response (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000012000,
  "expires_at": 1715725412000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "error",
    "issue_count": 2,
    "error_count": 1,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "intended_print": {
      "printer_type": "sla",
      "height_mm": 100,
      "longest_side_mm": 118,
      "wall_thickness_mm": 0.8,
      "dimensions_mm": [118, 72.41, 99.87]
    },
    "thin_walls": {
      "thin_area_ratio": 0.083,
      "has_thin_walls": true,
      "status": "error"
    },
    "evaluated_at": 1700000012000
  },
  "consumed_credits": 0
}

DELETE/openapi/v1/print/analyze/:id

Hapus Tugas Analisis Kemampuan Cetak

Endpoint ini menghapus secara permanen tugas analisis kemampuan cetak beserta hasil yang disimpan dalam cache. Tindakan ini tidak dapat dibatalkan.

Parameter Jalur

  • Name
    id
    Type
    path
    Description

    ID dari tugas analisis kemampuan cetak yang akan dihapus.

Status Tugas

Tugas yang masih berstatus PENDING akan dihapus dan kredit yang terpakai saat pembuatan akan dikembalikan.

Tugas yang sudah berstatus IN_PROGRESS tidak dapat dihapus: permintaan akan ditolak dengan 409 Conflict dan tugas tetap berjalan. Kredit untuk tugas yang sudah mulai diproses oleh worker tidak dapat dikembalikan, sehingga menghapusnya di tengah proses akan membuat Anda kehilangan kredit sekaligus hasilnya. Tunggu hingga mencapai status SUCCEEDED, FAILED, atau CANCELED, baru kemudian hapus.

Tugas dengan status akhir (SUCCEEDED, FAILED, atau CANCELED) akan dihapus tanpa pengembalian kredit.

Returns

Mengembalikan 200 OK jika berhasil, atau 409 Conflict ketika tugas berstatus IN_PROGRESS.

Request

DELETE
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

GET/openapi/v1/print/analyze

Daftar Tugas Analisis Kemampuan Cetak

Endpoint ini memungkinkan Anda untuk mengambil daftar tugas analisis kemampuan cetak.

Parameter

Atribut opsional

  • Name
    page_num
    Type
    integer
    Description

    Nomor halaman untuk paginasi. Dimulai dan secara default bernilai 1.

  • Name
    page_size
    Type
    integer
    Description

    Batas ukuran halaman. Secara default 10 item. Maksimum yang diizinkan adalah 100 item.

  • Name
    sort_by
    Type
    string
    Description

    Kolom untuk pengurutan. Nilai yang tersedia:

    • +created_at: Urutkan berdasarkan waktu pembuatan secara menaik.
    • -created_at: Urutkan berdasarkan waktu pembuatan secara menurun.

Returns

Mengembalikan daftar berpaginasi dari Objek Tugas Analisis Kemampuan Cetak.

Request

GET
/openapi/v1/print/analyze
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-analyze",
    "status": "SUCCEEDED",
    "progress": 100,
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "expires_at": 1715725401000,
    "task_error": null,
    "printability": {
      "_version": "v1",
      "status": "warning",
      "issue_count": 1,
      "error_count": 0,
      "warning_count": 1,
      "metrics": {
        "is_watertight": true,
        "volume": 1.316167354292668,
        "non_manifold_edges": 0,
        "degenerate_faces": 43242,
        "holes": 0
      },
      "evaluated_at": 1700000001000
    },
    "consumed_credits": 0
  }
]

GET/openapi/v1/print/analyze/:id/stream

Stream an Analyze Printability Task

Endpoint ini melakukan streaming pembaruan secara real-time untuk tugas analisis kemampuan cetak menggunakan Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Pengidentifikasi unik untuk tugas analisis kemampuan cetak yang akan di-streaming.

Returns

Mengembalikan stream dari Analyze Printability Task Objects sebagai Server-Sent Events.

Setiap frame membawa objek tugas lengkap untuk tahap tersebut — bentuk yang sama dengan yang dikembalikan oleh endpoint Get — sehingga selama tugas berstatus PENDING atau IN_PROGRESS, kolom output belum terisi (null, [] atau {}) dan finished_at bernilai null. Blok printability hanya dikirim setelah tugas mencapai status SUCCEEDED.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

The Analyze Printability Task Object

  • Name
    id
    Type
    string
    Description

    Pengidentifikasi unik untuk task. Meskipun kami menggunakan k-sortable UUID untuk id task sebagai detail implementasi, Anda tidak boleh membuat asumsi apa pun tentang format id tersebut.

  • Name
    type
    Type
    string
    Description

    Tipe dari task analisis kemampuan cetak. Nilainya adalah print-analyze.

  • Name
    status
    Type
    string
    Description

    Status dari task. Nilai yang mungkin adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress dari task. Jika task belum dimulai, properti ini akan bernilai 0. Setelah task berhasil, ini akan menjadi 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Jumlah task yang mendahului.

  • Name
    created_at
    Type
    timestamp
    Description

    Stempel waktu saat task dibuat, dalam milidetik.

  • Name
    started_at
    Type
    timestamp
    Description

    Stempel waktu saat task dimulai, dalam milidetik. Jika task belum dimulai, properti ini akan bernilai 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Stempel waktu saat task selesai, dalam milidetik. Jika task belum selesai, properti ini akan bernilai 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Stempel waktu saat hasil task akan kedaluwarsa dari sistem, dalam milidetik. 0 jika task belum selesai.

  • Name
    task_error
    Type
    object
    Description

    Informasi kesalahan jika task gagal. Properti ini bernilai null jika task tidak gagal. Lihat Kesalahan untuk detail lebih lanjut.

    • Name
      message
      Type
      string
      Description

      Pesan kesalahan yang menjelaskan apa yang salah.

  • Name
    printability
    Type
    object
    Description

    Hasil evaluasi kemampuan cetak. null hingga task mencapai status SUCCEEDED.

    • Name
      _version
      Type
      string
      Description

      Versi skema dari hasil kemampuan cetak. Saat ini v1.

    • Name
      status
      Type
      string
      Description

      Status keseluruhan. Salah satu dari:

      • healthy: tidak ada kesalahan dan tidak ada peringatan.
      • warning: setidaknya ada satu peringatan, tidak ada kesalahan.
      • error: setidaknya ada satu kesalahan.
      • unknown: model tidak dapat dianalisis.

      Saat ketebalan dinding diperiksa, ini adalah nilai terburuk dari pemeriksaan di atas dan thin_walls.status. Dari yang terburuk hingga terbaik: error, warning, unknown, healthy.

    • Name
      issue_count
      Type
      integer
      Description

      Jumlah total masalah, sama dengan error_count + warning_count.

    • Name
      error_count
      Type
      integer
      Description

      Jumlah masalah level kesalahan. Kesalahan muncul ketika model tidak watertight, memiliki volume non-positif, atau memiliki tepi non-manifold. Saat ketebalan dinding diperiksa, dinding yang terlalu tipis (thin_walls.status bernilai error) dihitung sebagai satu kesalahan tambahan.

    • Name
      warning_count
      Type
      integer
      Description

      Jumlah masalah level peringatan. Peringatan muncul ketika model mengandung permukaan degenerasi atau lubang.

    • Name
      metrics
      Type
      object
      Description

      Metrik geometri mentah yang dikembalikan oleh evaluator.

      • Name
        is_watertight
        Type
        boolean
        Description

        true ketika mesh tidak memiliki tepi batas (yaitu, tertutup).

      • Name
        volume
        Type
        number
        Description

        Volume model dalam meter kubik.

      • Name
        non_manifold_edges
        Type
        integer
        Description

        Jumlah tepi non-manifold.

      • Name
        degenerate_faces
        Type
        integer
        Description

        Jumlah permukaan degenerasi (permukaan dengan luas nol atau tidak valid).

      • Name
        holes
        Type
        integer
        Description

        Jumlah lubang (loop batas) dalam mesh.

    • Name
      intended_print
      Type
      object
      Description

      Printer dan ukuran yang digunakan oleh pemeriksaan ketebalan dinding. Hanya ada ketika ketebalan dinding diperiksa.

      • Name
        printer_type
        Type
        string
        Description

        fdm, sla, atau full_color.

      • Name
        height_mm
        Type
        number
        Description

        Tinggi cetakan dalam milimeter, jika ukuran cetakan ditentukan berdasarkan tinggi. Jika tidak, null.

      • Name
        longest_side_mm
        Type
        number
        Description

        Sisi terpanjang dari cetakan dalam milimeter. Ketika ukuran ditentukan berdasarkan tinggi, nilai ini dihitung dari proporsi model.

      • Name
        wall_thickness_mm
        Type
        number
        Description

        Ketebalan dinding minimum untuk printer_type, dalam milimeter. Dinding yang lebih tipis dari ini dilaporkan sebagai terlalu tipis.

      • Name
        dimensions_mm
        Type
        array
        Description

        [lebar, kedalaman, tinggi] dari cetakan dalam milimeter. Tinggi dapat berbeda dari height_mm sebesar sebagian kecil milimeter. null untuk input non-GLB, atau jika ukuran model tidak dapat ditentukan.

    • Name
      thin_walls
      Type
      object
      Description

      Hasil dari pemeriksaan ketebalan dinding. Hanya ada ketika ketebalan dinding diperiksa.

      • Name
        thin_area_ratio
        Type
        number
        Description

        Bagian dari permukaan, dari 0 hingga 1, yang lebih tipis dari intended_print.wall_thickness_mm. null jika model tidak dapat diukur.

      • Name
        has_thin_walls
        Type
        boolean
        Description

        true jika ada bagian permukaan yang terlalu tipis. Sudut tajam saja dapat memicu ini, jadi gunakan status untuk menentukan apakah dinding perlu ditebalkan. null jika model tidak dapat diukur.

      • Name
        status
        Type
        string
        Description

        Keputusan ketebalan dinding. Salah satu dari:

        • healthy: 5% atau kurang dari permukaan yang terlalu tipis.
        • error: lebih dari 5% permukaan terlalu tipis. Untuk menebalkan dinding, berikan id dari task ini ke Perbaiki kemampuan cetak sebagai input_task_id (untuk model_url berupa .stl, .fbx, atau .gltf, kirim file tersebut sebagai model_url).
        • unknown: model tidak dapat diukur. Jika pemeriksaan ketebalan dinding itu sendiri gagal, task akan berakhir dengan status FAILED.
    • Name
      evaluated_at
      Type
      timestamp
      Description

      Stempel waktu saat analisis dihitung, dalam milidetik sejak epoch.

  • Name
    consumed_credits
    Type
    integer
    Description

    Selalu 0. Endpoint ini gratis.

The Analyze Printability Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

The Analyze Printability Task Object (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000012000,
  "expires_at": 1715725412000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "error",
    "issue_count": 2,
    "error_count": 1,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "intended_print": {
      "printer_type": "sla",
      "height_mm": 100,
      "longest_side_mm": 118,
      "wall_thickness_mm": 0.8,
      "dimensions_mm": [118, 72.41, 99.87]
    },
    "thin_walls": {
      "thin_area_ratio": 0.083,
      "has_thin_walls": true,
      "status": "error"
    },
    "evaluated_at": 1700000012000
  },
  "consumed_credits": 0
}