API Cetak Multiwarna
Konversi model 3D menjadi file 3MF multiwarna untuk pencetakan 3D. Pilih palet hingga 16 warna dan preset slicer untuk merek printer Anda.
Buat tugas Multi-Color Print
Membuat tugas Multi-Color Print, yang mengonversi model 3D menjadi file 3MF multiwarna untuk pencetakan 3D. Tugas berjalan di latar belakang. Untuk mengetahui berapa lama sebuah tugas biasanya berlangsung, lihat Waktu pemrosesan.
Request
# Convert a 3D model to a multi-color 3MF with a Creality slicer preset
curl https://api.meshy.ai/openapi/v1/print/multi-color \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"max_colors": 8,
"printer_brand": "creality"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Parameter
- Name
- input_task_id
- Type
- string
- Wajib
- Description
Wajib kecuali Anda mengirim
model_url. ID tugas yang modelnya ingin Anda cetak, misalnya tugas Gambar ke 3D, Multi-Gambar ke 3D, Teks ke 3D, Remesh, atau Retexture. Tugas tersebut harus yang Anda buat dengan API, dan memiliki statusSUCCEEDED.Multi-Color Print membaca file GLB tugas tersebut, yang boleh memiliki paling banyak 8.000.000 wajah (face). Model dengan jumlah wajah lebih banyak akan mengembalikan
400. Dalam kasus itu, jalankan dulu tugas Remesh padanya, lalu kirim ID tugas Remesh tersebut sebagai gantinya.
- Name
- model_url
- Type
- string
- Wajib
- Description
Wajib kecuali Anda mengirim
input_task_id. Model yang akan dicetak, berupa URL publik atau data URI. Jika Anda mengirim keduanya, Meshy menggunakaninput_task_id.URL
httpatauhttpsharus mengarah ke file.glbatau.fbxberukuran paling besar 400 MB. Data URI harus berisi file GLB base64 berukuran paling besar 100 MB. Gunakandata:model/gltf-binary;base64,. Kirim file.fbxsebagai URLhttpatauhttps.File yang lebih besar dari 100 MB juga harus mengikuti aturan berikut:
- Paling banyak memiliki 8.000.000 wajah. Meshy menghitung wajah sebagai segitiga, jadi satu quad dihitung sebagai 2, dan mesh yang digambar lebih dari sekali dihitung sekali per salinan.
- File FBX harus berupa FBX biner 7.1 atau yang lebih baru.
- File GLB tidak boleh menggunakan kompresi Draco.
- Name
- max_colors
- Type
- integer
- default 4
- Description
Jumlah maksimum warna dalam palet keluaran, dari
1hingga16. Untuk menggunakan nilai default, jangan sertakan parameter ini alih-alih mengirim0.
- Name
- style
- Type
- string
- default realistic
- Description
Gaya warna dari file 3MF.
Nilai yang tersedia:
realistic: mengambil sampel warna langsung dari tekstur model untuk detail yang halus dan fotorealistis, serta menghasilkan file yang lebih besar.cartoon: meratakan warna menjadi area yang bersih dan seragam untuk tampilan bergaya, serta menghasilkan file yang lebih kecil.
Model harus memiliki warna.
realisticmembutuhkan satu tekstur warna dasar, dengan UV pada setiap bagian mesh, dancartoonjuga menerima warna vertex. Meshy menolak model yang tidak bertekstur (putih). Lihatmodel_missing_texture.
- Name
- max_depth
- Type
- integer
- default 4
- Description
Kedalaman subdivisi yang digunakan Meshy untuk mengambil sampel warna tekstur ke mesh, dari
3hingga6.0sama dengan tidak menyertakannya. Nilai yang lebih tinggi menangkap detail warna yang lebih halus, dan menghasilkan file yang lebih besar. Hanya gayarealisticyang menggunakannya, sedangkancartoonmengabaikannya.
- Name
- printer_brand
- Type
- string
- default bambu
- Description
Merek printer yang preset slicer-nya ditulis Meshy ke dalam file 3MF. File tersebut kemudian terbuka di slicer merek tersebut dengan printer, filamen, dan profil proses yang sesuai. Preset menggunakan printer default merek tersebut, dengan nozzle 0,4 mm.
Nilai yang tersedia:
bambuanycubiccrealityelegooflashforgeprusaqidisnapmakerankermake
Nilai lain akan mengembalikan
400.
Hasil
Kolom result pada respons berisi ID dari tugas Multi-Color Print yang baru.
Mode kegagalan
- Name
400 - Bad Request- Description
Permintaan tidak dapat dijalankan. Pesan kesalahan menyebutkan masalah yang ditemukan. Misalnya:
- Parameter hilang: Baik
model_urlmaupuninput_task_idtidak dikirim. - Format model tidak valid: File
model_urlbukan file.glbatau.fbx. - URL tidak dapat dijangkau: Meshy tidak dapat mengunduh file
model_url. - File model terlalu besar: File
model_urlberukuran lebih dari 400 MB dari URLhttpatauhttps, atau lebih dari 100 MB sebagai data URI. - Terlalu banyak wajah: File
model_urlberukuran lebih dari 100 MB dan memiliki lebih dari 8.000.000 wajah. Kurangi jumlah wajah, lalu kirim file tersebut lagi. - FBX ASCII lebih dari 100 MB: File
model_urladalah FBX ASCII yang berukuran lebih dari 100 MB. Kirim sebagai FBX biner atau GLB. - File model tidak dapat dibaca: File
model_urlberukuran lebih dari 100 MB, dan Meshy tidak dapat membaca headernya. Misalnya, file tersebut adalah GLB terkompresi Draco, atau FBX biner yang lebih lama dari 7.1. - Header model terlalu kompleks: File
model_urlberukuran lebih dari 100 MB, dan headernya memiliki terlalu banyak mesh, node, atau record untuk diperiksa. Kurangi jumlah objek dalam file, lalu kirim lagi. - Tugas input tidak valid:
input_task_idbukan tugas yang berhasil. - Terlalu banyak wajah pada tugas input: Model
input_task_idmemiliki lebih dari 8.000.000 wajah. Jalankan tugas Remesh padanya, lalu kirim ID tugas Remesh tersebut sebagai gantinya. - max_colors tidak valid:
max_colorsbernilai negatif atau lebih dari16. - style tidak valid:
stylebukanrealisticataucartoon. - max_depth tidak valid:
max_depthberada di luar rentang3hingga6, dan bukan0. - printer_brand tidak valid:
printer_brandbukan salah satu dari nilai yang tersedia. - Tidak ada sumber warna: Model tidak memiliki warna yang dibutuhkan oleh
style.realisticmembutuhkan satu tekstur warna dasar, dengan UV, pada setiap bagian mesh.cartoonmenerima tekstur warna dasar atau warna vertex. Beri tekstur pada model terlebih dahulu, atau gunakancartoonuntuk model dengan warna vertex. Meshy hanya memeriksa unggahan.fbxsetelah tugas menormalkannya, sehingga tugas gagal denganmodel_missing_texturesebagai gantinya.
Perbaiki permintaan, lalu kirim lagi. Lihat Kesalahan.
- Parameter hilang: Baik
- Name
401 - Unauthorized- Description
Kunci API tidak ada atau tidak valid. Periksa header
Authorization.
- Name
402 - Payment Required- Description
Misalnya:
- Kredit tidak cukup: Akun tidak memiliki cukup kredit untuk tugas ini, atau akun mencapai batas kredit. Periksa saldo kredit Anda, lalu coba lagi.
- Paket gratis: Membuat tugas memerlukan paket berbayar. Tingkatkan paket Anda di pengaturan langganan Anda, lalu coba lagi.
- Name
403 - Forbidden- Description
input_task_idadalah model bas-relief, yang tidak dapat dicetak oleh endpoint ini. Pesannya adalahThis model type does not support this operation. Kirim model yang berbeda.
- Name
404 - Not Found- Description
input_task_idtidak cocok dengan tugas Anda mana pun. Periksa ID tugas, lalu kirim permintaan lagi.
- Name
429 - Too Many Requests- Description
Anda melebihi batas laju Anda. Tunggu, lalu coba lagi. Lihat Batas laju.
Mendapatkan task Multi-Color Print
Mengembalikan task Multi-Color Print berdasarkan ID-nya.
Request
curl https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1700259201000,
"task_error": null,
"consumed_credits": 10
}
Parameter
- Name
- id
- Type
- path
- Description
ID task dari respons pembuatan.
Returns
Hapus tugas Cetak Multiwarna
Menghapus tugas Cetak Multiwarna secara permanen, termasuk model dan datanya. Anda tidak dapat membatalkan penghapusan ini.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/multi-color/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 keeps 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."
}
Parameter path
- Name
- id
- Type
- path
- Description
ID tugas yang akan dihapus.
Status tugas
Menghapus tugas PENDING akan mengembalikan kredit yang digunakan saat Anda membuatnya.
Tugas IN_PROGRESS tidak dapat dihapus. Permintaan akan mengembalikan 409 Conflict,
dan tugas tersebut tetap berjalan. Meshy tidak mengembalikan kredit untuk tugas yang sudah dimulai,
jadi menghapusnya akan membuat Anda rugi baik kredit maupun hasilnya. Tunggu hingga tugas
mencapai status SUCCEEDED, FAILED, atau CANCELED, baru kemudian hapus.
Menghapus tugas pada status akhir (SUCCEEDED, FAILED, atau CANCELED)
tidak mengembalikan kreditnya.
Returns
200 OK ketika tugas berhasil dihapus, atau 409 Conflict ketika tugas
berstatus IN_PROGRESS.
Daftar tugas Cetak Multiwarna
Mengembalikan daftar tugas Cetak Multiwarna Anda.
Request
curl https://api.meshy.ai/openapi/v1/print/multi-color?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1700259201000,
"task_error": null,
"consumed_credits": 10
}
]
Parameter
- Name
- page_num
- Type
- integer
- default 1
- Description
Nomor halaman yang akan dikembalikan. Nomor halaman dimulai dari
1.
- Name
- page_size
- Type
- integer
- default 10
- Description
Jumlah tugas per halaman, hingga
100.
- Name
- sort_by
- Type
- string
- Description
Urutan pengurutan.
Nilai yang tersedia:
+created_at: terlama lebih dulu-created_at: terbaru lebih dulu
Returns
Daftar berhalaman dari objek tugas Cetak Multiwarna.
Stream Tugas Multi-Color Print
Melakukan streaming pembaruan tugas Multi-Color Print sebagai Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/print/multi-color/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.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1700259201000,
"task_error": null,
"consumed_credits": 10
}
Parameter
- Name
- id
- Type
- path
- Description
ID tugas dari respons pembuatan.
Returns
Sebuah stream objek tugas Multi-Color Print sebagai Server-Sent Events.
Setiap event berisi objek tugas lengkap, dalam bentuk yang sama seperti yang dikembalikan oleh endpoint Get. Selama tugas berstatus PENDING atau IN_PROGRESS, kolom hasilnya belum memiliki nilai.
Objek tugas Cetak Multiwarna
Objek tugas Cetak Multiwarna menjelaskan satu konversi model 3D menjadi file 3MF multiwarna. Objek ini menyimpan status, progress, dan file 3MF saat tugas berhasil.
The 3D Print Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1700259201000,
"task_error": null,
"consumed_credits": 10
}
- Name
- id
- Type
- string
- Description
ID tugas. Perlakukan sebagai string buram, dan jangan bergantung pada formatnya.
- Name
- type
- Type
- string
- Description
Jenis tugas, selalu
print-multi-color.
- Name
- model_urls
- Type
- object
- Description
URL unduhan untuk model yang dicetak, satu per format file. Format yang tidak dihasilkan oleh tugas tidak memiliki kunci, bukan string kosong.
- Name
3mf- Type
- string
- Description
File 3MF multiwarna.
- Name
- progress
- Type
- integer
- Description
Seberapa banyak tugas telah selesai, dalam persentase. Nilainya
0hingga tugas dimulai dan100saat berhasil.
- Name
- status
- Type
- string
- Description
Status tugas, salah satu dari
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, atauCANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Jumlah tugas yang berada di depan tugas ini dalam antrean. Nilai ini hanya bermakna selama tugas berstatus
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Waktu tugas dibuat, dalam milidetik Unix.
- Name
- started_at
- Type
- timestamp
- Description
Waktu tugas dimulai, dalam milidetik Unix. Nilainya
0hingga tugas dimulai.
- Name
- finished_at
- Type
- timestamp
- Description
Waktu tugas selesai, dalam milidetik Unix. Nilainya
0hingga tugas selesai.
- Name
- expires_at
- Type
- timestamp
- Description
Waktu hasil tugas kedaluwarsa, dalam milidetik Unix. Nilainya
0hingga tugas selesai.
- Name
- task_error
- Type
- object
- Description
Detail kesalahan saat tugas gagal. Lihat Kesalahan.
- Name
- consumed_credits
- Type
- integer
- Description
Jumlah kredit yang digunakan oleh tugas. Ada saat status adalah
PENDING,IN_PROGRESS, atauSUCCEEDED. Nilainya0untuk tugasFAILED, karena Meshy mengembalikan kredit saat tugas gagal.