Printbaarheid analyseren API
Analyseer een 3D-model op FDM-printbaarheid — waterdichtheid, volume, gaten, niet-manifold randen en gedegenereerde vlakken.
Analyseer-printbaarheid-taak aanmaken
Deze endpoint maakt een nieuwe analyseer-printbaarheid-taak aan. De taak evalueert een 3D-model en rapporteert de printbaarheidsstatistieken ervan.
Als de invoertaak al gecachete printbaarheid heeft, is de geretourneerde taak onmiddellijk klaar en zal de eerste GET erop het analyseresultaat teruggeven zonder via de worker te gaan.
Parameters
Slechts één van input_task_id of model_url is verplicht. Als beide worden opgegeven, krijgt input_task_id prioriteit.
- Name
- input_task_id
- Type
- string
- Verplicht
- Description
De ID van een geslaagde taak die u bezit. Ondersteunde taaktypen: Afbeelding naar 3D, Multi-afbeelding naar 3D, Tekst naar 3D, Remesh, en Hertextureren. De taak moet Meshy 6 of nieuwer gebruiken (inclusief Meshy 7) en moet de status
SUCCEEDEDhebben.
- Name
- model_url
- Type
- string
- Verplicht
- Description
URL van een te analyseren 3D-model. Ondersteunde formaten:
.glb,.gltf,.obj,.fbx,.stl. Maximale bestandsgrootte: 100 MB. Moet gebruikmaken vanhttp,https, of eendata:URL (data-URL's omzeilen extensiecontroles).
Retourwaarden
De result-eigenschap van de respons bevat de id van de nieuw aangemaakte analyseer-printbaarheid-taak.
Foutmodi
- 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 misvormd, gebruikt een niet-ondersteund schema, of heeft een niet-ondersteunde bestandsextensie. - Modelbestand te groot: de inhoud van
model_urloverschreed 100 MB. - Taak niet geslaagd: de referentietaak is nog in behandeling, in uitvoering, of mislukt.
- Ontbrekende parameter: noch
- Name
401 - Unauthorized- Description
Authenticatie is mislukt. Controleer uw API-sleutel.
- Name
403 - Forbidden- Description
De taak bestaat, maar is eigendom van een andere gebruiker.
- Name
404 - Not Found- Description
Veelvoorkomende oorzaken:
- De taak bestaat niet of is verwijderd.
- De taak gebruikt een model ouder dan Meshy 6, of de mode ervan produceert geen 3D-asset.
- Het onderliggende modelbestand is niet meer beschikbaar in de opslag.
- Name
429 - Too Many Requests- Description
U heeft uw quotum voor in behandeling zijnde taken of uw rate limit overschreden.
Request
# Analyze an existing task
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or analyze a model URL directly
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Retrieve an Analyze Printability Task
Deze endpoint haalt een analyze-printability-taak op aan de hand van de ID.
Parameters
- Name
- id
- Type
- path
- Description
De ID van de analyze-printability-taak die moet worden opgehaald.
Retourwaarden
Het Analyze Printability Task Object. Het veld printability is null totdat de taak SUCCEEDED bereikt.
Request
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
Een taak voor Printbaarheid analyseren verwijderen
Deze endpoint verwijdert een analyze-printability-taak en het bijbehorende gecachte resultaat permanent. Deze actie is onomkeerbaar.
Padparameters
- Name
- id
- Type
- path
- Description
De ID van de analyze-printability-taak die verwijderd moet worden.
Taakstatus
Een taak die zich nog in de status PENDING bevindt, 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 doorlopen. Credits voor
een taak die de worker al is gestart, worden niet terugbetaald, dus als je
deze halverwege verwijdert, ben je zowel de credits als het resultaat kwijt.
Wacht tot de taak SUCCEEDED, FAILED of CANCELED bereikt en verwijder
hem dan.
Een taak in een eindstatus (SUCCEEDED, FAILED of CANCELED) wordt
verwijderd zonder terugbetaling.
Retourneert
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/analyze/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 printbaarheidsanalyse-taken ophalen
Met deze endpoint kun je een lijst van printbaarheidsanalyse-taken ophalen.
Parameters
Optionele attributen
- Name
- page_num
- Type
- integer
- Description
Paginanummer voor paginering. Begint bij en heeft als 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.
Retourneert
Retourneert een gepagineerde lijst van Analyze Printability Task-objecten.
Request
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
]
Stream een Printbaarheid analyseren-taak
Deze endpoint streamt realtime updates voor een printbaarheid-analysetaak met behulp van Server-Sent Events (SSE).
Parameters
- Name
- id
- Type
- path
- Description
Unieke identifier voor de printbaarheid-analysetaak die gestreamd moet worden.
Retourneert
Retourneert een stream van Analyze Printability Task Objects als Server-Sent Events.
Elk frame bevat het volledige taakobject voor de fase — dezelfde vorm die de
Get-endpoint retourneert — dus terwijl de taak PENDING of IN_PROGRESS is, zijn de
outputvelden simpelweg nog niet ingevuld (null, [] of {}) en is
finished_at gelijk aan null. Het printability-blok wordt pas verzonden zodra de taak SUCCEEDED bereikt.
Request
curl -N https://api.meshy.ai/openapi/v1/print/analyze/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-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
Het Analyze Printability Taakobject
- Name
- id
- Type
- string
- Description
Unieke identifier voor de taak. Hoewel we een k-sortable UUID gebruiken voor taak-id's als implementatiedetail, moet je geen aannames doen over het formaat van de id.
- Name
- type
- Type
- string
- Description
Type van de analyze-printability-taak. De waarde is
print-analyze.
- Name
- status
- Type
- string
- Description
Status van de taak. Mogelijke waarden zijn een van
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- progress
- Type
- integer
- Description
Progress 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 misging.
- Name
- printability
- Type
- object
- Description
Resultaat van de printbaarheidsevaluatie.
nulltotdat de taakSUCCEEDEDbereikt.- Name
_version- Type
- string
- Description
Schemaversie van het printbaarheidsresultaat. Momenteel
v1.
- Name
status- Type
- string
- Description
Algemene status. Een van:
healthy: geen fouten en geen waarschuwingen.warning: minstens één waarschuwing, geen fouten.error: minstens één fout.unknown: het model kon niet worden geanalyseerd.
- Name
issue_count- Type
- integer
- Description
Totaal aantal problemen, gelijk aan
error_count + warning_count.
- Name
error_count- Type
- integer
- Description
Aantal problemen op foutniveau. Fouten worden gegenereerd wanneer het model niet waterdicht is, een niet-positief volume heeft, of niet-manifold randen heeft.
- Name
warning_count- Type
- integer
- Description
Aantal problemen op waarschuwingsniveau. Waarschuwingen worden gegenereerd wanneer het model gedegenereerde vlakken of gaten bevat.
- Name
metrics- Type
- object
- Description
Ruwe geometriemetriek geretourneerd door de evaluator.
- Name
is_watertight- Type
- boolean
- Description
truewanneer de mesh geen randlijnen heeft (d.w.z. gesloten is).
- Name
volume- Type
- number
- Description
Volume van het model in kubieke meters.
- Name
non_manifold_edges- Type
- integer
- Description
Aantal niet-manifold randen.
- Name
degenerate_faces- Type
- integer
- Description
Aantal gedegenereerde vlakken (vlakken met oppervlakte nul of ongeldige vlakken).
- Name
holes- Type
- integer
- Description
Aantal gaten (randlussen) in de mesh.
- Name
evaluated_at- Type
- timestamp
- Description
Tijdstempel van wanneer de analyse is berekend, in milliseconden sinds epoch.
- Name
- consumed_credits
- Type
- integer
- Description
Altijd
0. Deze endpoint is gratis.
The Analyze Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}