Analysera utskrivbarhet API

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


POST/openapi/v1/print/analyze

Skapa en Analysera utskrivbarhet-uppgift

Detta endpoint skapar en ny analysera-utskrivbarhet-uppgift. Uppgiften utvärderar en 3D-modell och rapporterar dess utskrivbarhetsmått.

Om indatauppgiften redan har cachad utskrivbarhet är den returnerade uppgiften omedelbart redo och den första GET på den kommer att returnera analysresultatet utan att gå igenom arbetaren.

Parametrar

  • Name
    model_url
    Type
    string
    Obligatorisk
    Description

    URL till en 3D-modell att analysera. 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 tilläggskontroller).

Returnerar

result-egenskapen i svaret innehåller id för den nyligen skapade analysera-utskrivbarhet-uppgiften.

Feltyper

  • Name
    400 - Bad Request
    Description

    Begäran var oacceptabel. Vanliga orsaker:

    • Saknad parameter: varken input_task_id eller model_url tillhandahölls.
    • Ogiltig UUID: input_task_id är inte en giltig UUID.
    • Ogiltig modell-URL: model_url är felaktigt formaterad, använder ett icke-stött schema, eller har en icke-stött filändelse.
    • Modellfil för stor: model_url-kroppen överskred 100 MB.
    • Uppgift inte lyckad: den refererade uppgiften väntar fortfarande, är under bearbetning, eller misslyckades.
  • 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 raderats.
    • Uppgiften använder en modell äldre än Meshy 6, eller dess mode producerar inte en 3D-tillgång.
    • Den underliggande modelfilen ä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 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 Analysera Utskrivbarhet-uppgift

Detta endpoint hämtar en analysera-utskrivbarhet-uppgift med dess ID.

Parametrar

  • Name
    id
    Type
    path
    Description

    ID för den analysera-utskrivbarhet-uppgift som ska hämtas.

Returnerar

Analysera Utskrivbarhet-uppgiftsobjektet. Fältet utskrivbarhet ä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

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

Sökvägsparametrar

  • Name
    id
    Type
    path
    Description

    ID för den analysera utskrivbarhet-uppgift som ska tas bort.

Returnerar

Returnerar 200 OK vid framgång.

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

Detta endpoint låter dig hämta en lista över analysera-utskrivbarhet-uppgifter.

Parametrar

Valfria attribut

  • Name
    page_num
    Type
    integer
    Description

    Sidnummer för paginering. Börjar och standard är 1.

  • Name
    page_size
    Type
    integer
    Description

    Sidstorleksgräns. Standard är 10 objekt. Max tillåtet ä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 Analysera utskrivbarhet-uppgiftsobjekt.

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 hjälp av Server-Sent Events (SSE).

Parametrar

  • Name
    id
    Type
    path
    Description

    Unik identifierare för den analysera-utskrivbarhet-uppgift 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 svarströmmen endast att inkludera de nödvändiga progress och status fälten. utskrivbarhet blocket skickas endast 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
}

Objektet för Analysera utskrivbarhet-uppgiften

  • Name
    id
    Type
    string
    Description

    Unik identifierare för uppgiften. Även om vi använder en k-sorterbar UUID för uppgifts-id som implementeringsdetalj, bör du inte göra några antaganden om formatet på id.

  • Name
    type
    Type
    string
    Description

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

  • Name
    status
    Type
    string
    Description

    Status för uppgiften. Möjliga värden är en av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Framsteg för uppgiften. Om uppgiften inte har startat ännu, kommer denna egenskap att vara 0. När uppgiften har lyckats, kommer detta att bli 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 inte har startat ännu, kommer denna egenskap att vara 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiften avslutades, i millisekunder. Om uppgiften inte har avslutats ännu, kommer denna egenskap att vara 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiftsresultatet kommer att förfalla från systemet, i millisekunder. 0 om uppgiften ännu inte har avslutats.

  • Name
    task_error
    Type
    object
    Description

    Felinformation om uppgiften har misslyckats. Denna egenskap ä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

    Utskrivbarhetsutvärderingsresultat. null tills uppgiften når SUCCEEDED.

    • Name
      _version
      Type
      string
      Description

      Schemat för utskrivbarhetsresultatet. För närvarande v1.

    • Name
      status
      Type
      string
      Description

      Övergripande status. En 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å fel-nivå. Fel uppstår 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 uppstår när modellen innehåller degenererade ytor eller hål.

    • Name
      metrics
      Type
      object
      Description

      Råa geometrimetriker returnerade av utvärderaren.

      • Name
        is_watertight
        Type
        boolean
        Description

        true när nätet inte har några gränskanter (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 (noll-område eller ogiltiga ytor).

      • Name
        holes
        Type
        integer
        Description

        Antal hål (gränsslingor) i nätet.

    • Name
      evaluated_at
      Type
      timestamp
      Description

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

  • Name
    consumed_credits
    Type
    integer
    Description

    Alltid 0. Denna endpoint är gratis.

Objektet för Analysera utskrivbarhet-uppgiften

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