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 lämnas kvar av ett snitt förstärks alltid så att varje del skrivs ut solid.
Delningsresultatet bevarar inte indatatexturen. Auto Split accepterar texturerad indata, så du behöver inte återskapa modellen med should_texture: false. Den återuppbygger de uppdelade delarna och tilldelar varje del en platt vertexfärg; ingen indataurtexturkarta förs över till något exporterat format.
Create an Auto Split Task
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.
Uppgiften körs i bakgrunden. För information om hur lång tid det vanligtvis tar, se Processing Times.
Parametrar
- Name
- input_task_id
- Type
- string
- Obligatorisk
- Description
ID:t för en lyckad uppgift vars modell ska delas upp. Uppgiftstyper som stöds: Bild till 3D, Flera bilder till 3D, Text till 3D (förhandsgranskning), Remesh, Konvertera, och Ändra storlek. Uppgiften måste ha status
SUCCEEDED, och dess modell måste vara genererad med Meshy 6 eller Meshy 7 (ai_modelmeshy-6,meshy-7,meshy-7.1, ellerlatest). Low-poly- och Smart Topology-modeller (meshy-t2,meshy-t2.5) 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 skärningarna.promptignoreras.by_parts: Skär längs de strukturella delar du namnger iprompt, såsom huvud, armar och torso.by_color: Skär längs de färgregioner du namnger iprompt. Kräver en indata som genererats 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 delarna att dela upp i, på vilket språk som helst. Meshy läser 1 till 10 delnamn från den, så namnge delarna istället för att beskriva modellen, till exempel
split into the figure and the base, ellerhead, torso, left arm, right arm, legs. Det går bra att namnge en enda del: allt du inte namngett blir en kvarvarande del, såthe headdelar upp modellen i huvudet och resten, precis som i webbappen. Upp till 600 tecken. En beskrivning som ber om ingen uppdelning alls, eller namnger fler än 10 delar, avvisas med400och inget debiteras. Om Meshy inte kan läsa några delnamn från beskrivningen delar den istället upp längs de delar den identifierar i modellens referensbild, i det mode du valt: uppgiften körs och debiteras ändå, och den bärprompt_ignored: true. Om modellen saknar referensbild, eller om Meshy hittar färre än två delar i den, avvisas förfrågan istället med400och inget debiteras.
- Name
- target_formats
- Type
- array
- standard ["glb"]
- Description
Format att exportera den uppdelade modellen i. Format som stöder scenobjekt (
glb,obj,fbx,usdz,blend,3mf) bär varje del som ett separat objekt;stlhar inget begrepp om separata objekt, så den sammanfogar varje del till en enda solid arrangerad enligtlayout(begär3mfför separat valbara delar i en slicer).glbproduceras alltid och returneras imodel_urls; lista eventuella andra 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 miniatyrbilden.
Tillgängliga värden:
assembled: Delarna förblir där källmodellen hade dem.on_plate: Delarna läggs platt och sprids ut på byggplattan, redo att skiva — samma arrangemang som webbappens On Plate-vy.
I båda layouterna tas en kollapsad flisa eller punktliknande bit som blivit kvar efter en skärning bort före export, så varje del du får är utskrivbar. Format som stöder scenobjekt håller ett objekt per del;
stlsammanfogar dem till en enda solid.
- Name
- connectors
- Type
- boolean
- standard false
- Description
Lägger till tapp-och-hål-kopplingar vid varje skärning så att de utskrivna delarna passar ihop.
connectors = true- Name
- connector_type
- Type
- string
- standard cube
- Description
Formen på kopplingen vid varje skäryta.
Tillgängliga värden:
cube,cylinder.
- Name
- connector_size
- Type
- number
- standard 0.5
- Description
Kopplingens storlek relativt skärytan.
Giltigt intervall:
0.1till0.8.
- Name
- connector_height
- Type
- number
- standard 0.1
- Description
Hur långt kopplingen sträcker sig från skärytan, relativt skärytan.
Giltigt intervall:
0.1till0.8.
Returnerar
Egenskapen result i svaret innehåller id för den nyskapade Auto Split-uppgiften.
Felscenarier
- Name
400 - Bad Request- Description
Förfrågan kunde inte accepteras. 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 ber om att behålla modellen i ett stycke, eller 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 som genererats 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äckliga credits för att utföra denna uppgift.
- Name
404 - Not Found- Description
input_task_idexisterar inte eller tillhör inte ditt konto.
- Name
429 - Too Many Requests- Description
Du har överskridit din hastighetsgräns. Förfrågningar med
by_partsochby_colordelar också en gräns för prompt-tolkning på 12 förfrågningar per minut per 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-uppgiftsobjektet.
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
}
Radera en Auto Split-uppgift
Denna endpoint raderar permanent en Auto Split-uppgift, inklusive alla associerade 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 raderas.
Uppgiftsstatus
En uppgift som fortfarande är PENDING raderas och de credits som
förbrukades vid skapandet återbetalas.
En uppgift som redan är IN_PROGRESS kan inte raderas: förfrågan
avvisas med 409 Conflict och uppgiften fortsätter att köras. Credits för en uppgift
som arbetaren redan har påbörjat är inte återbetalningsbara, så att radera den mitt i körningen
skulle kosta dig både credits och resultatet. Vänta tills den når
SUCCEEDED, FAILED eller CANCELED, och radera den sedan.
En uppgift i ett slutgiltigt tillstånd (SUCCEEDED, FAILED eller CANCELED) raderas
utan återbetalning.
Returnerar
Returnerar 200 OK vid lyckad begäran, 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 över Auto Split-uppgifter
Denna endpoint låter dig hämta en lista över Auto Split-uppgifter.
Parametrar
Valfria attribut
- Name
- page_num
- Type
- integer
- Description
Sidnummer för paginering. Börjar på 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
}
]
Strömma en Auto Split-uppgift
Denna endpoint strömmar uppdateringar i realtid för en Auto Split-uppgift med hjälp av Server-Sent Events (SSE).
Parametrar
- Name
- id
- Type
- path
- Description
Unik identifierare för den Auto Split-uppgift som ska strömmas.
Returnerar
Returnerar en ström av Auto Split-uppgiftsobjekt som Server-Sent Events.
Varje message-händelse innehåller hela uppgiftsobjektet så som det returneras av Hämta en Auto Split-uppgift, inklusive consumed_credits, tidsstämplarna och prompt_ignored; medan uppgiften är PENDING eller IN_PROGRESS är de fält som ändras mellan ramarna progress, status, started_at och preceding_tasks, och model_urls, thumbnail_url och part_count dyker upp när den når SUCCEEDED. En error-händelse innehåller endast status_code och message, så förgrena dig 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
}
Auto Split-uppgiftsobjektet
En Auto Split-uppgift innehåller endast egenskaperna nedan. De generations-prompt-fält som andra uppgiftsobjekt innehåller (name, object_prompt, texture_prompt och så vidare), den enskilda model_url samt 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 får ett värde, så uppsättningen av 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:n som implementationsdetalj bör du inte göra några antaganden om id:ts format.
- 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;
stlsammanfogar dem till en enda solid. 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 sammanfogas till en enda solid; 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örhandsgranskning av den delade modellen, med varje del i en egen färg, i den begärda
layout.
- Name
- prompt_ignored
- Type
- boolean
- Description
truenär enby_parts- ellerby_color-förfråganspromptinte angav några delar, så att Meshy delade modellen automatiskt istället — delnamnen i resultatet är Meshys, inte dina. Finns med från och medPENDING. Utelämnas förauto-uppgifter och när prompten följdes.
- Name
- part_count
- Type
- integer
- Description
Antal utskrivbara delar som delningen gav. Format som stöder scenobjekt har ett objekt per del;
stlsammanfogar dem till en enda solid, och antalet redovisar ändå delarna. Kollapsade flisor som segmenteringen inte kunde omvandla till en utskrivbar del tas bort från filerna före export och räknas inte med.
- Name
- progress
- Type
- integer
- Description
Uppgiftens progress. Om uppgiften inte har startat ännu kommer denna egenskap att vara
0. När 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 för 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 kommer denna egenskap att vara
0.
- Name
- finished_at
- Type
- timestamp
- Description
Tidsstämpel för när uppgiften avslutades, i millisekunder. Om uppgiften inte är avslutad ännu kommer denna egenskap att vara
0.
- Name
- task_error
- Type
- object
- Description
Felinformation för misslyckade uppgifter. Se Fel för den fullständiga referensen för
task_error-objektet. Om modellens leverantörs säkerhetskontroll avvisar indatamodellen misslyckas uppgiften medtask_error.typeinvalid_inputochcodeprovider_content_refused. Se Fel.
- Name
- consumed_credits
- Type
- integer
- Description
Antalet credits som förbrukats av denna uppgift. Finns alltid med:
10när uppgiften har accepterats, och0förFAILED-uppgifter eftersom avgiften återbetalas vid misslyckande. Om en uppgift tas bort medan den fortfarande ärPENDINGåterbetalas 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
}