API Baiki Kebolehcetakan
Baiki model 3D untuk kebolehcetakan FDM — baiki tepi non-manifold, muka degenerat, lubang, dan isu topology lain supaya jejaring sedia untuk dicetak.
Cipta Tugas Baiki Kebolehcetakan
Endpoint ini mencipta tugas baiki kebolehcetakan yang baru. Tugas ini menjalankan pembaikan topology pada model 3D dan mengembalikan versi yang kedap air dan sedia untuk dicetak.
Format output sepadan dengan format input. Jika anda menghantar .stl melalui model_url, model_urls.stl dalam respons akan memegang jejaring yang dibaiki dan medan format lain akan kosong. Laluan input_task_id sentiasa membaca GLB tugas sumber, jadi output adalah .glb.
Parameter
Hanya satu daripada input_task_id atau model_url yang diperlukan. Jika kedua-duanya disediakan, input_task_id mengambil keutamaan.
Tekstur sedia ada akan dibuang semasa pembaikan kerana perubahan geometri. Untuk menambah tekstur kembali, gunakan Retexture API pada model yang telah dibaiki.
- Name
- input_task_id
- Type
- string
- Diperlukan
- Description
ID bagi tugas yang berjaya anda miliki. Jenis tugas yang disokong: Imej ke 3D, Berbilang Imej ke 3D, Teks ke 3D, Remesh, dan Retekstur. Tugas mesti mempunyai status
SUCCEEDEDdan mesti telah menghasilkan aset GLB.
- Name
- model_url
- Type
- string
- Diperlukan
- Description
URL model 3D untuk dibaiki. Format yang disokong:
.glb,.gltf,.obj,.fbx,.stl. Saiz fail maksimum: 100 MB. Mesti menggunakanhttp,https, atau URLdata:(URL data memintas pemeriksaan sambungan).
- Name
- alpha_thumbnail
- Type
- boolean
- lalai false
- Description
Apabila ditetapkan kepada
true, tugas ini juga merender versi latar belakang telus (RGBA) bagi pratonton dan mengembalikannya sebagaialpha_thumbnail_urlpada respons GET. Medanthumbnail_urlsedia ada tidak berubah.
Mengembalikan
Properti result dalam respons mengandungi id bagi tugas baiki kebolehcetakan yang baru dicipta.
Mod Kegagalan
- Name
400 - Bad Request- Description
Permintaan tidak dapat diterima. Punca biasa:
- Parameter hilang: sama ada
input_task_idataumodel_urltidak disediakan. - UUID tidak sah:
input_task_idbukan UUID yang sah. - URL model tidak sah:
model_urltidak betul, menggunakan skim yang tidak disokong, atau mempunyai sambungan fail yang tidak disokong. - Fail model terlalu besar: badan
model_urlmelebihi 100 MB. - Tugas tidak berjaya: tugas yang dirujuk masih menunggu, dalam progress, atau gagal.
- GLB hilang: tugas yang dirujuk tidak mempunyai aset GLB untuk dibaiki.
- Parameter hilang: sama ada
- Name
401 - Unauthorized- Description
Pengesahan gagal. Sila semak kunci API anda.
- Name
402 - Payment Required- Description
Punca biasa:
- Pelan percuma: penciptaan tugas memerlukan pelan berbayar. Naik taraf di halaman langganan.
- Kredit tidak mencukupi: had kredit ruang kerja telah dicapai.
- Name
404 - Not Found- Description
Tugas yang dirujuk tidak wujud atau dimiliki oleh pengguna lain.
- Name
429 - Too Many Requests- Description
Anda telah melebihi kuota tugas menunggu atau had kadar.
Permintaan
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.stl"
}'
Respons
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Dapatkan Tugas Baiki Kebolehcetakan
Endpoint ini mendapatkan tugas baiki kebolehcetakan berdasarkan ID.
Parameter
- Name
- id
- Type
- path
- Description
ID tugas baiki kebolehcetakan yang ingin didapatkan.
Pulangan
Objek Tugas Baiki Kebolehcetakan. Blok model_urls adalah kosong sehingga tugas mencapai SUCCEEDED. Hanya medan model_urls yang sepadan dengan format input yang diisi.
Permintaan
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respon
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
Padam Tugas Baiki Kebolehcetakan
Endpoint ini memadamkan secara kekal tugas baiki kebolehcetakan dan hasil baikinya. Tindakan ini tidak boleh dipulihkan.
Parameter Laluan
- Name
- id
- Type
- path
- Description
ID tugas baiki kebolehcetakan untuk dipadam.
Pulangan
Mengembalikan 200 OK jika berjaya.
Permintaan
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respon
// Returns 200 Ok on success.
Senarai Tugas Baiki Kebolehcetakan
Endpoint ini membolehkan anda mendapatkan senarai tugas baiki kebolehcetakan.
Parameter
Atribut pilihan
- Name
- page_num
- Type
- integer
- Description
Nombor halaman untuk penomboran halaman. Bermula dan lalai kepada
1.
- Name
- page_size
- Type
- integer
- Description
Had saiz halaman. Lalai kepada
10item. Maksimum yang dibenarkan adalah50item.
- Name
- sort_by
- Type
- string
- Description
Medan untuk disusun. Nilai yang tersedia:
+created_at: Susun mengikut masa penciptaan dalam susunan menaik.-created_at: Susun mengikut masa penciptaan dalam susunan menurun.
Pulangan
Mengembalikan senarai berpenomboran Objek Tugas Baiki Kebolehcetakan.
Permintaan
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respons
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
]
Strim Tugas Baiki Kebolehcetakan
Endpoint ini menstrim kemas kini masa nyata untuk tugas baiki kebolehcetakan menggunakan Server-Sent Events (SSE).
Parameter
- Name
- id
- Type
- path
- Description
Pengenal pasti unik untuk tugas baiki kebolehcetakan yang hendak distrim.
Mengembalikan
Mengembalikan strim Objek Tugas Baiki Kebolehcetakan sebagai Server-Sent Events.
Untuk tugas PENDING atau IN_PROGRESS, strim respons hanya akan menyertakan medan progress dan status yang diperlukan. Blok model_urls dihantar hanya apabila tugas mencapai SUCCEEDED.
Permintaan
curl -N https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Strim Respons
// 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-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
Objek Tugas Baiki Kebolehcetakan
- Name
- id
- Type
- string
- Description
Pengenal unik untuk tugas ini. Walaupun kami menggunakan UUID k-sortable untuk id tugas sebagai butiran pelaksanaan, anda tidak seharusnya membuat sebarang andaian tentang format id tersebut.
- Name
- type
- Type
- string
- Description
Jenis tugas baiki-kebolehcetakan. Nilainya adalah
print-repair.
- Name
- status
- Type
- string
- Description
Status tugas. Nilai yang mungkin adalah salah satu dari
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- progress
- Type
- integer
- Description
Kemajuan tugas. Jika tugas belum dimulakan, sifat ini akan menjadi
0. Setelah tugas berjaya, ini akan menjadi100.
- Name
- preceding_tasks
- Type
- integer
- Description
Bilangan tugas terdahulu.
Nilai medan ini hanya bermakna jika status tugas adalah
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Cap masa ketika tugas dicipta, dalam milisaat.
- Name
- started_at
- Type
- timestamp
- Description
Cap masa ketika tugas dimulakan, dalam milisaat. Jika tugas belum dimulakan, sifat ini akan menjadi
0.
- Name
- finished_at
- Type
- timestamp
- Description
Cap masa ketika tugas selesai, dalam milisaat. Jika tugas belum selesai, sifat ini akan menjadi
0.
- Name
- expires_at
- Type
- timestamp
- Description
Cap masa ketika hasil tugas akan tamat tempoh dari sistem, dalam milisaat.
0jika tugas belum selesai.
- Name
- task_error
- Type
- object
- Description
Maklumat ralat jika tugas gagal. Sifat ini adalah
nulljika tugas tidak gagal. Lihat Ralat untuk maklumat lanjut.- Name
message- Type
- string
- Description
Mesej ralat yang menerangkan apa yang salah.
- Name
- model_urls
- Type
- object
- Description
URL yang boleh dimuat turun untuk model 3D yang telah dibaiki. Hanya medan yang sepadan dengan format input yang diisi; medan format lain adalah rentetan kosong.
- Name
glb- Type
- string
- Description
URL yang boleh dimuat turun untuk GLB yang telah dibaiki. Diisi apabila input adalah GLB atau apabila
input_task_iddigunakan.
- Name
gltf- Type
- string
- Description
URL yang boleh dimuat turun untuk GLTF yang telah dibaiki. Diisi apabila input adalah muat naik GLTF.
- Name
fbx- Type
- string
- Description
URL yang boleh dimuat turun untuk FBX yang telah dibaiki. Diisi apabila input adalah muat naik FBX.
- Name
obj- Type
- string
- Description
URL yang boleh dimuat turun untuk OBJ yang telah dibaiki. Diisi apabila input adalah muat naik OBJ.
- Name
stl- Type
- string
- Description
URL yang boleh dimuat turun untuk STL yang telah dibaiki. Diisi apabila input adalah muat naik STL.
- Name
usdz- Type
- string
- Description
Dikhaskan untuk output USDZ. Sentiasa rentetan kosong untuk tugas baiki-kebolehcetakan.
- Name
3mf- Type
- string
- Description
Dikhaskan untuk output 3MF. Sentiasa rentetan kosong untuk tugas baiki-kebolehcetakan.
- Name
mtl- Type
- string
- Description
Dikhaskan untuk output MTL. Sentiasa rentetan kosong untuk tugas baiki-kebolehcetakan.
- Name
- thumbnail_url
- Type
- string
- Description
URL imej pratonton yang dipaparkan dari model yang telah dibaiki.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL yang boleh dimuat turun untuk versi latar belakang telus (RGBA) dari
thumbnail_url. Hanya hadir apabila tugas dicipta denganalpha_thumbnail: truedan pratonton telus berjaya dipaparkan; jika tidak, medan ini diabaikan.
- Name
- texture_urls
- Type
- array
- Description
Sentiasa array kosong. Baiki mengekalkan geometri input sahaja dan tidak membakar semula texture.
- Name
- consumed_credits
- Type
- integer
- Description
Bilangan kredit yang digunakan oleh tugas ini.
10setelah tugas mencapaiSUCCEEDED. Mengembalikan0untuk tugasFAILED(kredit dikembalikan pada kegagalan).
The Repair Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}