Auto Split API
Splits een 3D-model op in afzonderlijk printbare onderdelen — automatisch, op basis van de onderdelen die u benoemt, of per kleurgebied — met optionele connectoren; dunne gebieden die door een snede ontstaan, worden altijd versterkt zodat elk onderdeel massief print.
Auto Split ondersteunt momenteel alleen modellen zonder textuur. Genereer voor Afbeelding naar 3D en Multi-afbeelding naar 3D de invoer met should_texture ingesteld op false. Invoer met textuur wordt geweigerd met 400.
Een Auto Split-taak aanmaken
Dit endpoint maakt een nieuwe Auto Split-taak aan. De taak snijdt het model van een eerdere taak op in afzonderlijk printbare onderdelen en retourneert het gesegmenteerde model, waarbij elk onderdeel een eigen object in het bestand is.
Parameters
- Name
- input_task_id
- Type
- string
- Verplicht
- Description
Het ID van een geslaagde taak waarvan het model gesplitst moet worden. Ondersteunde taaktypes: Afbeelding naar 3D, Multi-afbeelding naar 3D, Tekst naar 3D (preview), Remesh, Converteren en Formaat wijzigen. De taak moet de status
SUCCEEDEDhebben, en het model moet gegenereerd zijn met Meshy 6 of Meshy 7 (ai_modelmeshy-6,meshy-7, oflatest). Low-poly- en Smart Topology-modellen (meshy-t2) worden niet ondersteund.
- Name
- mode
- Type
- string
- standaard auto
- Description
Hoe het model in delen wordt opgesplitst.
Beschikbare waarden:
auto: Meshy kiest de sneden.promptwordt genegeerd.by_parts: Snijd langs de structurele onderdelen die je noemt inprompt, zoals hoofd, armen en romp.by_color: Snijd langs de kleurgebieden die je noemt inprompt. Vereist een input die gegenereerd is vanuit een geüploade afbeelding (Afbeelding naar 3D of Multi-afbeelding naar 3D); andere inputs worden afgewezen met400.
mode = by_parts or by_color- Name
- prompt
- Type
- string
- Verplicht
- Description
Beschrijft de onderdelen om in te splitsen, in elke taal. Meshy leest hieruit 1 tot 10 onderdeelnamen, dus benoem de stukken in plaats van het model te beschrijven — bijvoorbeeld
split into the figure and the base, ofhead, torso, left arm, right arm, legs. Maximaal 600 tekens. Twee soorten fouten: een beschrijving die als een splitsing overkomt maar minder dan twee onderdelen benoemt (bijvoorbeeldsplit into individual parts) wordt afgewezen met400en er wordt niets in rekening gebracht; een beschrijving die Meshy helemaal niet kan interpreteren, valt terug opauto, de taak wordt nog steeds uitgevoerd en in rekening gebracht, en het antwoord bevatprompt_ignored: true.
- Name
- target_formats
- Type
- array
- standaard ["glb"]
- Description
Formaten waarin het gesplitste model geëxporteerd wordt. Elk onderdeel is een apart object in elk formaat.
glbwordt altijd geproduceerd en geretourneerd inmodel_urls; vermeld eventuele andere gewenste formaten daarnaast.Beschikbare waarden:
glb,obj,fbx,usdz,blend,3mf.
- Name
- layout
- Type
- string
- standaard assembled
- Description
Hoe de onderdelen worden gerangschikt in elk uitvoerformaat en in de thumbnail.
Beschikbare waarden:
assembled: Onderdelen blijven waar het bronmodel ze had.on_plate: Onderdelen worden plat neergelegd en verspreid op het printbed, klaar om te slicen — dezelfde indeling als de On Plate-weergave in de web-app.
In beide indelingen bevatten de geëxporteerde bestanden precies één object per onderdeel en verder niets: een ingeklapt flintertje of puntvormig restje van een snede wordt vóór het exporteren verwijderd, zodat elk object dat je in het bestand aantreft printbaar is.
- Name
- connectors
- Type
- boolean
- standaard false
- Description
Voegt pen-en-gat-connectoren toe bij elke snede zodat de geprinte onderdelen in elkaar passen.
connectors = true- Name
- connector_type
- Type
- string
- standaard cube
- Description
De vorm van de connector op elk snijvlak.
Beschikbare waarden:
cube,cylinder.
- Name
- connector_size
- Type
- number
- standaard 0.5
- Description
Connectorgrootte relatief ten opzichte van het snijvlak.
Geldig bereik:
0.1tot0.8.
- Name
- connector_height
- Type
- number
- standaard 0.1
- Description
Hoe ver de connector uitsteekt vanaf het snijvlak, relatief ten opzichte van het snijvlak.
Geldig bereik:
0.1tot0.8.
Retourwaarden
De eigenschap result van het antwoord bevat het id van de nieuw aangemaakte Auto Split-taak.
Foutmodi
- Name
400 - Bad Request- Description
Het verzoek was onacceptabel. Veelvoorkomende oorzaken:
- Ontbrekende prompt:
promptis verplicht wanneermodeby_partsofby_coloris. - Prompt benoemt minder dan twee onderdelen:
by_parts/by_colorvereist ten minste twee benoemde stukken (bijvoorbeeldhead, torso, base); een algemene instructie zoalssplit into individual partswordt afgewezen. Er wordt niets in rekening gebracht. - Niet-ondersteunde inputtaak:
input_task_idmoet verwijzen naar een geslaagde taak van een ondersteund type, gegenereerd met Meshy 6 of Meshy 7. - Getextureerde input: Het inputmodel heeft textures. Voorlopig worden alleen modellen zonder textures ondersteund.
- Geen referentieafbeelding:
by_colorvereist een input die gegenereerd is vanuit een geüploade afbeelding. - Niet-ondersteund formaat:
target_formatsbevatstl. - Connector buiten bereik:
connector_sizeofconnector_heightvalt buiten0.1tot0.8.
- Ontbrekende prompt:
- Name
401 - Unauthorized- Description
Authenticatie is mislukt. Controleer je API-sleutel.
- Name
402 - Payment Required- Description
Onvoldoende credits om deze taak uit te voeren.
- Name
404 - Not Found- Description
input_task_idbestaat niet of behoort niet tot jouw account.
- Name
429 - Too Many Requests- Description
Je hebt je rate limit overschreden.
by_parts- enby_color-verzoeken delen ook een limiet voor promptverwerking van 12 verzoeken per minuut per account.
- Name
503 - Service Unavailable- Description
Op prompts gebaseerde splitsing (
by_partsenby_color) is tijdelijk niet beschikbaar. Probeer het later opnieuw, of gebruikmode: "auto", die hier niet door beïnvloed wordt. Er wordt niets in rekening gebracht.
Request
# Simple request: let Meshy choose the cuts
curl https://api.meshy.cn/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.cn/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"
}
Een Auto Split-taak ophalen
Dit endpoint haalt een Auto Split-taak op aan de hand van de ID.
Parameters
- Name
- id
- Type
- path
- Description
De ID van de Auto Split-taak die moet worden opgehaald.
Retourwaarden
Het Auto Split Task-object.
Request
curl https://api.meshy.cn/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.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.cn/***/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
}
Een Auto Split-taak verwijderen
Dit endpoint verwijdert een Auto Split-taak permanent, inclusief alle bijbehorende modellen en gegevens. Deze actie is onomkeerbaar.
Padparameters
- Name
- id
- Type
- path
- Description
De ID van de Auto Split-taak die verwijderd moet worden.
Retourwaarden
Retourneert 200 OK bij succes.
Request
curl --request DELETE \
--url https://api.meshy.cn/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Lijst met Auto Split-taken
Deze endpoint stelt je in staat om een lijst met Auto Split-taken op te halen.
Parameters
Optionele attributen
- Name
- page_num
- Type
- integer
- Description
Paginanummer voor paginering. Begint en heeft standaard de waarde
1.
- Name
- page_size
- Type
- integer
- Description
Limiet voor paginagrootte. Standaard
10items. Maximaal toegestaan is100items; hogere waarden worden begrensd op100.
- Name
- sort_by
- Type
- string
- Description
Veld om op te sorteren. Beschikbare waarden:
+created_at: Sorteer op aanmaaktijd in oplopende volgorde.-created_at: Sorteer op aanmaaktijd in aflopende volgorde.
Retourwaarden
Retourneert een gepagineerde lijst van The Auto Split Task Objects.
Request
curl https://api.meshy.cn/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.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.cn/***/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 een Auto Split-taak
Dit endpoint streamt realtime updates voor een Auto Split-taak met behulp van Server-Sent Events (SSE).
Parameters
- Name
- id
- Type
- path
- Description
Unieke identifier voor de Auto Split-taak die gestreamd moet worden.
Retourwaarden
Retourneert een stream van The Auto Split Task Objects als Server-Sent Events.
Elk message-event bevat het volledige taakobject zoals geretourneerd door Retrieve an Auto Split Task, inclusief consumed_credits, de timestamps en prompt_ignored; terwijl de taak PENDING of IN_PROGRESS is, zijn de velden die tussen frames veranderen progress, status, started_at en preceding_tasks, en model_urls, thumbnail_url, part_count en parts verschijnen zodra de taak SUCCEEDED bereikt. Een error-event bevat alleen status_code en message, dus vertak op basis van de eventnaam voordat je status uitleest.
Request
curl -N https://api.meshy.cn/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.cn/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.cn/***/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
}
Het Auto Split Taakobject
Een Auto Split-taak bevat alleen de onderstaande eigenschappen. De generatie-promptvelden die andere taakobjecten wel bevatten (name, object_prompt, texture_prompt enzovoort), de enkele model_url, en texture_urls worden nooit ingevuld voor een split en worden niet geretourneerd. Eigenschappen die tijdens het uitvoeren van de taak worden ingevuld (thumbnail_url, model_urls, de tijdstempels) zijn altijd aanwezig, leeg totdat ze een waarde hebben, dus de verzameling sleutels verandert niet tussen PENDING en SUCCEEDED.
- Name
- id
- Type
- string
- Description
Unieke identificatie voor de taak. Hoewel we als implementatiedetail een k-sorteerbare UUID gebruiken voor taak-id's, mag je geen aannames doen over het formaat van de id.
- Name
- type
- Type
- string
- Description
Type van de taak. De waarde is
print-split.
- Name
- model_urls
- Type
- object
- Description
Downloadbare URL's naar het gesplitste model, één per aangevraagd formaat. Elk onderdeel is een apart object in het bestand. De eigenschap voor een formaat wordt weggelaten als dat formaat niet is aangevraagd.
- Name
glb- Type
- string
- Description
Downloadbare URL naar het gesplitste model in GLB-formaat.
- Name
obj- Type
- string
- Description
Downloadbare URL naar het gesplitste model in OBJ-formaat.
- Name
fbx- Type
- string
- Description
Downloadbare URL naar het gesplitste model in FBX-formaat.
- Name
usdz- Type
- string
- Description
Downloadbare URL naar het gesplitste model in USDZ-formaat.
- Name
blend- Type
- string
- Description
Downloadbare URL naar het gesplitste model in Blender-formaat.
- Name
3mf- Type
- string
- Description
Downloadbare URL naar het gesplitste model in 3MF-formaat.
- Name
- thumbnail_url
- Type
- string
- Description
Downloadbare URL naar een gerenderde voorbeeldweergave van het gesplitste model, met elk onderdeel in een aparte kleur, in de aangevraagde
layout.
- Name
- prompt_ignored
- Type
- boolean
- Description
truewanneer depromptvan eenby_parts- ofby_color-verzoek geen onderdelen benoemde, waardoor Meshy het model in plaats daarvan automatisch heeft gesplitst — de onderdeelnamen in het resultaat zijn van Meshy, niet van jou. Aanwezig vanafPENDING. Weggelaten bijauto-taken en telkens wanneer de prompt is gevolgd.
- Name
- part_count
- Type
- integer
- Description
Aantal printbare onderdelen in het gesplitste model — één per object in de geëxporteerde bestanden. Ingezakte flinters die de segmentatie niet in een printbaar stuk kon omzetten, worden vóór de export uit de bestanden verwijderd en niet meegeteld.
- Name
- progress
- Type
- integer
- Description
Voortgang van de taak. Als de taak nog niet is gestart, is deze eigenschap
0. Zodra de taak is geslaagd, wordt dit100.
- Name
- status
- Type
- string
- Description
Status van de taak. Mogelijke waarden zijn
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Het aantal voorafgaande taken.
De waarde van dit veld is alleen betekenisvol als de taakstatus
PENDINGis.
- Name
- created_at
- Type
- timestamp
- Description
Tijdstempel van het moment waarop de taak is aangemaakt, in milliseconden.
- Name
- started_at
- Type
- timestamp
- Description
Tijdstempel van het moment waarop de taak is gestart, in milliseconden. Als de taak nog niet is gestart, is deze eigenschap
0.
- Name
- finished_at
- Type
- timestamp
- Description
Tijdstempel van het moment waarop de taak is voltooid, in milliseconden. Als de taak nog niet is voltooid, is deze eigenschap
0.
- Name
- task_error
- Type
- object
- Description
Foutdetails voor mislukte taken. Zie Fouten voor de volledige referentie van het
task_error-object.
- Name
- consumed_credits
- Type
- integer
- Description
Het aantal credits dat door deze taak is verbruikt. Altijd aanwezig:
10zodra de taak is geaccepteerd, en0voorFAILED-taken omdat de kosten bij falen worden terugbetaald. Het verwijderen van een taak terwijl deze nogPENDINGis, betaalt de kosten eveneens terug.
The Auto Split Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.cn/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.cn/***/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
}