Baiki kebolehcetakan API

Baiki model 3D untuk kebolehcetakan FDM — betulkan tepi non-manifold, muka degenerat, lubang, dan isu topology lain supaya jejaring sedia untuk dicetak.


POST/openapi/v1/print/repair

Cipta Tugas Baiki kebolehcetakan

endpoint ini mencipta tugas Baiki kebolehcetakan yang baharu. Tugas ini menjalankan pembaikan topology pada model 3D dan mengembalikan versi yang kedap air serta sedia cetak.

Format output sepadan dengan format input. Jika anda menghantar .stl melalui model_url, model_urls.stl dalam respons akan mengandungi jejaring yang telah dibaiki dan medan format lain akan kosong. Laluan input_task_id sentiasa membaca GLB tugas sumber, jadi output ialah .glb.

Parameter

  • Name
    model_url
    Type
    string
    Diperlukan
    Description

    URL model 3D untuk dibaiki. Format yang disokong: .glb, .stl, .obj. Saiz fail maksimum: 100 MB. Mesti menggunakan URL http, https, atau data: (URL data memintas semakan sambungan).

  • Name
    alpha_thumbnail
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, tugas juga memaparkan versi pratonton berlatar belakang lutsinar (RGBA) dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Medan thumbnail_url sedia ada tidak berubah.

Mengembalikan

Sifat result dalam respons mengandungi id bagi tugas Baiki kebolehcetakan yang baru dicipta.

Mod Kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak boleh diterima. Punca lazim:

    • Parameter hilang: tiada input_task_id atau model_url yang diberikan.
    • UUID tidak sah: input_task_id bukan UUID yang sah.
    • URL model tidak sah: model_url cacat bentuk, menggunakan skim yang tidak disokong, atau mempunyai sambungan fail yang tidak disokong.
    • Fail model terlalu besar: badan model_url melebihi 100 MB.
    • Tugas belum berjaya: tugas yang dirujuk masih PENDING, dalam progress, atau FAILED.
    • GLB hilang: tugas yang dirujuk tiada aset GLB untuk dibaiki.
  • Name
    401 - Unauthorized
    Description

    Pengesahan gagal. Sila semak kunci API anda.

  • Name
    402 - Payment Required
    Description

    Punca lazim:

    • Pelan percuma: penciptaan tugas memerlukan pelan berbayar. Naik taraf di halaman langganan.
    • Kredit tidak mencukupi: had kredit ruang kerja telah dicapai.
  • Name
    404 - Not Found
    Description

    Tugas yang dirujuk tidak wujud atau dimiliki oleh pengguna lain.

  • Name
    429 - Too Many Requests
    Description

    Anda telah melebihi kuota tugas PENDING atau had kadar anda.

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

Dapatkan Tugas Baiki kebolehcetakan

endpoint ini mendapatkan tugas baiki kebolehcetakan berdasarkan ID-nya.

Parameter

  • Name
    id
    Type
    path
    Description

    ID tugas baiki kebolehcetakan yang ingin didapatkan.

Pulangan

Objek Tugas Baiki kebolehcetakan. Blok model_urls kosong sehingga tugas mencapai SUCCEEDED. Hanya medan model_urls yang sepadan dengan format input akan diisi.

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

Padam Tugas Baiki kebolehcetakan

endpoint ini memadamkan tugas baiki-kebolehcetakan dan output yang telah dibaiki secara kekal. Tindakan ini tidak boleh dibatalkan.

Parameter Laluan

  • Name
    id
    Type
    path
    Description

    ID tugas baiki-kebolehcetakan untuk dipadamkan.

Pulangan

Mengembalikan 200 OK apabila berjaya.

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

Senaraikan Tugas Baiki kebolehcetakan

Endpoint ini membolehkan anda mendapatkan senarai tugas baiki kebolehcetakan.

Parameter

Atribut pilihan

  • Name
    page_num
    Type
    integer
    Description

    Nombor halaman untuk penomboran halaman. Bermula dan lalai kepada 1.

  • Name
    page_size
    Type
    integer
    Description

    Had saiz halaman. Lalai kepada 10 item. Maksimum yang dibenarkan ialah 50 item.

  • Name
    sort_by
    Type
    string
    Description

    Medan untuk diisih mengikut. Nilai yang tersedia:

    • +created_at: Isih mengikut masa penciptaan dalam tertib menaik.
    • -created_at: Isih mengikut masa penciptaan dalam tertib menurun.

Pulangan

Mengembalikan senarai berhalaman bagi Objek Tugas Baiki kebolehcetakan.

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

