Repair Printability API

Ayusin ang 3D model para sa FDM printability — ayusin ang non-manifold edges, degenerate faces, mga butas, at iba pang isyu sa topology upang maging handa sa pag-print ang mesh.


POST/openapi/v1/print/repair

Gumawa ng Repair Printability Task

Lumilikha ang endpoint na ito ng bagong repair-printability task. Pinapatakbo ng task ang topology repair sa isang 3D model at nagbabalik ng watertight at handa-sa-print na bersyon.

Tumutugma ang output format sa input format. Kung magsusumite ka ng .stl sa pamamagitan ng model_url, ilalagay ng model_urls.stl ng response ang na-repair na mesh at magiging walang laman ang ibang format fields. Palaging binabasa ng input_task_id path ang GLB ng source task, kaya ang output ay .glb.

Mga parameter

  • Name
    input_task_id
    Type
    string
    Kinakailangan
    Description

    Ang ID ng isang succeeded task na pagmamay-ari mo. Mga sinusuportahang uri ng task: Image to 3D, Multi-Image to 3D, Text to 3D, Remesh, at Retexture. Dapat may status na SUCCEEDED ang task at dapat nakagawa ito ng GLB asset.

  • Name
    model_url
    Type
    string
    Kinakailangan
    Description

    URL ng 3D model na ire-repair. Mga sinusuportahang format: .glb, .stl, .obj. Maximum na laki ng file: 100 MB. Dapat gumamit ng http, https, o data: URL (nilalampasan ng data URLs ang extension checks).

  • Name
    alpha_thumbnail
    Type
    boolean
    default false
    Description

    Kapag itinakda sa true, magre-render din ang task ng transparent-background (RGBA) na bersyon ng preview at ibabalik ito bilang alpha_thumbnail_url sa GET response. Hindi nagbabago ang umiiral na field na thumbnail_url.

Nagbabalik

Naglalaman ang result property ng response ng id ng bagong likhang repair-printability task.

Mga Mode ng Pagkabigo

  • Name
    400 - Bad Request
    Description

    Hindi katanggap-tanggap ang request. Mga karaniwang sanhi:

    • Nawawalang parameter: walang ibinigay na input_task_id o model_url.
    • Invalid UUID: hindi valid na UUID ang input_task_id.
    • Invalid model URL: mali ang pagkakabuo ng model_url, gumagamit ng hindi sinusuportahang scheme, o may hindi sinusuportahang file extension.
    • Masyadong malaki ang model file: lumampas sa 100 MB ang body ng model_url.
    • Hindi succeeded ang task: pending pa rin, in progress, o failed ang nire-refer na task.
    • Nawawalang GLB: walang GLB asset na ire-repair ang nire-refer na task.
  • Name
    401 - Unauthorized
    Description

    Nabigo ang authentication. Pakisuri ang iyong API key.

  • Name
    402 - Payment Required
    Description

    Mga karaniwang sanhi:

    • Free plan: nangangailangan ng paid plan ang paggawa ng task. Mag-upgrade sa subscription page.
    • Hindi sapat na credits: naabot na ang workspace credit limit.
  • Name
    404 - Not Found
    Description

    Hindi umiiral ang nire-refer na task o pagmamay-ari ito ng ibang user.

  • Name
    429 - Too Many Requests
    Description

    Lumampas ka na sa iyong pending-task quota o rate limit.

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

Kunin ang isang Repair Printability Task

Ang endpoint na ito ay kumukuha ng Repair Printability task batay sa ID nito.

Mga Parameter

  • Name
    id
    Type
    path
    Description

    Ang ID ng Repair Printability task na kukunin.

Ibinabalik

Ang Repair Printability Task Object. Walang laman ang block na model_urls hanggang umabot ang task sa SUCCEEDED. Tanging ang field na model_urls na tumutugma sa input format ang pinupunan.

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": "",
    "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

Mag-delete ng Gawain sa Repair Printability

Permanenteng dine-delete ng endpoint na ito ang isang gawain sa Repair Printability at ang naayos nitong output. Hindi na mababawi ang aksyong ito.

Mga Path Parameter

  • Name
    id
    Type
    path
    Description

    Ang ID ng gawain sa Repair Printability na ide-delete.

Mga Ibinabalik

Nagbabalik ng 200 OK kapag matagumpay.

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

// Returns 200 Ok on success.

GET/openapi/v1/print/repair

Ilista ang mga Repair Printability Task

Pinapayagan ka ng endpoint na ito na kumuha ng listahan ng mga repair-printability task.

Mga Parameter

