Auto Split API
Hatiin ang isang 3D model sa mga bahaging maaaring i-print nang hiwalay — awtomatiko, ayon sa mga bahaging pinangalanan mo, o ayon sa color region — na may opsyonal na mga connector; ang manipis na mga rehiyong naiwan ng isang cut ay palaging pinatitibay para ang bawat bahagi ay mag-print nang solid.
Sa kasalukuyan, sinusuportahan ng Auto Split ang mga untextured model lamang. Para sa Image to 3D at Multi-Image to 3D, gawin ang input gamit ang should_texture na naka-set sa false. Ang isang textured input ay tatanggihan na may 400. Ang suporta para sa textured ay kasalukuyang isinasagawa (in progress).
Gumawa ng Auto Split Task
Ang endpoint na ito ay gumagawa ng bagong Auto Split task. Pinuputol ng task ang modelo ng isang naunang task sa mga bahaging maaaring i-print nang hiwalay at ibinabalik ang segmented na modelo, kung saan ang bawat bahagi ay sarili nitong object sa file.
Mga Parameter
- Name
- input_task_id
- Type
- string
- Kinakailangan
- Description
Ang ID ng isang matagumpay na task kung saan ang modelo ay ipuputol. Sinusuportahang mga uri ng task: Image to 3D, Multi-Image to 3D, Text to 3D (preview), Remesh, Convert, at Resize. Dapat ang status ng task ay
SUCCEEDED, at ang modelo nito ay dapat nabuo gamit ang Meshy 6 o Meshy 7 (ai_modelmeshy-6,meshy-7, olatest). Hindi suportado ang mga low-poly at Smart Topology (meshy-t2) na modelo.
- Name
- mode
- Type
- string
- default auto
- Description
Paano hahatiin sa mga bahagi ang modelo.
Mga magagamit na value:
auto: Pipiliin ni Meshy ang mga hiwa. Hindi papansinin angprompt.by_parts: Hihiwain ayon sa mga structural part na pinangalanan mo saprompt, tulad ng ulo, braso, at torso.by_color: Hihiwain ayon sa mga rehiyon ng kulay na pinangalanan mo saprompt. Nangangailangan ng input na nabuo mula sa na-upload na larawan (Image to 3D o Multi-Image to 3D); tatanggihan ang ibang mga input na may400.
mode = by_parts or by_color- Name
- prompt
- Type
- string
- Kinakailangan
- Description
Naglalarawan ng mga bahaging hahatiin, sa kahit anong wika. Nagbabasa si Meshy ng 1 hanggang 10 pangalan ng bahagi mula rito, kaya pangalanan ang mga piraso sa halip na ilarawan ang modelo — halimbawa
split into the figure and the base, ohead, torso, left arm, right arm, legs. Hanggang 600 na karakter. Dalawang mode ng pagkabigo: ang isang paglalarawan na parang paghati pero pinangalanan ang mas kaunti sa dalawang bahagi (halimbawasplit into individual parts) ay tatanggihan na may400at walang sisingilin; ang isang paglalarawan na hindi mabasa ni Meshy ay babalik saauto, patuloy na tatakbo at sisingilin ang task, at ang tugon nito ay mayprompt_ignored: true.
- Name
- target_formats
- Type
- array
- default ["glb"]
- Description
Mga format kung saan i-export ang hinating modelo. Ang bawat bahagi ay hiwalay na object sa bawat format. Palaging ginagawa at ibinabalik ang
glbsamodel_urls; ilista ang iba pang mga format na nais mo bilang karagdagan.Mga magagamit na value:
glb,obj,fbx,usdz,blend,3mf.Ang
3mfay isinulat para sa mga slicer: isang object bawat bahagi, bawat isa sa sariling filament slot, kaya bubuksan ng Bambu Studio ang file bilang mga bahaging may sariling kulay at hiwalay na mapipili (may dalang Bambu Studio project configuration ang archive; babasahin ng ibang mga slicer ang heometriya). Tulad ng iba pang print format ng Meshy, ito ay sa millimeters at, dahil ang endpoint na ito ay walang target na laki, ang buong modelo ay isasukat upang ang pinakamahabang gilid nito ay 150 mm — ang parehong limitasyon na ginagamit ng iba pang print-format export, na pinili upang umakma sa bawat pangunahing build plate. Salayout: "on_plate", ang limitasyon ay ikakapit sa naka-layout na plate sa kabuuan, kaya handa na ang file para i-slice; saassembled, nananatili ang mga bahagi sa kinaroroonan nila sa source model at ikaw ang mag-aayos nito sa slicer.Hindi suportado ang
stldahil hindi kayang dalhin ng format ang hiwalay na mga bahagi.
- Name
- layout
- Type
- string
- default assembled
- Description
Paano nakaayos ang mga bahagi sa bawat output format, at sa thumbnail.
Mga magagamit na value:
assembled: Nananatili ang mga bahagi sa kinaroroonan nila sa source model.on_plate: Ang mga bahagi ay pinapatag at ikakalat sa build plate, handa na para i-slice — ang parehong pag-aayos na ginagamit ng On Plate view ng web app.
Sa parehong layout, ang mga na-export na file ay may isang object bawat bahagi at walang iba pa: ang isang naka-collapse na maliit na piraso o piraso na parang punto na natira mula sa isang paghiwa ay tatanggalin bago i-export, kaya bawat object na makikita mo sa file ay maaaring i-print.
- Name
- connectors
- Type
- boolean
- default false
- Description
Nagdaragdag ng mortise-and-tenon na connector sa bawat hiwa upang magkasya ang mga naka-print na bahagi.
connectors = true- Name
- connector_type
- Type
- string
- default cube
- Description
Ang hugis ng connector sa bawat ibabaw ng hiwa.
Mga magagamit na value:
cube,cylinder.
- Name
- connector_size
- Type
- number
- default 0.5
- Description
Laki ng connector kaugnay sa ibabaw ng hiwa.
Wastong saklaw:
0.1hanggang0.8.
- Name
- connector_height
- Type
- number
- default 0.1
- Description
Gaano lalabas ang connector mula sa ibabaw ng hiwa, kaugnay sa ibabaw ng hiwa.
Wastong saklaw:
0.1hanggang0.8.
Ibinabalik
Ang result property ng tugon ay naglalaman ng id ng bagong likhang Auto Split task.
Mga Mode ng Pagkabigo
- Name
400 - Bad Request- Description
Hindi katanggap-tanggap ang request. Karaniwang mga dahilan:
- Kulang na prompt: Kinakailangan ang
promptkung angmodeayby_partsoby_color. - Ang prompt ay pinangalanan ang mas kaunti sa dalawang bahagi: Ang
by_parts/by_coloray nangangailangan ng hindi bababa sa dalawang pinangalanang piraso (halimbawahead, torso, base); tatanggihan ang isang generic na instruksyon tulad ngsplit into individual parts. Walang sisingilin. - Hindi suportadong input task: Ang
input_task_iday dapat tumutukoy sa isang matagumpay na task ng suportadong uri, na nabuo gamit ang Meshy 6 o Meshy 7. - May texture na input: May mga texture ang input model. Sa ngayon, suportado lamang ang mga modelong walang texture.
- Walang reference image: Ang
by_coloray nangangailangan ng input na nabuo mula sa na-upload na larawan. - Hindi suportadong format: May
stlsatarget_formats. - Connector na labas sa saklaw: Ang
connector_sizeoconnector_heightay labas sa0.1hanggang0.8.
- Kulang na prompt: Kinakailangan ang
- Name
401 - Unauthorized- Description
Nabigo ang authentication. Pakisuri ang iyong API key.
- Name
402 - Payment Required- Description
Hindi sapat ang credits upang isagawa ang task na ito.
- Name
404 - Not Found- Description
Ang
input_task_iday hindi umiiral o hindi kabilang sa iyong account.
- Name
429 - Too Many Requests- Description
Nalagpasan mo ang iyong rate limit. Ang mga request na
by_partsatby_coloray nagbabahagi din ng limitasyon sa prompt-parsing na 12 request kada minuto bawat account.
- Name
503 - Service Unavailable- Description
Pansamantalang hindi magagamit ang prompt-based splitting (
by_partsatby_color). Subukan muli mamaya, o gamitin angmode: "auto", na hindi apektado. Walang sisingilin.
Request
# Simple request: let Meshy choose the cuts
curl https://api.meshy.ai/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Advanced request: name the parts, add connectors, export glb and obj
curl https://api.meshy.ai/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"mode": "by_parts",
"prompt": "split into the figure and the base",
"target_formats": ["glb", "obj"],
"layout": "on_plate",
"connectors": true,
"connector_type": "cylinder",
"connector_size": 0.4
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Kunin ang Auto Split Task
Kinukuha ng endpoint na ito ang isang Auto Split task gamit ang ID nito.
Mga Parameter
- Name
- id
- Type
- path
- Description
Ang ID ng Auto Split task na kukunin.
Ibinabalik
Ang Auto Split Task object.
Request
curl https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
Burahin ang isang Auto Split Task
Permanenteng binubura ng endpoint na ito ang isang Auto Split task, kasama ang lahat ng kaugnay na modelo at datos. Hindi na maibabalik ang aksyong ito.
Mga Path Parameter
- Name
- id
- Type
- path
- Description
Ang ID ng Auto Split task na buburahin.
Mga Ibinabalik na Halaga
Nagbabalik ng 200 OK kapag matagumpay.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Ilista ang mga Auto Split Task
Ang endpoint na ito ay nagbibigay-daan sa iyo upang kunin ang isang listahan ng mga Auto Split task.
Mga Parameter
Opsyonal na mga attribute
- Name
- page_num
- Type
- integer
- Description
Numero ng pahina para sa pagination. Nagsisimula at nagde-default sa
1.
- Name
- page_size
- Type
- integer
- Description
Limitasyon sa laki ng pahina. Ang default ay
10na item. Ang pinakamataas na pinapayagan ay100na item; ang mas malalaking value ay pinipigilan sa100.
- Name
- sort_by
- Type
- string
- Description
Field na gagamitin sa pag-sort. Mga available na value:
+created_at: Isaayos ayon sa oras ng paglikha nang pataas.-created_at: Isaayos ayon sa oras ng paglikha nang pababa.
Mga Ibinabalik
Nagbabalik ng isang paginated na listahan ng Mga Auto Split Task Object.
Request
curl https://api.meshy.ai/openapi/v1/print/split?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
]
Stream an Auto Split Task
Ang endpoint na ito ay nagsa-stream ng real-time na mga update para sa isang Auto Split task gamit ang Server-Sent Events (SSE).
Mga Parameter
- Name
- id
- Type
- path
- Description
Natatanging identifier para sa Auto Split task na i-stream.
Ibinabalik
Nagbabalik ng stream ng The Auto Split Task Objects bilang Server-Sent Events.
Bawat message event ay nagdadala ng kumpletong task object gaya ng ibinabalik ng Retrieve an Auto Split Task, kabilang ang consumed_credits, ang mga timestamp, at prompt_ignored; habang ang task ay PENDING o IN_PROGRESS, ang mga field na nagbabago sa pagitan ng mga frame ay progress, status, started_at at preceding_tasks, at lumalabas ang model_urls, thumbnail_url, part_count at parts kapag naabot na nito ang SUCCEEDED. Ang isang error event ay nagdadala lamang ng status_code at message, kaya mag-branch batay sa pangalan ng event bago basahin ang status.
Request
curl -N https://api.meshy.ai/openapi/v1/print/split/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 (other task fields omitted here for brevity;
// each frame is 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-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
Ang Auto Split Task Object
Ang Auto Split task ay may dala lamang ang mga property sa ibaba. Ang mga generation-prompt field na kasama sa ibang task object (name, object_prompt, texture_prompt at iba pa), ang iisang model_url, at ang texture_urls ay hindi kailanman napopopulate para sa isang split at hindi ibinabalik. Ang mga property na napupunan habang tumatakbo ang task (thumbnail_url, model_urls, ang mga timestamp) ay palaging naroroon, walang laman hanggang magkaroon ng halaga, kaya hindi nagbabago ang set ng mga key sa pagitan ng PENDING at SUCCEEDED.
- 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 ka dapat gumawa ng anumang palagay tungkol sa format ng id.
- Name
- type
- Type
- string
- Description
Uri ng task. Ang halaga ay
print-split.
- Name
- model_urls
- Type
- object
- Description
Mga URL na maaaring i-download para sa hinating (split) modelo, isa para sa bawat hiniling na format. Ang bawat bahagi ay hiwalay na object sa file. Ang property para sa isang format ay hindi isasama kung hindi hiniling ang format na iyon.
- Name
glb- Type
- string
- Description
Downloadable URL sa hinating modelo sa GLB format.
- Name
obj- Type
- string
- Description
Downloadable URL sa hinating modelo sa OBJ format.
- Name
fbx- Type
- string
- Description
Downloadable URL sa hinating modelo sa FBX format.
- Name
usdz- Type
- string
- Description
Downloadable URL sa hinating modelo sa USDZ format.
- Name
blend- Type
- string
- Description
Downloadable URL sa hinating modelo sa Blender format.
- Name
3mf- Type
- string
- Description
Downloadable URL sa hinating modelo sa 3MF format: isang object bawat bahagi, bawat isa sa sarili nitong filament slot, sa millimeters, na sinukat upang ang pinakamahabang gilid ay 150 mm, kasama ang isang Bambu Studio project configuration.
- Name
- thumbnail_url
- Type
- string
- Description
Downloadable URL sa isang na-render na preview ng hinating modelo, kung saan ang bawat bahagi ay may kani-kanilang kulay, sa hiniling na
layout.
- Name
- prompt_ignored
- Type
- boolean
- Description
truekapag angpromptng isangby_partsoby_colorrequest ay walang pinangalanang bahagi, kaya awtomatikong hinati ni Meshy ang modelo — ang mga pangalan ng bahagi sa resulta ay galing kay Meshy, hindi sa iyo. Naroroon simula saPENDING. Hindi isinasama para sa mgaautotask at sa anumang pagkakataong sinunod ang prompt.
- Name
- part_count
- Type
- integer
- Description
Bilang ng mga naipi-print na bahagi sa hinating modelo — isa bawat object sa mga na-export na file. Ang mga natupok na maliliit na piraso (collapsed slivers) na hindi kayang gawing naipi-print na piraso ng segmentation ay tinatanggal sa mga file bago i-export at hindi kasama sa bilang.
- Name
- progress
- Type
- integer
- Description
Progreso ng task. Kung hindi pa nasisimulan ang task, ang property na ito ay
0. Kapag nagtagumpay na ang task, ito ay magiging100.
- Name
- status
- Type
- string
- Description
Katayuan ng task. Ang mga posibleng halaga ay isa sa
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Ang bilang ng mga naunang task.
May kahulugan lamang ang halaga ng field na ito kung ang katayuan ng task ay
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Timestamp kung kailan nagawa ang task, sa millisecond.
- Name
- started_at
- Type
- timestamp
- Description
Timestamp kung kailan nasimulan ang task, sa millisecond. Kung hindi pa nasisimulan ang task, ang property na ito ay
0.
- Name
- finished_at
- Type
- timestamp
- Description
Timestamp kung kailan natapos ang task, sa millisecond. Kung hindi pa natatapos ang task, ang property na ito ay
0.
- Name
- task_error
- Type
- object
- Description
Mga detalye ng error para sa mga bigong task. Tingnan ang Errors para sa buong reference ng
task_errorobject.
- Name
- consumed_credits
- Type
- integer
- Description
Ang bilang ng mga credits na nagamit ng task na ito. Palaging naroroon:
10sa sandaling matanggap ang task, at0para sa mgaFAILEDna task dahil naibabalik ang singil kapag nabigo. Ang pagtanggal ng isang task habang ito ayPENDINGpa rin ay nagbabalik din ng bayad.
The Auto Split Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}