Auto Split API
Dela upp en 3D-modell i separat utskrivbara delar — automatiskt, efter delar du namnger, eller efter färgregion — med valfria kopplingar; tunna partier som blir kvar efter en skärning förstärks alltid så att varje del skrivs ut i ett massivt stycke.
Resultatet av uppdelningen bevarar inte inmatningens textur. Auto Split accepterar texturerade indata, så du behöver inte återskapa modellen med should_texture: false. Den bygger om de kapade delarna och tilldelar var och en en enfärgad vertexfärg; ingen textur-karta från indata förs över till något exportformat.
Skapa en Auto Split-uppgift
Denna endpoint skapar en ny Auto Split-uppgift. Uppgiften skär modellen från en tidigare uppgift i separat utskrivbara delar och returnerar den segmenterade modellen, där varje del är ett eget objekt i filen.
Parametrar
- Name
- input_task_id
- Type
- string
- Obligatorisk
- Description
ID:t för en lyckad uppgift vars modell ska delas. Uppgiftstyper som stöds: Bild till 3D, Flera bilder till 3D, Text till 3D (förhandsvisning), Remesh, Konvertera och Ändra storlek. Uppgiften måste ha statusen
SUCCEEDED, och dess modell måste vara genererad med Meshy 6 eller Meshy 7 (ai_modelmeshy-6,meshy-7,meshy-7.1ellerlatest). Low-poly- och Smart Topology-modeller (meshy-t2) stöds inte. En texturerad modell accepteras, men dess textur förs inte över till resultatet.
- Name
- mode
- Type
- string
- standard auto
- Description
Hur modellen delas upp i delar.
Tillgängliga värden:
auto: Meshy väljer snitten.promptignoreras.by_parts: Skär längs de strukturella delar du namnger iprompt, till exempel huvud, armar och bål.by_color: Skär längs de färgregioner du namnger iprompt. Kräver en indata genererad från en uppladdad bild (Bild till 3D eller Flera bilder till 3D); andra indata avvisas med400. Gränserna för färgregionerna kommer från källbilden, inte från indatamodellens textur. För Flera bilder till 3D använder Auto Split den första källbilden.
mode = by_parts or by_color- Name
- prompt
- Type
- string
- Obligatorisk
- Description
Beskriver de delar som ska delas upp i, på valfritt språk. Meshy läser 1 till 10 delnamn från den, så namnge delarna i stället för att beskriva modellen — till exempel
split into the figure and the base, ellerhead, torso, left arm, right arm, legs. Att namnge en enda del är okej: allt du inte namngett blir en återstående del, såthe headdelar modellen i huvudet och resten, precis som i webbappen. Upp till 600 tecken. Två typer av misslyckanden: en beskrivning som inte begär någon uppdelning alls, eller som namnger fler än 10 delar, avvisas med400och inget debiteras; en beskrivning Meshy inte kan tolka alls faller tillbaka tillauto, uppgiften körs och debiteras ändå, och dess svar innehållerprompt_ignored: true.
- Name
- target_formats
- Type
- array
- standard ["glb"]
- Description
Format som den uppdelade modellen ska exporteras i. Format som stöder scenobjekt (
glb,obj,fbx,usdz,blend,3mf) bär varje del som ett separat objekt;stlhar ingen uppfattning om separata objekt, så det slår samman varje del till ett enda solidt objekt arrangerat enligtlayout(begär3mfför separat valbara delar i en slicer).glbproduceras alltid och returneras imodel_urls; ange eventuella övriga format du vill ha utöver detta.Tillgängliga värden:
glb,obj,fbx,stl,usdz,blend,3mf.
- Name
- layout
- Type
- string
- standard assembled
- Description
Hur delarna arrangeras i varje utdataformat, och i miniatyren.
Tillgängliga värden:
assembled: Delarna behåller samma placering som i källmodellen.on_plate: Delarna läggs platt och utspridda på byggplattan, redo att skäras — samma arrangemang som webbappens On Plate-vy.
I båda arrangemangen tas en hopfallen sliver eller punktliknande bit som blir kvar från ett snitt bort före export, så varje del du får är utskrivbar. Format som stöder scenobjekt håller ett objekt per del;
stlslår samman dem till ett enda solitt objekt.
- Name
- connectors
- Type
- boolean
- standard false
- Description
Lägger till tapp-och-hål-kopplingar vid varje snitt så att de utskrivna delarna passar ihop.
connectors = true- Name
- connector_type
- Type
- string
- standard cube
- Description
Formen på kopplingen vid varje snittyta.
Tillgängliga värden:
cube,cylinder.
- Name
- connector_size
- Type
- number
- standard 0.5
- Description
Kopplingens storlek i förhållande till snittytan.
Giltigt intervall:
0.1till0.8.
- Name
- connector_height
- Type
- number
- standard 0.1
- Description
Hur långt kopplingen sträcker sig från snittytan, i förhållande till snittytan.
Giltigt intervall:
0.1till0.8.
Returvärden
Svarets result-egenskap innehåller id för den nyligen skapade Auto Split-uppgiften.
Felmoder
- Name
400 - Bad Request- Description
Begäran var inte godtagbar. Vanliga orsaker:
- Saknad prompt:
promptkrävs närmodeärby_partsellerby_color. - Prompten beskriver ingen uppdelning, eller för många delar:
by_parts/by_coloraccepterar 1 till 10 namngivna delar. En beskrivning som begär att modellen behålls i ett enda stycke, eller som namnger fler än 10 delar, avvisas. Inget debiteras. - Uppgiftstyp som inte stöds:
input_task_idmåste referera till en lyckad uppgift av en typ som stöds, genererad med Meshy 6 eller Meshy 7. - Ingen referensbild:
by_colorkräver en indata genererad från en uppladdad bild. - Koppling utanför intervallet:
connector_sizeellerconnector_heightligger utanför0.1till0.8.
- Saknad prompt:
- Name
401 - Unauthorized- Description
Autentiseringen misslyckades. Kontrollera din API-nyckel.
- Name
402 - Payment Required- Description
Otillräckligt med credits för att utföra denna uppgift.
- Name
404 - Not Found- Description
input_task_idfinns inte eller tillhör inte ditt konto.
- Name
429 - Too Many Requests- Description
Du har överskridit din hastighetsgräns.
by_parts- ochby_color-förfrågningar delar också på en gräns för prompt-tolkning på 12 förfrågningar per minut och konto.
- Name
503 - Service Unavailable- Description
Promptbaserad uppdelning (
by_partsochby_color) är tillfälligt otillgänglig. Försök igen senare, eller användmode: "auto", som inte påverkas. Inget debiteras.
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"
}
Hämta en Auto Split-uppgift
Denna endpoint hämtar en Auto Split-uppgift baserat på dess ID.
Parametrar
- Name
- id
- Type
- path
- Description
ID:t för den Auto Split-uppgift som ska hämtas.
Returnerar
Auto Split Task-objektet.
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
}
Ta bort en Auto Split-uppgift
Denna endpoint tar permanent bort en Auto Split-uppgift, inklusive alla tillhörande modeller och data. Denna åtgärd kan inte ångras.
Sökvägsparametrar
- Name
- id
- Type
- path
- Description
ID:t för den Auto Split-uppgift som ska tas bort.
Uppgiftsstatus
En uppgift som fortfarande är PENDING tas bort och de credits som
förbrukades vid skapandet återbetalas.
En uppgift som redan är IN_PROGRESS kan inte tas bort: begäran
avvisas med 409 Conflict och uppgiften fortsätter att köras. Credits för en uppgift
som arbetaren redan har påbörjat kan inte återbetalas, så att ta bort den mitt i körningen
skulle kosta dig både credits och resultatet. Vänta tills den når
SUCCEEDED, FAILED eller CANCELED, och ta sedan bort den.
En uppgift i ett slutgiltigt tillstånd (SUCCEEDED, FAILED eller CANCELED) tas bort
utan återbetalning.
Returer
Returnerar 200 OK vid framgång, eller 409 Conflict när uppgiften är
IN_PROGRESS.
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
// 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."
}
Lista Auto Split-uppgifter
Denna endpoint gör det möjligt att hämta en lista över Auto Split-uppgifter.
Parametrar
Valfria attribut
- Name
- page_num
- Type
- integer
- Description
Sidnummer för paginering. Börjar och har standardvärdet
1.
- Name
- page_size
- Type
- integer
- Description
Gräns för sidstorlek. Standardvärdet är
10objekt. Maximalt tillåtet är100objekt; större värden begränsas till100.
- Name
- sort_by
- Type
- string
- Description
Fält att sortera efter. Tillgängliga värden:
+created_at: Sortera efter skapandetid i stigande ordning.-created_at: Sortera efter skapandetid i fallande ordning.
Returnerar
Returnerar en paginerad lista med Auto Split-uppgiftsobjekt.
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
Denna endpoint strömmar realtidsuppdateringar för en Auto Split-uppgift med Server-Sent Events (SSE).
Parametrar
- Name
- id
- Type
- path
- Description
Unik identifierare för Auto Split-uppgiften som ska strömmas.
Returnerar
Returnerar en ström av The Auto Split Task Objects som Server-Sent Events.
Varje message-händelse innehåller hela uppgiftsobjektet som returneras av Retrieve an Auto Split Task, inklusive consumed_credits, tidsstämplarna och prompt_ignored; medan uppgiften är PENDING eller IN_PROGRESS är fälten som ändras mellan bildrutorna progress, status, started_at och preceding_tasks, och model_urls, thumbnail_url och part_count visas när den når SUCCEEDED. En error-händelse innehåller endast status_code och message, så gör en förgrening baserat på händelsenamnet innan du läser 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
}
The Auto Split Task Object
En Auto Split-uppgift innehåller endast egenskaperna nedan. Fälten för genereringsprompt som andra uppgiftsobjekt innehåller (name, object_prompt, texture_prompt och så vidare), den enskilda model_url, och texture_urls fylls aldrig i för en delning och returneras inte. Egenskaper som fylls i medan uppgiften körs (thumbnail_url, model_urls, tidsstämplarna) finns alltid med, tomma tills de har ett värde, så mängden nycklar ändras inte mellan PENDING och SUCCEEDED.
- Name
- id
- Type
- string
- Description
Unik identifierare för uppgiften. Även om vi använder en k-sorterbar UUID för uppgifts-id som implementationsdetalj, bör du inte göra några antaganden om formatet på id:t.
- Name
- type
- Type
- string
- Description
Uppgiftens typ. Värdet är
print-split.
- Name
- model_urls
- Type
- object
- Description
Nedladdningsbara URL:er till den delade modellen, en per begärt format. Format som stöder scenobjekt behåller varje del som ett separat objekt;
stlslår samman dem till ett enda solidt objekt. Egenskapen för ett format utelämnas om formatet inte begärdes.- Name
glb- Type
- string
- Description
Nedladdningsbar URL till den delade modellen i GLB-format.
- Name
obj- Type
- string
- Description
Nedladdningsbar URL till den delade modellen i OBJ-format.
- Name
fbx- Type
- string
- Description
Nedladdningsbar URL till den delade modellen i FBX-format.
- Name
stl- Type
- string
- Description
Nedladdningsbar URL till den delade modellen i STL-format. Alla delar slås samman till ett enda solidt objekt; begär
3mfför separat valbara delar.
- Name
usdz- Type
- string
- Description
Nedladdningsbar URL till den delade modellen i USDZ-format.
- Name
blend- Type
- string
- Description
Nedladdningsbar URL till den delade modellen i Blender-format.
- Name
3mf- Type
- string
- Description
Nedladdningsbar URL till den delade modellen i 3MF-format.
- Name
- thumbnail_url
- Type
- string
- Description
Nedladdningsbar URL till en renderad förhandsvisning av den delade modellen, med varje del i en distinkt färg, i den begärda
layout.
- Name
- prompt_ignored
- Type
- boolean
- Description
truenär enby_parts- ellerby_color-begäranspromptinte namngav några delar, så Meshy delade modellen automatiskt istället — delnamnen i resultatet är Meshys, inte dina. Finns frånPENDINGoch framåt. Utelämnas förauto-uppgifter och när prompten följdes.
- Name
- part_count
- Type
- integer
- Description
Antal utskriftsbara delar som delningen producerade. Format som stöder scenobjekt bär ett objekt per del;
stlslår samman dem till ett enda solidt objekt, och antalet rapporterar fortfarande delarna. Kollapsade flisor som segmenteringen inte kunde omvandla till en utskriftsbar del tas bort från filerna före export och räknas inte.
- Name
- progress
- Type
- integer
- Description
Uppgiftens progress. Om uppgiften inte har startat ännu blir denna egenskap
0. Så snart uppgiften har lyckats blir den100.
- Name
- status
- Type
- string
- Description
Uppgiftens status. Möjliga värden är ett av
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Antalet föregående uppgifter.
Värdet i detta fält är endast meningsfullt om uppgiftens status är
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Tidsstämpel för när uppgiften skapades, i millisekunder.
- Name
- started_at
- Type
- timestamp
- Description
Tidsstämpel för när uppgiften startades, i millisekunder. Om uppgiften inte har startat ännu blir denna egenskap
0.
- Name
- finished_at
- Type
- timestamp
- Description
Tidsstämpel för när uppgiften avslutades, i millisekunder. Om uppgiften inte har avslutats ännu blir denna egenskap
0.
- Name
- task_error
- Type
- object
- Description
Feldetaljer för misslyckade uppgifter. Se Fel för den fullständiga referensen till objektet
task_error.
- Name
- consumed_credits
- Type
- integer
- Description
Antalet credits som förbrukats av denna uppgift. Finns alltid:
10när uppgiften har accepterats, och0förFAILED-uppgifter eftersom avgiften återbetalas vid misslyckande. Att ta bort en uppgift medan den fortfarande ärPENDINGåterbetalar den också.
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
}