Repair Printability API

Ayusin ang isang 3D na modelo 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

Create a Repair Printability Task

Ang endpoint na ito ay lumilikha ng bagong repair-printability task. Ang task na ito ay nagsasagawa ng topology repair sa isang 3D model at nagbabalik ng watertight, print-ready na bersyon.

Ang output format ay tumutugma sa input format. Kung magsusumite ka ng .stl sa pamamagitan ng model_url, ang model_urls.stl ng response ay magtataglay ng nirepair na mesh at ang ibang format fields ay mananatiling walang laman. Ang input_task_id path ay palaging nagbabasa ng GLB ng source task, kaya ang output ay .glb.

Mga Parameter

  • Name
    input_task_id
    Type
    string
    Kinakailangan
    Description

    Ang ID ng isang matagumpay na task na pagmamay-ari mo. Mga suportadong task types: Image to 3D, Multi-Image to 3D, Text to 3D, Remesh, at Retexture. Ang task ay dapat may status na SUCCEEDED at dapat ay may nagawang GLB asset.

  • Name
    model_url
    Type
    string
    Kinakailangan
    Description

    URL ng 3D model na irerepair. Mga suportadong format: .glb, .gltf, .obj, .fbx, .stl. Maximum na laki ng file: 100 MB. Dapat gumamit ng http, https, o data: URL (ang data URLs ay lumalagpas sa extension checks).

  • Name
    alpha_thumbnail
    Type
    boolean
    default false
    Description

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

Ibinabalik

Ang result property ng response ay naglalaman ng id ng bagong likhang repair-printability task.

Mga Paraan ng Kabiguan

  • Name
    400 - Bad Request
    Description

    Ang request ay hindi katanggap-tanggap. Karaniwang mga dahilan:

    • Nawawalang parameter: hindi ibinigay ang input_task_id o model_url.
    • Di-wastong UUID: ang input_task_id ay hindi wastong UUID.
    • Di-wastong model URL: ang model_url ay malformed, gumagamit ng hindi suportadong scheme, o may hindi suportadong file extension.
    • Sobrang laki ng model file: ang katawan ng model_url ay lumampas sa 100 MB.
    • Hindi matagumpay ang task: ang tinutukoy na task ay pending pa, kasalukuyang isinasagawa, o nabigo.
    • Nawawalang GLB: ang tinutukoy na task ay walang GLB asset na maaaring irepair.
  • Name
    401 - Unauthorized
    Description

    Nabigo ang authentication. Pakisuri ang iyong API key.

  • Name
    402 - Payment Required
    Description

    Karaniwang mga dahilan:

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

    Ang tinutukoy na task ay hindi umiiral o pagmamay-ari 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

I-retrieve ang Repair Printability Task

Ang endpoint na ito ay nagbabalik ng isang repair-printability task ayon 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 bloke ng model_urls hanggang maabot ng task ang SUCCEEDED. Ang field lamang na model_urls na tumutugma sa format ng input ang napupunuan.

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

Delete a Repair Printability Task

Ang endpoint na ito ay permanenteng magtatanggal ng repair-printability task at ng nagawang output nito. Ang aksyong ito ay hindi na maibabalik.

Path Parameters

  • Name
    id
    Type
    path
    Description

    Ang ID ng repair-printability task na tatanggalin.

Task Status

Ang isang task na PENDING pa ay tatanggalin at ang mga credits na nagamit noong likhain ito ay irerefund.

Ang isang task na IN_PROGRESS na ay hindi maaaring tanggalin: ang request ay tatanggihan na may 409 Conflict at magpapatuloy pa rin ang pagtakbo ng task. Ang mga credits para sa task na sinimulan na ng worker ay hindi na marerefund, kaya kung tatanggalin ito habang tumatakbo, mawawala sa iyo pareho ang credits at ang resulta. Hintayin itong umabot sa SUCCEEDED, FAILED, o CANCELED, saka tanggalin.

Ang isang task na nasa terminal state (SUCCEEDED, FAILED, o CANCELED) ay tinatanggal nang walang refund.

Returns

Nagbabalik ng 200 OK kapag matagumpay, o 409 Conflict kapag ang task ay IN_PROGRESS.

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