Mga opsyonal na attribute

  • Name
    page_num
    Type
    integer
    Description

    Numero ng pahina para sa pagination. Nagsisimula at nagde-default sa 1.

  • Name
    page_size
    Type
    integer
    Description

    Limitasyon sa laki ng pahina. Nagde-default sa 10 item. Pinakamataas na pinapayagan ay 50 item.

  • Name
    sort_by
    Type
    string
    Description

    Field na pagbabatayan ng pag-sort. Mga available na value:

    • +created_at: I-sort ayon sa oras ng paggawa sa pataas na pagkakasunod-sunod.
    • -created_at: I-sort ayon sa oras ng paggawa sa pababang pagkakasunod-sunod.

Mga Ibinabalik

Nagbabalik ng listahang may pagination ng mga Repair Printability Task Object.

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=***",
      "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

Mag-stream ng Gawain sa Repair Printability

Ang endpoint na ito ay nag-stream ng mga real-time na update para sa isang repair-printability na gawain gamit ang Server-Sent Events (SSE).

Mga Parameter

  • Name
    id
    Type
    path
    Description

    Natatanging identifier para sa repair-printability na gawain na i-stream.

Nagbabalik

Nagbabalik ng stream ng Mga Repair Printability Task Object bilang Server-Sent Events.

Para sa mga gawain na PENDING o IN_PROGRESS, isasama lang ng response stream ang kinakailangang mga field na progress at status. Ipinapadala lang ang block na model_urls kapag umabot na ang gawain sa SUCCEEDED.

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.
// 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-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=***",
    "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
}

Ang Repair Printability Task Object

  • Name
    id
    Type
    string
    Description

    Natatanging identifier para sa task. Bagama't gumagamit kami ng k-sortable UUID para sa mga task id bilang detalye ng implementasyon, hindi ka dapat gumawa ng anumang palagay tungkol sa format ng id.

  • Name
    type
    Type
    string
    Description

    Uri ng repair-printability task. Ang value ay print-repair.

  • Name
    status
    Type
    string
    Description

    Status ng task. Ang mga posibleng value ay isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress ng task. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging 0. Kapag nagtagumpay na ang task, magiging 100 ito.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Ang bilang ng mga naunang task.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp kung kailan ginawa ang task, sa milliseconds.

  • Name
    started_at
    Type
    timestamp
    Description

    Timestamp kung kailan sinimulan ang task, sa milliseconds. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Timestamp kung kailan natapos ang task, sa milliseconds. Kung hindi pa tapos ang task, ang property na ito ay magiging 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Timestamp kung kailan mag-e-expire ang resulta ng task mula sa system, sa milliseconds. 0 kung hindi pa natatapos ang task.

  • Name
    task_error
    Type
    object
    Description

    Impormasyon ng error kung nabigo ang task. Ang property na ito ay null kung hindi nabigo ang task. Tingnan ang Errors para sa higit pang detalye.

    • Name
      message
      Type
      string
      Description

      Mensahe ng error na naglalarawan kung ano ang nagkamali.

  • Name
    model_urls
    Type
    object
    Description

    Mga nada-download na URL sa na-repair na 3D model. Tanging ang field na tumutugma sa input format ang pinupunan; ang iba pang mga format field ay mga empty string.

    • Name
      glb
      Type
      string
      Description

      Nada-download na URL sa na-repair na GLB. Pinupunan kapag ang input ay GLB o kapag ginamit ang input_task_id.

    • Name
      fbx
      Type
      string
      Description

      Nakalaan para sa FBX output. Palaging empty string para sa mga repair-printability task.

    • Name
      obj
      Type
      string
      Description

      Nada-download na URL sa na-repair na OBJ. Pinupunan kapag ang input ay isang OBJ upload.

    • Name
      stl
      Type
      string
      Description

      Nada-download na URL sa na-repair na STL. Pinupunan kapag ang input ay isang STL upload.

    • Name
      usdz
      Type
      string
      Description

      Nakalaan para sa USDZ output. Palaging empty string para sa mga repair-printability task.

    • Name
      3mf
      Type
      string
      Description

      Nakalaan para sa 3MF output. Palaging empty string para sa mga repair-printability task.

    • Name
      mtl
      Type
      string
      Description

      Nakalaan para sa MTL output. Palaging empty string para sa mga repair-printability task.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL ng preview image na na-render mula sa na-repair na model.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Nada-download na URL sa transparent-background (RGBA) na bersyon ng thumbnail_url. Naroroon lamang kapag ginawa ang task gamit ang alpha_thumbnail: true at matagumpay na na-render ang transparent preview; kung hindi, inaalis ang field na ito.

  • Name
    texture_urls
    Type
    array
    Description

    Palaging empty array. Pinapanatili lamang ng repair ang input heometriya at hindi muling nagbe-bake ng mga texture.

  • Name
    consumed_credits
    Type
    integer
    Description

    Ang bilang ng credits na nakonsumo ng task na ito. 10 kapag naabot na ng task ang SUCCEEDED. Nagbabalik ng 0 para sa mga FAILED task (ibinabalik ang credits kapag nabigo).

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=***",
    "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
}