Repair Printability API

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


POST/openapi/v1/print/repair

Gumawa ng Repair Printability Task

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

Ang format ng output ay tumutugma sa format ng input. Kung mag-submit ka ng .stl sa pamamagitan ng model_url, ang model_urls.stl ng tugon ay maglalaman ng na-repair na mesh at ang iba pang mga field ng format ay magiging 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 nagtagumpay na task na pagmamay-ari mo. Sinusuportahang mga uri ng task: Image to 3D, Multi-Image to 3D, Text to 3D, Remesh, at Retexture. Ang task ay dapat may status na SUCCEEDED at dapat nakagawa ng GLB asset.

  • Name
    model_url
    Type
    string
    Kinakailangan
    Description

    URL ng isang 3D model na aayusin. Sinusuportahang mga format: .glb, .gltf, .obj, .fbx, .stl. Maximum na laki ng file: 100 MB. Dapat gumamit ng http, https, o isang data: URL (ang mga data URL ay nagbypass sa mga extension check).

  • Name
    alpha_thumbnail
    Type
    boolean
    default false
    Description

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

Mga Ibinabalik

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

Mga Mode ng Pagkabigo

  • Name
    400 - Bad Request
    Description

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

    • Nawawalang parameter: wala sa input_task_id o model_url ang ibinigay.
    • Di-wastong UUID: ang input_task_id ay hindi wastong UUID.
    • Di-wastong model URL: ang model_url ay mali ang pagkakabuo, 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.
    • Task hindi nagtagumpay: ang tinutukoy na task ay nasa pending pa, nasa progress, o nabigo.
    • Nawawalang GLB: ang tinutukoy na task ay walang GLB asset na aayusin.
  • Name
    401 - Unauthorized
    Description

    Nabigo ang authentication. Pakisuri ang iyong API key.

  • Name
    402 - Payment Required
    Description

    Karaniwang mga sanhi:

    • Libreng plano: ang paglikha ng task ay nangangailangan ng bayad na plano. Mag-upgrade sa subscription page.
    • Kulang na credits: naabot na ang limitasyon ng credits 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

Kunin ang isang Repair Printability Task

Ang endpoint na ito ay kumukuha ng isang repair-printability task gamit ang ID nito.

Mga Parameter

  • Name
    id
    Type
    path
    Description

    Ang ID ng repair-printability task na kukunin.

Mga Ibinabalik

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

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

Burahin ang Repair Printability Task

Ang endpoint na ito ay permanenteng bubura ng isang repair-printability task at ang na-repair na output nito. Ang aksyong ito ay hindi na mababawi.

Mga Parameter ng Path

  • Name
    id
    Type
    path
    Description

    Ang ID ng repair-printability task na buburahin.

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

Listahan ng Repair Printability Tasks

Ang endpoint na ito ay nagbibigay-daan sa iyo na makuha ang listahan ng mga repair-printability tasks.

Mga Parameter

Opsyonal na mga katangian

  • Name
    page_num
    Type
    integer
    Description

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

  • Name
    page_size
    Type
    integer
    Description

    Limitasyon ng laki ng pahina. Default sa 10 na item. Ang maximum na pinapayagan ay 50 na item.

  • Name
    sort_by
    Type
    string
    Description

    Field na gagamitin para sa pag-aayos. Mga magagamit na halaga:

    • +created_at: Ayusin ayon sa oras ng paglikha sa pataas na pagkakasunod-sunod.
    • -created_at: Ayusin ayon sa oras ng paglikha sa pababang pagkakasunod-sunod.

Mga Ibinabalik

Nagbabalik ng 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 isang Repair Printability Task

Ang endpoint na ito ay nag-i-stream ng mga real-time na 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.

Mga Ibinabalik

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

Para sa mga PENDING o IN_PROGRESS na mga task, ang response stream ay maglalaman lamang ng kinakailangang progress at status na mga field. Ang model_urls block ay ipinapadala lamang kapag ang task ay umabot na 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=***",
    "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 pagkakakilanlan para sa gawain. Habang gumagamit kami ng k-sortable UUID para sa mga task id bilang detalye ng pagpapatupad, hindi ka dapat gumawa ng anumang mga palagay tungkol sa format ng id.

  • Name
    type
    Type
    string
    Description

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

  • Name
    status
    Type
    string
    Description

    Katayuan ng gawain. Ang mga posibleng halaga ay isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Pag-unlad ng gawain. Kung ang gawain ay hindi pa nasisimulan, ang property na ito ay magiging 0. Kapag ang gawain ay nagtagumpay na, ito ay magiging 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Ang bilang ng mga naunang gawain.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp kung kailan nilikha ang gawain, sa milliseconds.

  • Name
    started_at
    Type
    timestamp
    Description

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

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • Name
    expires_at
    Type
    timestamp
    Description

    Timestamp kung kailan mag-e-expire ang resulta ng gawain mula sa sistema, sa milliseconds. 0 kung ang gawain ay hindi pa natatapos.

  • Name
    task_error
    Type
    object
    Description

    Impormasyon ng error kung ang gawain ay nabigo. Ang property na ito ay null kung ang gawain ay hindi nabigo. 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 sa naayos na 3D model. Tanging ang field na tumutugma sa input format ang napupunan; ang iba pang mga format field ay mga walang laman na string.

    • Name
      glb
      Type
      string
      Description

      Downloadable URL 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 sa naayos na GLTF. Napupunan kapag ang input ay isang GLTF upload.

    • Name
      fbx
      Type
      string
      Description

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

    • Name
      obj
      Type
      string
      Description

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

    • Name
      stl
      Type
      string
      Description

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

    • Name
      usdz
      Type
      string
      Description

      Nakalaan para sa USDZ output. Palaging isang walang laman na string para sa repair-printability tasks.

    • Name
      3mf
      Type
      string
      Description

      Nakalaan para sa 3MF output. Palaging isang walang laman na string para sa repair-printability tasks.

    • Name
      mtl
      Type
      string
      Description

      Nakalaan para sa MTL output. Palaging isang walang laman na string para sa repair-printability tasks.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL ng isang preview na imahe na na-render mula sa naayos na modelo.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Downloadable URL sa isang transparent-background (RGBA) na bersyon ng thumbnail_url. Tanging naroroon kapag ang gawain ay nilikha gamit ang alpha_thumbnail: true at ang transparent na preview ay matagumpay na na-render; kung hindi, ang field na ito ay hindi kasama.

  • Name
    texture_urls
    Type
    array
    Description

    Palaging isang walang laman na array. Ang pag-aayos ay pinapanatili lamang ang input geometry at hindi muling nagre-rebake ng textures.

  • Name
    consumed_credits
    Type
    integer
    Description

    Ang bilang ng credits na nagamit ng gawain na ito. 10 kapag ang gawain ay umabot na sa SUCCEEDED. Nagbabalik ng 0 para sa FAILED na mga gawain (ang credits ay ibinabalik 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
}