List Repair Printability Tasks

Ang endpoint na ito ay nagbibigay-daan sa iyo upang kunin ang isang listahan ng repair-printability tasks.

Mga Parameter

Opsyonal na mga attribute

  • Name
    page_num
    Type
    integer
    Description

    Numero ng pahina para sa pagination. Nagsisimula at ang default ay 1.

  • Name
    page_size
    Type
    integer
    Description

    Limitasyon sa laki ng pahina. Ang default ay 10 items. Ang maximum na pinapayagan ay 100 items.

  • Name
    sort_by
    Type
    string
    Description

    Field na gagamitin para sa pag-sort. Mga available na value:

    • +created_at: Isaayos ayon sa oras ng paglikha sa ascending order.
    • -created_at: Isaayos ayon sa oras ng paglikha sa descending order.

Ibinabalik

Ibinabalik ang isang paginated na listahan ng Repair Printability Task Objects.

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

I-stream ang Repair Printability Task

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

Mga Parameter

  • Name
    id
    Type
    path
    Description

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

Ibinabalik

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

Bawat frame ay may dalang buong task object para sa yugtong iyon — ang parehong anyo na ibinabalik ng Get endpoint — kaya habang ang task ay PENDING o IN_PROGRESS, ang mga output field ay hindi pa lang napopopulate (null, [] o {}) at ang finished_at ay null. Ang model_urls block ay ipapadala lamang kapag naabot na ng task ang 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.
// 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
}

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 mo dapat gawin ang 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, ito ay magiging 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Ang bilang ng mga naunang task.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp kung kailan nilikha 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 natatapos 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 karagdagang detalye.

    • Name
      message
      Type
      string
      Description

      Mensahe ng error na naglalarawan kung ano ang nagkamali.

  • Name
    model_urls
    Type
    object
    Description

    Mga downloadable URL patungo sa naayos na 3D model. Ang field lamang na tumutugma sa input format ang napupunan; ang ibang format field ay walang laman na mga string.

    • Name
      glb
      Type
      string
      Description

      Downloadable URL patungo sa naayos na GLB. Napupunan kapag ang input ay isang GLB o kapag ginamit ang input_task_id.

    • Name
      gltf
      Type
      string
      Description

      Downloadable URL patungo sa naayos na GLTF. Napupunan kapag ang input ay isang GLTF upload.

    • Name
      fbx
      Type
      string
      Description

      Downloadable URL patungo sa naayos na FBX. Napupunan kapag ang input ay isang FBX upload.

    • Name
      obj
      Type
      string
      Description

      Downloadable URL patungo sa naayos na OBJ. Napupunan kapag ang input ay isang OBJ upload.

    • Name
      stl
      Type
      string
      Description

      Downloadable URL patungo sa naayos na STL. Napupunan kapag ang input ay isang STL upload.

    • Name
      usdz
      Type
      string
      Description

      Nakalaan para sa USDZ output. Palaging walang laman na string para sa mga repair-printability task.

    • Name
      3mf
      Type
      string
      Description

      Nakalaan para sa 3MF output. Palaging walang laman na string para sa mga repair-printability task.

    • Name
      mtl
      Type
      string
      Description

      Nakalaan para sa MTL output. Palaging walang laman na string para sa mga repair-printability task.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL ng preview image na na-render mula sa naayos na modelo.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Downloadable URL patungo sa bersyon na may transparent-background (RGBA) ng thumbnail_url. Naroroon lamang kapag ang task ay nilikha na may alpha_thumbnail: true at matagumpay na na-render ang transparent na preview; kung hindi, tinatanggal ang field na ito.

  • Name
    texture_urls
    Type
    array
    Description

    Palaging isang walang laman na array. Pinapanatili lamang ng repair ang input heometriya at hindi muling nagba-bake ng mga texture.

  • Name
    consumed_credits
    Type
    integer
    Description

    Ang bilang ng credits na ginamit ng task na ito. 10 kapag naabot na ng task ang SUCCEEDED. Nagbabalik ng 0 para sa mga task na FAILED (nire-refund 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=***",
    "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
}