Analysera utskrivbarhet API

Analysera en 3D-modell för utskrivbarhet med FDM — vattentäthet, volym, hål, non-manifold-kanter och degenererade ytor.


POST/openapi/v1/print/analyze

Skapa en Analysera utskrivbarhet-uppgift

Denna endpoint skapar en ny uppgift för Analysera utskrivbarhet. Uppgiften utvärderar en 3D-modell och rapporterar dess mått för utskrivbarhet.

Om inmatningsuppgiften redan har cachelagrad utskrivbarhet är den returnerade uppgiften omedelbart klar, och den första GET på den returnerar analysresultatet utan att gå via arbetaren.

Parametrar

  • Name
    model_url
    Type
    string
    Obligatorisk
    Description

    URL till en 3D-modell som ska analyseras. Stödda format: .glb, .gltf, .obj, .fbx, .stl. Maximal filstorlek: 100 MB. Måste använda http, https eller en data:-URL (data-URL:er kringgår kontroller av filändelser).

Returnerar

Egenskapen result i svaret innehåller id för den nyligen skapade uppgiften för Analysera utskrivbarhet.

Fellägen

  • Name
    400 - Bad Request
    Description

    Begäran var oacceptabel. Vanliga orsaker:

    • Saknad parameter: varken input_task_id eller model_url angavs.
    • Ogiltig UUID: input_task_id är inte en giltig UUID.
    • Ogiltig modell-URL: model_url är felaktigt formad, använder ett schema som inte stöds eller har en filändelse som inte stöds.
    • Modellfilen är för stor: model_url-innehållet överskred 100 MB.
    • Uppgiften är inte slutförd: den refererade uppgiften väntar fortfarande, har progress eller har misslyckats.
  • Name
    401 - Unauthorized
    Description

    Autentisering misslyckades. Kontrollera din API-nyckel.

  • Name
    403 - Forbidden
    Description

    Uppgiften finns men ägs av en annan användare.

  • Name
    404 - Not Found
    Description

    Vanliga orsaker:

    • Uppgiften finns inte eller har tagits bort.
    • Uppgiften använder en modell som är äldre än Meshy 6, eller dess mode producerar inte en 3D-asset.
    • Den underliggande modellfilen är inte längre tillgänglig i lagringen.
  • Name
    429 - Too Many Requests
    Description

    Du har överskridit din kvot för väntande uppgifter eller din hastighetsgräns.

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

Hämta en uppgift för Analysera utskrivbarhet

Denna endpoint hämtar en analysera-utskrivbarhet-uppgift via dess ID.

Parametrar

  • Name
    id
    Type
    path
    Description

    ID:t för analysera-utskrivbarhet-uppgiften som ska hämtas.

Returnerar

Objektet Analysera utskrivbarhet-uppgift. Fältet printability är null tills uppgiften når SUCCEEDED.

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

Ta bort en Analysera utskrivbarhet-uppgift

Denna endpoint tar permanent bort en Analysera utskrivbarhet-uppgift och dess cachade resultat. Denna åtgärd är oåterkallelig.

Sökvägsparametrar

  • Name
    id
    Type
    path
    Description

    ID:t för Analysera utskrivbarhet-uppgiften som ska tas bort.

Returnerar

Returnerar 200 OK vid lyckat resultat.

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

Lista Analysera utskrivbarhet-uppgifter

Denna endpoint låter dig hämta en lista över uppgifter för Analysera utskrivbarhet.

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 10 objekt. Högsta tillåtna är 50 objekt.

  • 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 över Objekt för Analysera utskrivbarhet-uppgift.

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

Strömma en Analysera utskrivbarhet-uppgift

Denna endpoint strömmar realtidsuppdateringar för en analysera utskrivbarhet-uppgift med Server-Sent Events (SSE).

Parametrar

  • Name
    id
    Type
    path
    Description

    Unik identifierare för analysera utskrivbarhet-uppgiften som ska strömmas.

Returnerar

Returnerar en ström av Analysera utskrivbarhet-uppgiftsobjekt som Server-Sent Events.

För PENDING- eller IN_PROGRESS-uppgifter kommer svarsströmmen endast att inkludera de nödvändiga fälten progress och status. Blocket printability skickas först när uppgiften når SUCCEEDED.

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
}

Uppgiftsobjektet Analysera utskrivbarhet

  • Name
    id
    Type
    string
    Description

    Unik identifierare för uppgiften. Även om vi använder ett k-sorterbart UUID för uppgifts-id:n som en implementationsdetalj bör du inte göra några antaganden om id:ts format.

  • Name
    type
    Type
    string
    Description

    Typ av uppgift för analysera-utskrivbarhet. Värdet är print-analyze.

  • Name
    status
    Type
    string
    Description

    Uppgiftens status. Möjliga värden är ett av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress för uppgiften. Om uppgiften ännu inte har startats kommer den här egenskapen att vara 0. När uppgiften har lyckats blir den 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Antalet föregående uppgifter.

  • 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 ännu inte har startats kommer den här egenskapen att vara 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiften slutfördes, i millisekunder. Om uppgiften ännu inte har slutförts kommer den här egenskapen att vara 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiftsresultatet upphör att gälla i systemet, i millisekunder. 0 om uppgiften ännu inte har slutförts.

  • Name
    task_error
    Type
    object
    Description

    Felinformation om uppgiften har misslyckats. Den här egenskapen är null om uppgiften inte har misslyckats. Se Fel för mer information.

    • Name
      message
      Type
      string
      Description

      Felmeddelande som beskriver vad som gick fel.

  • Name
    printability
    Type
    object
    Description

    Utvärderingsresultat för utskrivbarhet. null tills uppgiften når SUCCEEDED.

    • Name
      _version
      Type
      string
      Description

      Schemaversion för resultatet för utskrivbarhet. För närvarande v1.

    • Name
      status
      Type
      string
      Description

      Övergripande status. Ett av:

      • healthy: inga fel och inga varningar.
      • warning: minst en varning, inga fel.
      • error: minst ett fel.
      • unknown: modellen kunde inte analyseras.
    • Name
      issue_count
      Type
      integer
      Description

      Totalt antal problem, lika med error_count + warning_count.

    • Name
      error_count
      Type
      integer
      Description

      Antal problem på felnivå. Fel genereras när modellen inte är vattentät, har icke-positiv volym eller har non-manifold-kanter.

    • Name
      warning_count
      Type
      integer
      Description

      Antal problem på varningsnivå. Varningar genereras när modellen innehåller degenererade ytor eller hål.

    • Name
      metrics
      Type
      object
      Description

      Råa geometri-mått som returneras av utvärderaren.

      • Name
        is_watertight
        Type
        boolean
        Description

        true när nätet (mesh) inte har några begränsningskanter (dvs. är stängt).

      • Name
        volume
        Type
        number
        Description

        Modellens volym i kubikmeter.

      • Name
        non_manifold_edges
        Type
        integer
        Description

        Antal non-manifold-kanter.

      • Name
        degenerate_faces
        Type
        integer
        Description

        Antal degenererade ytor (ytor med nollarea eller ogiltiga ytor).

      • Name
        holes
        Type
        integer
        Description

        Antal hål (begränsningsslingor) i nätet (mesh).

    • Name
      evaluated_at
      Type
      timestamp
      Description

      Tidsstämpel för när analysen beräknades, i millisekunder sedan epoch.

  • Name
    consumed_credits
    Type
    integer
    Description

    Alltid 0. Den här endpointen är 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
}