Printbaarheid repareren API
Repareer een 3D-model voor FDM-printbaarheid — herstel niet-manifold randen, gedegenereerde vlakken, gaten en andere topology-problemen zodat de mesh print-klaar is.
Een Printbaarheid repareren-taak aanmaken
Deze endpoint maakt een nieuwe repair-printability-taak aan. De taak voert topology-reparatie uit op een 3D-model en levert een waterdichte, printklare versie op.
Het uitvoerformaat komt overeen met het invoerformaat. Als u een .stl indient via model_url, bevat model_urls.stl van de response de gerepareerde mesh en blijven de andere formaatvelden leeg. Het input_task_id-pad leest altijd de GLB van de brontaak, dus de uitvoer is .glb.
Parameters
Slechts één van input_task_id of model_url is verplicht. Als beide worden opgegeven, heeft input_task_id prioriteit.
Bestaande texturen worden tijdens de reparatie verwijderd vanwege geometrieveranderingen. Gebruik de Retexture API op het gerepareerde model om texturen weer toe te voegen.
- Name
- input_task_id
- Type
- string
- Verplicht
- Description
Het ID van een geslaagde taak die u bezit. Ondersteunde taaktypes: Afbeelding naar 3D, Multi-afbeelding naar 3D, Tekst naar 3D, Remesh, en Hertextureren. De taak moet de status
SUCCEEDEDhebben en moet een GLB-asset hebben opgeleverd.
- Name
- model_url
- Type
- string
- Verplicht
- Description
URL van een te repareren 3D-model. Ondersteunde formaten:
.glb,.gltf,.obj,.fbx,.stl. Maximale bestandsgrootte: 100 MB. Moethttp,https, of eendata:-URL gebruiken (data-URL's omzeilen extensiecontroles).
- Name
- alpha_thumbnail
- Type
- boolean
- standaard false
- Description
Wanneer ingesteld op
true, rendert de taak bovendien een versie van de preview met transparante achtergrond (RGBA) en geeft deze terug alsalpha_thumbnail_urlin de GET-response. Het bestaande veldthumbnail_urlblijft ongewijzigd.
Retourneert
De result-eigenschap van de response bevat het id van de nieuw aangemaakte repair-printability-taak.
Faalmodi
- Name
400 - Bad Request- Description
Het verzoek was onaanvaardbaar. Veelvoorkomende oorzaken:
- Ontbrekende parameter: noch
input_task_idnochmodel_urlwerd opgegeven. - Ongeldige UUID:
input_task_idis geen geldige UUID. - Ongeldige model-URL:
model_urlis onjuist gevormd, gebruikt een niet-ondersteund schema, of heeft een niet-ondersteunde bestandsextensie. - Modelbestand te groot: de body van
model_urloverschreed 100 MB. - Taak niet geslaagd: de gerefereerde taak is nog in behandeling, wordt uitgevoerd, of is mislukt.
- Ontbrekende GLB: de gerefereerde taak heeft geen GLB-asset om te repareren.
- Ontbrekende parameter: noch
- Name
401 - Unauthorized- Description
Authenticatie is mislukt. Controleer uw API-sleutel.
- Name
402 - Payment Required- Description
Veelvoorkomende oorzaken:
- Gratis abonnement: het aanmaken van taken vereist een betaald abonnement. Upgrade op de abonnementspagina.
- Onvoldoende credits: de creditlimiet van de werkruimte is bereikt.
- Name
404 - Not Found- Description
De gerefereerde taak bestaat niet of is eigendom van een andere gebruiker.
- Name
429 - Too Many Requests- Description
U heeft uw quotum voor lopende taken of uw rate limit overschreden.
Request
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.stl"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Een Printbaarheid repareren-taak ophalen
Deze endpoint haalt een repair-printability-taak op aan de hand van het ID.
Parameters
- Name
- id
- Type
- path
- Description
Het ID van de repair-printability-taak die moet worden opgehaald.
Retourneert
Het Repair Printability Task Object. Het model_urls-blok is leeg totdat de taak SUCCEEDED bereikt. Alleen het model_urls-veld dat overeenkomt met het invoerformaat wordt ingevuld.
Request
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
Een taak voor het repareren van printbaarheid verwijderen
Deze endpoint verwijdert een taak voor het repareren van printbaarheid en de bijbehorende gerepareerde uitvoer permanent. Deze actie is onomkeerbaar.
Padparameters
- Name
- id
- Type
- path
- Description
De ID van de taak voor het repareren van printbaarheid die moet worden verwijderd.
Taakstatus
Een taak die nog PENDING is, wordt verwijderd en de credits die bij het
aanmaken zijn verbruikt, worden terugbetaald.
Een taak die al IN_PROGRESS is, kan niet worden verwijderd: het verzoek wordt
afgewezen met 409 Conflict en de taak blijft actief. Credits voor een taak
waarvoor de worker al is gestart, worden niet terugbetaald, dus het verwijderen
ervan tijdens de uitvoering zou u zowel de credits als het resultaat kosten.
Wacht tot deze de status SUCCEEDED, FAILED of CANCELED bereikt en
verwijder de taak dan.
Een taak in een eindstatus (SUCCEEDED, FAILED of CANCELED) wordt
verwijderd zonder terugbetaling.
Retourwaarden
Retourneert 200 OK bij succes, of 409 Conflict wanneer de taak
IN_PROGRESS is.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/repair/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."
}
Lijst van printbaarheid repareren-taken opvragen
Deze endpoint stelt u in staat om een lijst van printbaarheid repareren-taken op te vragen.
Parameters
Optionele attributen
- Name
- page_num
- Type
- integer
- Description
Paginanummer voor paginering. Begint bij en heeft standaardwaarde
1.
- Name
- page_size
- Type
- integer
- Description
Limiet voor paginagrootte. Standaard
10items. Maximaal toegestaan is100items.
- 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.
Resultaten
Geeft een gepagineerde lijst van Printbaarheid repareren-taakobjecten terug.
Request
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
]
Stream een Printbaarheid repareren-taak
Deze endpoint streamt realtime updates voor een printbaarheid-repareren-taak met behulp van Server-Sent Events (SSE).
Parameters
- Name
- id
- Type
- path
- Description
Unieke identificatie voor de printbaarheid-repareren-taak die gestreamd moet worden.
Resultaat
Retourneert een stream van Printbaarheid repareren-taakobjecten als Server-Sent Events.
Elk frame bevat het volledige taakobject voor die fase — dezelfde vorm die
de Get-endpoint retourneert — dus zolang de taak PENDING of IN_PROGRESS is,
zijn de uitvoervelden simpelweg nog niet ingevuld (null, [] of {}) en
is finished_at gelijk aan null. Het blok model_urls wordt pas verzonden zodra de taak SUCCEEDED bereikt.
Request
curl -N https://api.meshy.ai/openapi/v1/print/repair/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.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
The Repair Printability Task Object
- Name
- id
- Type
- string
- Description
Unieke identificatie voor de taak. Hoewel we een k-sorteerbare UUID gebruiken voor taak-id's als implementatiedetail, mag je geen aannames doen over het formaat van de id.
- Name
- type
- Type
- string
- Description
Type van de taak voor het repareren van printbaarheid. De waarde is
print-repair.
- Name
- status
- Type
- string
- Description
Status van de taak. Mogelijke waarden zijn
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- 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
- preceding_tasks
- Type
- integer
- Description
Het aantal voorafgaande taken.
De waarde van dit veld is alleen relevant als de taakstatus
PENDINGis.
- Name
- created_at
- Type
- timestamp
- Description
Tijdstempel van wanneer de taak is aangemaakt, in milliseconden.
- Name
- started_at
- Type
- timestamp
- Description
Tijdstempel van wanneer 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 wanneer de taak is voltooid, in milliseconden. Als de taak nog niet is voltooid, is deze eigenschap
0.
- Name
- expires_at
- Type
- timestamp
- Description
Tijdstempel van wanneer het taakresultaat uit het systeem verloopt, in milliseconden.
0als de taak nog niet is voltooid.
- Name
- task_error
- Type
- object
- Description
Foutinformatie als de taak is mislukt. Deze eigenschap is
nullals de taak niet is mislukt. Zie Fouten voor meer details.- Name
message- Type
- string
- Description
Foutmelding die beschrijft wat er is misgegaan.
- Name
- model_urls
- Type
- object
- Description
Downloadbare URL's naar het gerepareerde 3D-model. Alleen het veld dat overeenkomt met het invoerformaat wordt gevuld; de overige formaatvelden zijn lege strings.
- Name
glb- Type
- string
- Description
Downloadbare URL naar de gerepareerde GLB. Wordt gevuld wanneer de invoer een GLB was of wanneer
input_task_idwerd gebruikt.
- Name
gltf- Type
- string
- Description
Downloadbare URL naar de gerepareerde GLTF. Wordt gevuld wanneer de invoer een geüploade GLTF was.
- Name
fbx- Type
- string
- Description
Downloadbare URL naar de gerepareerde FBX. Wordt gevuld wanneer de invoer een geüploade FBX was.
- Name
obj- Type
- string
- Description
Downloadbare URL naar de gerepareerde OBJ. Wordt gevuld wanneer de invoer een geüploade OBJ was.
- Name
stl- Type
- string
- Description
Downloadbare URL naar de gerepareerde STL. Wordt gevuld wanneer de invoer een geüploade STL was.
- Name
usdz- Type
- string
- Description
Gereserveerd voor USDZ-uitvoer. Altijd een lege string voor taken voor het repareren van printbaarheid.
- Name
3mf- Type
- string
- Description
Gereserveerd voor 3MF-uitvoer. Altijd een lege string voor taken voor het repareren van printbaarheid.
- Name
mtl- Type
- string
- Description
Gereserveerd voor MTL-uitvoer. Altijd een lege string voor taken voor het repareren van printbaarheid.
- Name
- thumbnail_url
- Type
- string
- Description
URL van een voorbeeldafbeelding gerenderd op basis van het gerepareerde model.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
Downloadbare URL naar een versie met transparante achtergrond (RGBA) van
thumbnail_url. Alleen aanwezig wanneer de taak is aangemaakt metalpha_thumbnail: trueen het transparante voorbeeld succesvol is gerenderd; anders wordt dit veld weggelaten.
- Name
- texture_urls
- Type
- array
- Description
Altijd een lege array. Repareren behoudt alleen de invoergeometrie en bakt geen texturen opnieuw.
- Name
- consumed_credits
- Type
- integer
- Description
Het aantal credits dat door deze taak is verbruikt.
10zodra de taakSUCCEEDEDheeft bereikt. Retourneert0voorFAILED-taken (credits worden bij mislukking terugbetaald).
The Repair Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}