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.


POST/openapi/v1/print/repair

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

  • 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. Moet http, https, of een data:-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 als alpha_thumbnail_url in de GET-response. Het bestaande veld thumbnail_url blijft 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_id noch model_url werd opgegeven.
    • Ongeldige UUID: input_task_id is geen geldige UUID.
    • Ongeldige model-URL: model_url is onjuist gevormd, gebruikt een niet-ondersteund schema, of heeft een niet-ondersteunde bestandsextensie.
    • Modelbestand te groot: de body van model_url overschreed 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.
  • 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

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

GET/openapi/v1/print/repair/:id

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

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

DELETE/openapi/v1/print/repair/:id

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

DELETE
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f
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."
}

GET/openapi/v1/print/repair

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 10 items. Maximaal toegestaan is 100 items.

  • 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

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

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

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

GET
/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
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 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, 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. 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 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_id werd 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 met alpha_thumbnail: true en 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. 10 zodra de taak SUCCEEDED heeft bereikt. Retourneert 0 voor FAILED-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
}