Printbaarheid Analyseren API

Analyseer een 3D-model voor FDM printbaarheid — waterdichtheid, volume, gaten, niet-manifold randen, en gedegenereerde vlakken.


POST/openapi/v1/print/analyze

Maak een Printbaarheid Analyseren Taak

Deze endpoint creëert een nieuwe printbaarheid-analyseren taak. De taak evalueert een 3D-model en rapporteert zijn printbaarheidsstatistieken.

Als de invoertaak al gecachte printbaarheid heeft, is de geretourneerde taak onmiddellijk gereed en de eerste GET erop zal het analyseresultaat retourneren zonder door de worker te gaan.

Parameters

  • Name
    model_url
    Type
    string
    Verplicht
    Description

    URL van een 3D-model om te analyseren. Ondersteunde formaten: .glb, .gltf, .obj, .fbx, .stl. Maximale bestandsgrootte: 100 MB. Moet http, https, of een data: URL gebruiken (data-URL's omzeilen extensiecontroles).

Retourneert

De result eigenschap van de respons bevat de id van de nieuw gecreëerde printbaarheid-analyseren taak.

Foutmodi

  • Name
    400 - Bad Request
    Description

    Het verzoek was onacceptabel. Veelvoorkomende oorzaken:

    • Ontbrekende parameter: noch input_task_id noch model_url werd verstrekt.
    • Ongeldige UUID: input_task_id is geen geldige UUID.
    • Ongeldige model-URL: model_url is verkeerd gevormd, gebruikt een niet-ondersteund schema, of heeft een niet-ondersteunde bestandsextensie.
    • Modelbestand te groot: model_url body overschreed 100 MB.
    • Taak niet geslaagd: de verwezen taak is nog in afwachting, in progress, of mislukt.
  • Name
    401 - Unauthorized
    Description

    Authenticatie mislukt. Controleer je 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 zijn mode produceert geen 3D asset.
    • Het onderliggende modelbestand is niet langer beschikbaar in opslag.
  • Name
    429 - Too Many Requests
    Description

    Je hebt je limiet voor in afwachting zijnde taken of rate limit overschreden.

Request

POST
/openapi/v1/print/analyze
# 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"
}

GET/openapi/v1/print/analyze/:id

Haal een Printbaarheid Analyseren Taak op

Deze endpoint haalt een printbaarheid-analyseren taak op via zijn ID.

Parameters

  • Name
    id
    Type
    path
    Description

    De ID van de printbaarheid-analyseren taak om op te halen.

Retourneert

Het Printbaarheid Analyseren Taak Object. Het printability veld is null totdat de taak SUCCEEDED bereikt.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
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
}

DELETE/openapi/v1/print/analyze/:id

Een Printbaarheid Analyseren Taak Verwijderen

Deze endpoint verwijdert permanent een printbaarheid-analyseren taak en het bijbehorende gecachte resultaat. Deze actie is onomkeerbaar.

Padparameters

  • Name
    id
    Type
    path
    Description

    De ID van de printbaarheid-analyseren taak die moet worden verwijderd.

Retourneert

Retourneert 200 OK bij succes.

Request

DELETE
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 200 Ok on success.

GET/openapi/v1/print/analyze

Lijst Printbaarheid Analyseren Taken

Deze endpoint stelt je in staat om een lijst van printbaarheid-analyseren taken op te halen.

Parameters

Optionele attributen

  • Name
    page_num
    Type
    integer
    Description

    Paginanummer voor paginering. Begint en standaard op 1.

  • Name
    page_size
    Type
    integer
    Description

    Limiet voor paginagrootte. Standaard op 10 items. Maximum toegestaan is 50 items.

  • Name
    sort_by
    Type
    string
    Description

    Veld om op te sorteren. Beschikbare waarden:

    • +created_at: Sorteren op creatietijd in oplopende volgorde.
    • -created_at: Sorteren op creatietijd in aflopende volgorde.

Retourneert

Retourneert een gepagineerde lijst van Printbaarheid Analyseren Taak Objecten.

Request

GET
/openapi/v1/print/analyze
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
  }
]

GET/openapi/v1/print/analyze/:id/stream

Stream een Printbaarheid Analyseren Taak

Deze endpoint streamt real-time updates voor een printbaarheid analyseren taak met behulp van Server-Sent Events (SSE).

Parameters

  • Name
    id
    Type
    path
    Description

    Unieke identificatie voor de printbaarheid analyseren taak om te streamen.

Retourneert

Retourneert een stream van Printbaarheid Analyseren Taak Objecten als Server-Sent Events.

Voor PENDING of IN_PROGRESS taken, zal de responsstream alleen de noodzakelijke progress en status velden bevatten. Het printability blok wordt alleen verzonden zodra de taak SUCCEEDED bereikt.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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 Printbaarheid Analyseren Taakobject

  • Name
    id
    Type
    string
    Description

    Unieke identificatie voor de taak. Hoewel we een k-sortable UUID gebruiken voor taak-ID's als implementatiedetail, moet je geen aannames maken over het formaat van de ID.

  • Name
    type
    Type
    string
    Description

    Type van de printbaarheid-analyseren 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

    Voortgang van de taak. Als de taak nog niet is gestart, zal deze eigenschap 0 zijn. Zodra de taak is geslaagd, wordt dit 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Het aantal voorafgaande taken.

  • 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, zal deze eigenschap 0 zijn.

  • Name
    finished_at
    Type
    timestamp
    Description

    Tijdstempel van wanneer de taak is voltooid, in milliseconden. Als de taak nog niet is voltooid, zal deze eigenschap 0 zijn.

  • Name
    expires_at
    Type
    timestamp
    Description

    Tijdstempel van wanneer het taakresultaat uit het systeem zal verlopen, in milliseconden. 0 als de taak nog niet is voltooid.

  • Name
    task_error
    Type
    object
    Description

    Foutinformatie als de taak is mislukt. Deze eigenschap is null als 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

    Evaluatieresultaat van de printbaarheid. null totdat de taak SUCCEEDED bereikt.

    • Name
      _version
      Type
      string
      Description

      Schema versie van het printbaarheid resultaat. Momenteel v1.

    • Name
      status
      Type
      string
      Description

      Algemene status. Een van:

      • healthy: geen fouten en geen waarschuwingen.
      • warning: ten minste één waarschuwing, geen fouten.
      • error: ten minste éé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 opgeworpen wanneer het model niet waterdicht is, geen positieve volume heeft, of niet-manifold randen heeft.

    • Name
      warning_count
      Type
      integer
      Description

      Aantal problemen op waarschuwingsniveau. Waarschuwingen worden opgeworpen wanneer het model gedegenereerde vlakken of gaten bevat.

    • Name
      metrics
      Type
      object
      Description

      Ruwe geometrie metrics geretourneerd door de evaluator.

      • Name
        is_watertight
        Type
        boolean
        Description

        true wanneer de mesh geen grensranden 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 (nul-oppervlakte of ongeldige vlakken).

      • Name
        holes
        Type
        integer
        Description

        Aantal gaten (grenslussen) 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.

Het Printbaarheid Analyseren Taakobject

{
  "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
}