Repair Printability API
Ayusin ang isang 3D na modelo para sa FDM printability — ayusin ang non-manifold edges, degenerate faces, mga butas, at iba pang isyu sa topology upang maging handa sa pag-print ang mesh.
Create a Repair Printability Task
Ang endpoint na ito ay lumilikha ng bagong repair-printability task. Ang task na ito ay nagsasagawa ng topology repair sa isang 3D model at nagbabalik ng watertight, print-ready na bersyon.
Ang output format ay tumutugma sa input format. Kung magsusumite ka ng .stl sa pamamagitan ng model_url, ang model_urls.stl ng response ay magtataglay ng nirepair na mesh at ang ibang format fields ay mananatiling walang laman. Ang input_task_id path ay palaging nagbabasa ng GLB ng source task, kaya ang output ay .glb.
Mga Parameter
Isa lamang sa input_task_id o model_url ang kinakailangan. Kung ibinigay ang dalawa, ang input_task_id ang magiging priority.
Ang mga umiiral na textures ay tinatanggal habang isinasagawa ang repair dahil sa mga pagbabago sa heometriya. Upang idagdag muli ang textures, gamitin ang Retexture API sa nirepair na modelo.
- Name
- input_task_id
- Type
- string
- Kinakailangan
- Description
Ang ID ng isang matagumpay na task na pagmamay-ari mo. Mga suportadong task types: Image to 3D, Multi-Image to 3D, Text to 3D, Remesh, at Retexture. Ang task ay dapat may status na
SUCCEEDEDat dapat ay may nagawang GLB asset.
- Name
- model_url
- Type
- string
- Kinakailangan
- Description
URL ng 3D model na irerepair. Mga suportadong format:
.glb,.gltf,.obj,.fbx,.stl. Maximum na laki ng file: 100 MB. Dapat gumamit nghttp,https, odata:URL (ang data URLs ay lumalagpas sa extension checks).
- Name
- alpha_thumbnail
- Type
- boolean
- default false
- Description
Kapag itinakda sa
true, ang task ay karagdagang magre-render ng isang transparent-background (RGBA) na bersyon ng preview at ibabalik ito bilangalpha_thumbnail_urlsa GET response. Ang umiiral nathumbnail_urlfield ay hindi nagbabago.
Ibinabalik
Ang result property ng response ay naglalaman ng id ng bagong likhang repair-printability task.
Mga Paraan ng Kabiguan
- Name
400 - Bad Request- Description
Ang request ay hindi katanggap-tanggap. Karaniwang mga dahilan:
- Nawawalang parameter: hindi ibinigay ang
input_task_idomodel_url. - Di-wastong UUID: ang
input_task_iday hindi wastong UUID. - Di-wastong model URL: ang
model_urlay malformed, gumagamit ng hindi suportadong scheme, o may hindi suportadong file extension. - Sobrang laki ng model file: ang katawan ng
model_urlay lumampas sa 100 MB. - Hindi matagumpay ang task: ang tinutukoy na task ay pending pa, kasalukuyang isinasagawa, o nabigo.
- Nawawalang GLB: ang tinutukoy na task ay walang GLB asset na maaaring irepair.
- Nawawalang parameter: hindi ibinigay ang
- Name
401 - Unauthorized- Description
Nabigo ang authentication. Pakisuri ang iyong API key.
- Name
402 - Payment Required- Description
Karaniwang mga dahilan:
- Free plan: ang paglikha ng task ay nangangailangan ng bayad na plano. Mag-upgrade sa subscription page.
- Hindi sapat na credits: naabot na ang credit limit ng workspace.
- Name
404 - Not Found- Description
Ang tinutukoy na task ay hindi umiiral o pagmamay-ari ng ibang user.
- Name
429 - Too Many Requests- Description
Lumampas ka na sa iyong pending-task quota o rate limit.
Request
# 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"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
I-retrieve ang Repair Printability Task
Ang endpoint na ito ay nagbabalik ng isang repair-printability task ayon sa ID nito.
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang ID ng repair-printability task na kukunin.
Ibinabalik
Ang Repair Printability Task Object. Walang laman ang bloke ng model_urls hanggang maabot ng task ang SUCCEEDED. Ang field lamang na model_urls na tumutugma sa format ng input ang napupunuan.
Request
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"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
}
Delete a Repair Printability Task
Ang endpoint na ito ay permanenteng magtatanggal ng repair-printability task at ng nagawang output nito. Ang aksyong ito ay hindi na maibabalik.
Path Parameters
- Name
- id
- Type
- path
- Description
Ang ID ng repair-printability task na tatanggalin.
Task Status
Ang isang task na PENDING pa ay tatanggalin at ang mga credits na
nagamit noong likhain ito ay irerefund.
Ang isang task na IN_PROGRESS na ay hindi maaaring tanggalin: ang request ay
tatanggihan na may 409 Conflict at magpapatuloy pa rin ang pagtakbo ng task. Ang mga credits
para sa task na sinimulan na ng worker ay hindi na marerefund, kaya kung tatanggalin ito
habang tumatakbo, mawawala sa iyo pareho ang credits at ang resulta. Hintayin
itong umabot sa SUCCEEDED, FAILED, o CANCELED, saka tanggalin.
Ang isang task na nasa terminal state (SUCCEEDED, FAILED, o CANCELED) ay
tinatanggal nang walang refund.
Returns
Nagbabalik ng 200 OK kapag matagumpay, o 409 Conflict kapag ang task ay
IN_PROGRESS.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/repair/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."
}
List Repair Printability Tasks
Ang endpoint na ito ay nagbibigay-daan sa iyo upang kunin ang isang listahan ng repair-printability tasks.
Mga Parameter
Opsyonal na mga attribute
- Name
- page_num
- Type
- integer
- Description
Numero ng pahina para sa pagination. Nagsisimula at ang default ay
1.
- Name
- page_size
- Type
- integer
- Description
Limitasyon sa laki ng pahina. Ang default ay
10items. Ang maximum na pinapayagan ay100items.
- Name
- sort_by
- Type
- string
- Description
Field na gagamitin para sa pag-sort. Mga available na value:
+created_at: Isaayos ayon sa oras ng paglikha sa ascending order.-created_at: Isaayos ayon sa oras ng paglikha sa descending order.
Ibinabalik
Ibinabalik ang isang paginated na listahan ng Repair Printability Task Objects.
Request
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"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
}
]
I-stream ang Repair Printability Task
Ang endpoint na ito ay nag-stream ng real-time na mga update para sa isang repair-printability task gamit ang Server-Sent Events (SSE).
Mga Parameter
- Name
- id
- Type
- path
- Description
Natatanging identifier para sa repair-printability task na i-stream.
Ibinabalik
Nagbabalik ng stream ng Repair Printability Task Objects bilang Server-Sent Events.
Bawat frame ay may dalang buong task object para sa yugtong iyon — ang parehong anyo na ibinabalik ng
Get endpoint — kaya habang ang task ay PENDING o IN_PROGRESS, ang mga
output field ay hindi pa lang napopopulate (null, [] o {}) at
ang finished_at ay null. Ang model_urls block ay ipapadala lamang kapag naabot na ng task ang SUCCEEDED.
Request
curl -N https://api.meshy.ai/openapi/v1/print/repair/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-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
}
Ang Repair Printability Task Object
- Name
- id
- Type
- string
- Description
Natatanging identifier para sa task. Bagama't gumagamit kami ng k-sortable UUID para sa mga task id bilang detalye ng implementasyon, hindi mo dapat gawin ang anumang palagay tungkol sa format ng id.
- Name
- type
- Type
- string
- Description
Uri ng repair-printability task. Ang value ay
print-repair.
- Name
- status
- Type
- string
- Description
Status ng task. Ang mga posibleng value ay isa sa
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- progress
- Type
- integer
- Description
Progress ng task. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging
0. Kapag nagtagumpay na ang task, ito ay magiging100.
- Name
- preceding_tasks
- Type
- integer
- Description
Ang bilang ng mga naunang task.
Makabuluhan lamang ang value ng field na ito kung ang status ng task ay
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Timestamp kung kailan nilikha ang task, sa milliseconds.
- Name
- started_at
- Type
- timestamp
- Description
Timestamp kung kailan sinimulan ang task, sa milliseconds. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging
0.
- Name
- finished_at
- Type
- timestamp
- Description
Timestamp kung kailan natapos ang task, sa milliseconds. Kung hindi pa natatapos ang task, ang property na ito ay magiging
0.
- Name
- expires_at
- Type
- timestamp
- Description
Timestamp kung kailan mag-e-expire ang resulta ng task mula sa system, sa milliseconds.
0kung hindi pa natatapos ang task.
- Name
- task_error
- Type
- object
- Description
Impormasyon ng error kung nabigo ang task. Ang property na ito ay
nullkung hindi nabigo ang task. Tingnan ang Errors para sa karagdagang detalye.- Name
message- Type
- string
- Description
Mensahe ng error na naglalarawan kung ano ang nagkamali.
- Name
- model_urls
- Type
- object
- Description
Mga downloadable URL patungo sa naayos na 3D model. Ang field lamang na tumutugma sa input format ang napupunan; ang ibang format field ay walang laman na mga string.
- Name
glb- Type
- string
- Description
Downloadable URL patungo sa naayos na GLB. Napupunan kapag ang input ay isang GLB o kapag ginamit ang
input_task_id.
- Name
gltf- Type
- string
- Description
Downloadable URL patungo sa naayos na GLTF. Napupunan kapag ang input ay isang GLTF upload.
- Name
fbx- Type
- string
- Description
Downloadable URL patungo sa naayos na FBX. Napupunan kapag ang input ay isang FBX upload.
- Name
obj- Type
- string
- Description
Downloadable URL patungo sa naayos na OBJ. Napupunan kapag ang input ay isang OBJ upload.
- Name
stl- Type
- string
- Description
Downloadable URL patungo sa naayos na STL. Napupunan kapag ang input ay isang STL upload.
- Name
usdz- Type
- string
- Description
Nakalaan para sa USDZ output. Palaging walang laman na string para sa mga repair-printability task.
- Name
3mf- Type
- string
- Description
Nakalaan para sa 3MF output. Palaging walang laman na string para sa mga repair-printability task.
- Name
mtl- Type
- string
- Description
Nakalaan para sa MTL output. Palaging walang laman na string para sa mga repair-printability task.
- Name
- thumbnail_url
- Type
- string
- Description
URL ng preview image na na-render mula sa naayos na modelo.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
Downloadable URL patungo sa bersyon na may transparent-background (RGBA) ng
thumbnail_url. Naroroon lamang kapag ang task ay nilikha na mayalpha_thumbnail: trueat matagumpay na na-render ang transparent na preview; kung hindi, tinatanggal ang field na ito.
- Name
- texture_urls
- Type
- array
- Description
Palaging isang walang laman na array. Pinapanatili lamang ng repair ang input heometriya at hindi muling nagba-bake ng mga texture.
- Name
- consumed_credits
- Type
- integer
- Description
Ang bilang ng credits na ginamit ng task na ito.
10kapag naabot na ng task angSUCCEEDED. Nagbabalik ng0para sa mga task naFAILED(nire-refund ang credits kapag nabigo).
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
}