Strim Tugas Baiki kebolehcetakan

endpoint ini menstrim kemas kini masa nyata untuk tugas Baiki kebolehcetakan menggunakan Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Pengecam unik untuk tugas Baiki kebolehcetakan yang hendak distrim.

Mengembalikan

Mengembalikan strim Objek Tugas Baiki kebolehcetakan sebagai Server-Sent Events.

Untuk tugas PENDING atau IN_PROGRESS, strim respons hanya akan menyertakan medan progress dan status yang diperlukan. Blok model_urls dihantar hanya selepas tugas mencapai 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
}

Objek Tugasan Baiki kebolehcetakan

  • Name
    id
    Type
    string
    Description

    Pengecam unik untuk tugasan. Walaupun kami menggunakan UUID boleh diisih-k untuk id tugasan sebagai butiran pelaksanaan, anda tidak patut membuat sebarang andaian tentang format id.

  • Name
    type
    Type
    string
    Description

    Jenis tugasan baiki kebolehcetakan. Nilainya ialah print-repair.

  • Name
    status
    Type
    string
    Description

    Status tugasan. Nilai yang mungkin ialah salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress tugasan. Jika tugasan belum dimulakan, sifat ini akan menjadi 0. Setelah tugasan berjaya, ini akan menjadi 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Bilangan tugasan terdahulu.

  • Name
    created_at
    Type
    timestamp
    Description

    Cap masa apabila tugasan dicipta, dalam milisaat.

  • Name
    started_at
    Type
    timestamp
    Description

    Cap masa apabila tugasan dimulakan, dalam milisaat. Jika tugasan belum dimulakan, sifat ini akan menjadi 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Cap masa apabila tugasan diselesaikan, dalam milisaat. Jika tugasan belum selesai, sifat ini akan menjadi 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Cap masa apabila hasil tugasan akan tamat tempoh daripada sistem, dalam milisaat. 0 jika tugasan belum selesai.

  • Name
    task_error
    Type
    object
    Description

    Maklumat ralat jika tugasan telah gagal. Sifat ini ialah null jika tugasan tidak gagal. Lihat Ralat untuk butiran lanjut.

    • Name
      message
      Type
      string
      Description

      Mesej ralat yang menerangkan perkara yang tidak kena.

  • Name
    model_urls
    Type
    object
    Description

    URL yang boleh dimuat turun kepada model 3D yang telah dibaiki. Hanya medan yang sepadan dengan format input diisi; medan format lain ialah rentetan kosong.

    • Name
      glb
      Type
      string
      Description

      URL yang boleh dimuat turun kepada GLB yang telah dibaiki. Diisi apabila input ialah GLB atau apabila input_task_id digunakan.

    • Name
      fbx
      Type
      string
      Description

      Dikhaskan untuk output FBX. Sentiasa rentetan kosong untuk tugasan baiki kebolehcetakan.

    • Name
      obj
      Type
      string
      Description

      URL yang boleh dimuat turun kepada OBJ yang telah dibaiki. Diisi apabila input ialah muat naik OBJ.

    • Name
      stl
      Type
      string
      Description

      URL yang boleh dimuat turun kepada STL yang telah dibaiki. Diisi apabila input ialah muat naik STL.

    • Name
      usdz
      Type
      string
      Description

      Dikhaskan untuk output USDZ. Sentiasa rentetan kosong untuk tugasan baiki kebolehcetakan.

    • Name
      3mf
      Type
      string
      Description

      Dikhaskan untuk output 3MF. Sentiasa rentetan kosong untuk tugasan baiki kebolehcetakan.

    • Name
      mtl
      Type
      string
      Description

      Dikhaskan untuk output MTL. Sentiasa rentetan kosong untuk tugasan baiki kebolehcetakan.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL imej pratonton yang dirender daripada model yang telah dibaiki.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL yang boleh dimuat turun kepada versi berlatar belakang lutsinar (RGBA) bagi thumbnail_url. Hanya hadir apabila tugasan dicipta dengan alpha_thumbnail: true dan pratonton lutsinar berjaya dirender; jika tidak, medan ini ditinggalkan.

  • Name
    texture_urls
    Type
    array
    Description

    Sentiasa tatasusunan kosong. Pembaikan hanya mengekalkan geometri input dan tidak membakar semula texture.

  • Name
    consumed_credits
    Type
    integer
    Description

    Bilangan kredit yang digunakan oleh tugasan ini. 10 setelah tugasan mencapai SUCCEEDED. Mengembalikan 0 untuk tugasan FAILED (kredit dipulangkan apabila gagal).

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
}