API Analisis Kemampuan Cetak
Menganalisis model 3D untuk kemampuan cetak FDM — kedap air, volume, lubang, tepi non-manifold, dan permukaan degenerasi.
Buat Tugas Analisis Kemampuan Cetak
Endpoint ini membuat tugas analisis kemampuan cetak baru. Tugas ini mengevaluasi model 3D dan melaporkan metrik kemampuan cetaknya.
Jika tugas input sudah memiliki kemampuan cetak yang di-cache, tugas yang dikembalikan akan segera siap dan GET pertama padanya akan mengembalikan hasil analisis tanpa melalui pekerja.
Parameter
Hanya salah satu dari input_task_id atau model_url yang diperlukan. Jika keduanya disediakan, input_task_id memiliki prioritas.
- Name
- input_task_id
- Type
- string
- Wajib
- Description
ID dari tugas yang berhasil yang Anda miliki. Jenis tugas yang didukung: Gambar ke 3D, Multi-Gambar ke 3D, Teks ke 3D, Remesh, dan Retexture. Tugas harus menggunakan Meshy 6 atau lebih baru (termasuk Meshy 7) dan harus memiliki status
SUCCEEDED.
- Name
- model_url
- Type
- string
- Wajib
- Description
URL dari model 3D untuk dianalisis. Format yang didukung:
.glb,.gltf,.obj,.fbx,.stl. Ukuran file maksimum: 100 MB. Harus menggunakan URLhttp,https, ataudata:(URL data melewati pemeriksaan ekstensi).
Mengembalikan
Properti result dari respons berisi id dari tugas analisis kemampuan cetak yang baru dibuat.
Mode Kegagalan
- Name
400 - Bad Request- Description
Permintaan tidak dapat diterima. Penyebab umum:
- Parameter hilang: baik
input_task_idmaupunmodel_urltidak disediakan. - UUID tidak valid:
input_task_idbukan UUID yang valid. - URL model tidak valid:
model_urlsalah bentuk, menggunakan skema yang tidak didukung, atau memiliki ekstensi file yang tidak didukung. - File model terlalu besar: isi
model_urlmelebihi 100 MB. - Tugas tidak berhasil: tugas yang dirujuk masih tertunda, dalam progress, atau gagal.
- Parameter hilang: baik
- Name
401 - Unauthorized- Description
Autentikasi gagal. Silakan periksa kunci API Anda.
- Name
403 - Forbidden- Description
Tugas ada tetapi dimiliki oleh pengguna lain.
- Name
404 - Not Found- Description
Penyebab umum:
- Tugas tidak ada atau telah dihapus.
- Tugas menggunakan model yang lebih lama dari Meshy 6, atau modenya tidak menghasilkan aset 3D.
- File model dasar tidak lagi tersedia di penyimpanan.
- Name
429 - Too Many Requests- Description
Anda telah melebihi kuota tugas tertunda atau batas laju Anda.
Request
# 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"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Mengambil Tugas Analisis Kemampuan Cetak
Endpoint ini mengambil tugas analisis kemampuan cetak berdasarkan ID-nya.
Parameter
- Name
- id
- Type
- path
- Description
ID dari tugas analisis kemampuan cetak yang akan diambil.
Mengembalikan
Objek Tugas Analisis Kemampuan Cetak. Field kemampuan cetak adalah null sampai tugas mencapai SUCCEEDED.
Permintaan
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respon
{
"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
}
Hapus Tugas Analisis Kemampuan Cetak
Endpoint ini secara permanen menghapus tugas analisis kemampuan cetak dan hasil cache-nya. Tindakan ini tidak dapat dibatalkan.
Parameter Jalur
- Name
- id
- Type
- path
- Description
ID dari tugas analisis kemampuan cetak yang akan dihapus.
Mengembalikan
Mengembalikan 200 OK jika berhasil.
Permintaan
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respon
// Returns 200 Ok on success.
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 default ke
1.
- Name
- page_size
- Type
- integer
- Description
Batas ukuran halaman. Default ke
10item. Maksimum yang diizinkan adalah50item.
- Name
- sort_by
- Type
- string
- Description
Bidang untuk diurutkan. Nilai yang tersedia:
+created_at: Urutkan berdasarkan waktu pembuatan dalam urutan naik.-created_at: Urutkan berdasarkan waktu pembuatan dalam urutan turun.
Mengembalikan
Mengembalikan daftar dengan paginasi dari Objek Tugas Analisis Kemampuan Cetak.
Permintaan
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respon
[
{
"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
}
]
Streaming Tugas Analisis Kemampuan Cetak
Endpoint ini melakukan streaming pembaruan real-time untuk tugas analisis kemampuan cetak menggunakan Server-Sent Events (SSE).
Parameter
- Name
- id
- Type
- path
- Description
Pengenal unik untuk tugas analisis kemampuan cetak yang akan di-stream.
Mengembalikan
Mengembalikan stream dari Objek Tugas Analisis Kemampuan Cetak sebagai Server-Sent Events.
Untuk tugas PENDING atau IN_PROGRESS, stream respons hanya akan menyertakan field progress dan status yang diperlukan. Blok kemampuan cetak dikirim hanya setelah tugas mencapai SUCCEEDED.
Permintaan
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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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
}
Objek Tugas Analisis Kemampuan Cetak
- Name
- id
- Type
- string
- Description
Pengenal unik untuk tugas. Meskipun kami menggunakan UUID yang dapat diurutkan secara k untuk id tugas sebagai detail implementasi, Anda tidak boleh membuat asumsi apa pun tentang format id tersebut.
- Name
- type
- Type
- string
- Description
Jenis tugas analisis-kemampuan-cetak. Nilainya adalah
print-analyze.
- Name
- status
- Type
- string
- Description
Status dari tugas. Nilai yang mungkin adalah salah satu dari
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- progress
- Type
- integer
- Description
Kemajuan dari tugas. Jika tugas belum dimulai, properti ini akan bernilai
0. Setelah tugas berhasil, ini akan menjadi100.
- Name
- preceding_tasks
- Type
- integer
- Description
Jumlah tugas sebelumnya.
Nilai dari bidang ini hanya bermakna jika status tugas adalah
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Stempel waktu ketika tugas dibuat, dalam milidetik.
- Name
- started_at
- Type
- timestamp
- Description
Stempel waktu ketika tugas dimulai, dalam milidetik. Jika tugas belum dimulai, properti ini akan bernilai
0.
- Name
- finished_at
- Type
- timestamp
- Description
Stempel waktu ketika tugas selesai, dalam milidetik. Jika tugas belum selesai, properti ini akan bernilai
0.
- Name
- expires_at
- Type
- timestamp
- Description
Stempel waktu ketika hasil tugas akan kedaluwarsa dari sistem, dalam milidetik.
0jika tugas belum selesai.
- Name
- task_error
- Type
- object
- Description
Informasi kesalahan jika tugas gagal. Properti ini bernilai
nulljika tugas tidak gagal. Lihat Kesalahan untuk lebih jelasnya.- Name
message- Type
- string
- Description
Pesan kesalahan yang menjelaskan apa yang salah.
- Name
- printability
- Type
- object
- Description
Hasil evaluasi kemampuan cetak.
nullsampai tugas mencapaiSUCCEEDED.- 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.
- Name
issue_count- Type
- integer
- Description
Jumlah total masalah, sama dengan
error_count + warning_count.
- Name
error_count- Type
- integer
- Description
Jumlah masalah tingkat kesalahan. Kesalahan muncul ketika model tidak kedap air, memiliki volume tidak positif, atau memiliki tepi non-manifold.
- Name
warning_count- Type
- integer
- Description
Jumlah masalah tingkat 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
trueketika 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 nol-area atau tidak valid).
- Name
holes- Type
- integer
- Description
Jumlah lubang (loop batas) dalam mesh.
- Name
evaluated_at- Type
- timestamp
- Description
Stempel waktu ketika 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
}