Analyze Printability API
Suriin ang isang 3D na modelo para sa FDM printability — watertightness, volume, butas, non-manifold edges, at degenerate faces.
Gumawa ng Analyze Printability Task
Ang endpoint na ito ay lumilikha ng bagong analyze-printability task. Sinusuri ng task ang isang 3D model at nag-uulat ng mga printability metrics nito.
Kung ang input task ay mayroon nang naka-cache na printability, ang ibinalik na task ay agad na handa at ang unang GET dito ay ibabalik ang resulta ng pagsusuri nang hindi dumadaan sa worker.
Mga Parameter
Isa lamang sa input_task_id o model_url ang kailangan. Kung parehong ibinigay, ang input_task_id ang may priyoridad.
- Name
- input_task_id
- Type
- string
- Kinakailangan
- Description
Ang ID ng isang nagtagumpay na task na pagmamay-ari mo. Sinusuportahang mga uri ng task: Image to 3D, Multi-Image to 3D, Text to 3D, Remesh, at Retexture. Ang task ay dapat gumamit ng Meshy 6 o mas bago (kasama ang Meshy 7) at dapat may status na
SUCCEEDED.
- Name
- model_url
- Type
- string
- Kinakailangan
- Description
URL ng isang 3D model na susuriin. Sinusuportahang mga format:
.glb,.gltf,.obj,.fbx,.stl. Pinakamataas na laki ng file: 100 MB. Dapat gumamit nghttp,https, o isangdata:URL (ang mga data URL ay lumalampas sa mga extension check).
Mga Ibinabalik
Ang result na property ng tugon ay naglalaman ng id ng bagong likhang analyze-printability task.
Mga Paraan ng Pagkabigo
- Name
400 - Bad Request- Description
Ang kahilingan ay hindi katanggap-tanggap. Karaniwang mga sanhi:
- Nawawalang parameter: wala sa
input_task_idomodel_urlang ibinigay. - Di-wastong UUID: ang
input_task_iday hindi wastong UUID. - Di-wastong model URL: ang
model_urlay mali ang pagkakabuo, gumagamit ng hindi suportadong scheme, o may hindi suportadong file extension. - Masyadong malaking model file: ang katawan ng
model_urlay lumampas sa 100 MB. - Task hindi nagtagumpay: ang tinutukoy na task ay nasa pending pa, nasa progress, o nabigo.
- Nawawalang parameter: wala sa
- Name
401 - Unauthorized- Description
Nabigo ang authentication. Paki-check ang iyong API key.
- Name
403 - Forbidden- Description
Umiiral ang task ngunit pagmamay-ari ito ng ibang user.
- Name
404 - Not Found- Description
Karaniwang mga sanhi:
- Ang task ay hindi umiiral o natanggal na.
- Ang task ay gumagamit ng model na mas luma sa Meshy 6, o ang mode nito ay hindi gumagawa ng 3D asset.
- Ang pangunahing model file ay hindi na magagamit sa storage.
- Name
429 - Too Many Requests- Description
Lumampas ka sa iyong pending-task quota o rate limit.
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"
}
Kunin ang isang Analyze Printability Task
Ang endpoint na ito ay kumukuha ng isang analyze-printability task sa pamamagitan ng ID nito.
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang ID ng analyze-printability task na kukunin.
Mga Ibinabalik
Ang Analyze Printability Task Object. Ang printability na field ay null hanggang sa maabot ng task ang SUCCEEDED.
Request
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
}
Burahin ang Analyze Printability Task
Ang endpoint na ito ay permanenteng bubura ng isang analyze-printability task at ang naka-cache na resulta nito. Ang aksyong ito ay hindi na mababawi.
Mga Parameter ng Path
- Name
- id
- Type
- path
- Description
Ang ID ng analyze-printability task na buburahin.
Mga Ibinabalik
Nagbabalik ng 200 OK kapag matagumpay.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Listahan ng Analyze Printability Tasks
Ang endpoint na ito ay nagbibigay-daan sa iyo na makuha ang listahan ng mga analyze-printability tasks.
Mga Parameter
Opsyonal na mga katangian
- Name
- page_num
- Type
- integer
- Description
Numero ng pahina para sa pagination. Nagsisimula at default sa
1.
- Name
- page_size
- Type
- integer
- Description
Limitasyon ng laki ng pahina. Default sa
10na item. Ang maximum na pinapayagan ay50na item.
- Name
- sort_by
- Type
- string
- Description
Field na gagamitin para sa pag-aayos. Mga magagamit na halaga:
+created_at: Ayusin ayon sa oras ng paglikha sa pataas na pagkakasunod-sunod.-created_at: Ayusin ayon sa oras ng paglikha sa pababang pagkakasunod-sunod.
Mga Ibinabalik
Nagbabalik ng isang listahan na may pagination ng Analyze Printability Task Objects.
Request
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
}
]
I-stream ang isang Analyze Printability Task
Ang endpoint na ito ay nag-i-stream ng mga real-time na update para sa isang analyze-printability task gamit ang Server-Sent Events (SSE).
Mga Parameter
- Name
- id
- Type
- path
- Description
Natatanging identifier para sa analyze-printability task na i-stream.
Mga Ibinabalik
Nagbabalik ng stream ng Analyze Printability Task Objects bilang Server-Sent Events.
Para sa mga PENDING o IN_PROGRESS na mga task, ang response stream ay maglalaman lamang ng kinakailangang mga field na progress at status. Ang printability block ay ipinapadala lamang kapag ang task ay umabot na sa SUCCEEDED.
Request
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
}
Ang Analyze Printability Task Object
- Name
- id
- Type
- string
- Description
Natatanging pagkakakilanlan para sa gawain. Habang gumagamit kami ng k-sortable UUID para sa mga task id bilang detalye ng implementasyon, hindi ka dapat gumawa ng anumang mga pagpapalagay tungkol sa format ng id.
- Name
- type
- Type
- string
- Description
Uri ng analyze-printability na gawain. Ang halaga ay
print-analyze.
- Name
- status
- Type
- string
- Description
Katayuan ng gawain. Ang mga posibleng halaga ay isa sa
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- progress
- Type
- integer
- Description
Pag-unlad ng gawain. Kung ang gawain ay hindi pa nasisimulan, ang property na ito ay magiging
0. Kapag ang gawain ay nagtagumpay na, ito ay magiging100.
- Name
- preceding_tasks
- Type
- integer
- Description
Ang bilang ng mga naunang gawain.
Ang halaga ng field na ito ay makabuluhan lamang kung ang katayuan ng gawain ay
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Timestamp kung kailan nilikha ang gawain, sa milliseconds.
- Name
- started_at
- Type
- timestamp
- Description
Timestamp kung kailan nasimulan ang gawain, sa milliseconds. Kung ang gawain ay hindi pa nasisimulan, ang property na ito ay magiging
0.
- Name
- finished_at
- Type
- timestamp
- Description
Timestamp kung kailan natapos ang gawain, sa milliseconds. Kung ang gawain ay hindi pa natatapos, ang property na ito ay magiging
0.
- Name
- expires_at
- Type
- timestamp
- Description
Timestamp kung kailan mag-e-expire ang resulta ng gawain mula sa sistema, sa milliseconds.
0kung ang gawain ay hindi pa natatapos.
- Name
- task_error
- Type
- object
- Description
Impormasyon ng error kung ang gawain ay nabigo. Ang property na ito ay
nullkung ang gawain ay hindi nabigo. Tingnan ang Errors para sa karagdagang detalye.- Name
message- Type
- string
- Description
Mensahe ng error na naglalarawan kung ano ang nagkamali.
- Name
- printability
- Type
- object
- Description
Resulta ng pagsusuri ng printability.
nullhanggang ang gawain ay umabot saSUCCEEDED.- Name
_version- Type
- string
- Description
Bersyon ng schema ng resulta ng printability. Sa kasalukuyan ay
v1.
- Name
status- Type
- string
- Description
Pangkalahatang katayuan. Isa sa:
healthy: walang mga error at walang mga babala.warning: may hindi bababa sa isang babala, walang mga error.error: may hindi bababa sa isang error.unknown: hindi ma-analyze ang modelo.
- Name
issue_count- Type
- integer
- Description
Kabuuang bilang ng mga isyu, katumbas ng
error_count + warning_count.
- Name
error_count- Type
- integer
- Description
Bilang ng mga isyu sa antas ng error. Ang mga error ay lumilitaw kapag ang modelo ay hindi watertight, may non-positive volume, o may non-manifold edges.
- Name
warning_count- Type
- integer
- Description
Bilang ng mga isyu sa antas ng babala. Ang mga babala ay lumilitaw kapag ang modelo ay naglalaman ng degenerate faces o butas.
- Name
metrics- Type
- object
- Description
Raw geometry metrics na ibinalik ng evaluator.
- Name
is_watertight- Type
- boolean
- Description
truekapag ang mesh ay walang boundary edges (i.e., sarado).
- Name
volume- Type
- number
- Description
Dami ng modelo sa cubic meters.
- Name
non_manifold_edges- Type
- integer
- Description
Bilang ng non-manifold edges.
- Name
degenerate_faces- Type
- integer
- Description
Bilang ng degenerate faces (zero-area o invalid faces).
- Name
holes- Type
- integer
- Description
Bilang ng mga butas (boundary loops) sa mesh.
- Name
evaluated_at- Type
- timestamp
- Description
Timestamp kung kailan nakalkula ang pagsusuri, sa milliseconds mula epoch.
- Name
- consumed_credits
- Type
- integer
- Description
Palaging
0. Ang endpoint na ito ay libre.
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
}