API Baiki Kebolehcetakan

Baiki model 3D untuk kebolehcetakan FDM — baiki 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 baru. Tugas ini menjalankan pembaikan topology pada model 3D dan mengembalikan versi yang kedap air dan sedia untuk dicetak.

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

Parameter

  • Name
    model_url
    Type
    string
    Diperlukan
    Description

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

  • Name
    alpha_thumbnail
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, tugas ini juga merender versi latar belakang telus (RGBA) bagi pratonton dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Medan thumbnail_url sedia ada tidak berubah.

Mengembalikan

Properti result dalam respons mengandungi id bagi tugas baiki kebolehcetakan yang baru dicipta.

Mod Kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak dapat diterima. Punca biasa:

    • Parameter hilang: sama ada input_task_id atau model_url tidak disediakan.
    • UUID tidak sah: input_task_id bukan UUID yang sah.
    • URL model tidak sah: model_url tidak betul, menggunakan skim yang tidak disokong, atau mempunyai sambungan fail yang tidak disokong.
    • Fail model terlalu besar: badan model_url melebihi 100 MB.
    • Tugas tidak berjaya: tugas yang dirujuk masih menunggu, dalam progress, atau gagal.
    • GLB hilang: tugas yang dirujuk tidak mempunyai aset GLB untuk dibaiki.
  • Name
    401 - Unauthorized
    Description

    Pengesahan gagal. Sila semak kunci API anda.

  • Name
    402 - Payment Required
    Description

    Punca biasa:

    • 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 menunggu atau had kadar.

Permintaan

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"
  }'

Respons

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

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

Dapatkan Tugas Baiki Kebolehcetakan

Endpoint ini mendapatkan tugas baiki kebolehcetakan berdasarkan ID.

Parameter

  • Name
    id
    Type
    path
    Description

    ID tugas baiki kebolehcetakan yang ingin didapatkan.

Pulangan

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

Permintaan

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}"

Respon

{
  "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

Padam Tugas Baiki Kebolehcetakan

Endpoint ini memadamkan secara kekal tugas baiki kebolehcetakan dan hasil baikinya. Tindakan ini tidak boleh dipulihkan.

Parameter Laluan

  • Name
    id
    Type
    path
    Description

    ID tugas baiki kebolehcetakan untuk dipadam.

Pulangan

Mengembalikan 200 OK jika berjaya.

Permintaan

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}"

Respon

// Returns 200 Ok on success.

GET/openapi/v1/print/repair

Senarai 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 adalah 50 item.

  • Name
    sort_by
    Type
    string
    Description

    Medan untuk disusun. Nilai yang tersedia:

    • +created_at: Susun mengikut masa penciptaan dalam susunan menaik.
    • -created_at: Susun mengikut masa penciptaan dalam susunan menurun.

Pulangan

Mengembalikan senarai berpenomboran Objek Tugas Baiki Kebolehcetakan.

Permintaan

GET
/openapi/v1/print/repair
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Respons

[
  {
    "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

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

    Pengenal pasti 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 apabila tugas mencapai SUCCEEDED.

Permintaan

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}"

Strim Respons

// 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
}

Objek Tugas Baiki Kebolehcetakan

  • Name
    id
    Type
    string
    Description

    Pengenal unik untuk tugas ini. Walaupun kami menggunakan UUID k-sortable untuk id tugas sebagai butiran pelaksanaan, anda tidak seharusnya membuat sebarang andaian tentang format id tersebut.

  • Name
    type
    Type
    string
    Description

    Jenis tugas baiki-kebolehcetakan. Nilainya adalah print-repair.

  • Name
    status
    Type
    string
    Description

    Status tugas. Nilai yang mungkin adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Kemajuan tugas. Jika tugas belum dimulakan, sifat ini akan menjadi 0. Setelah tugas berjaya, ini akan menjadi 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Bilangan tugas terdahulu.

  • Name
    created_at
    Type
    timestamp
    Description

    Cap masa ketika tugas dicipta, dalam milisaat.

  • Name
    started_at
    Type
    timestamp
    Description

    Cap masa ketika tugas dimulakan, dalam milisaat. Jika tugas belum dimulakan, sifat ini akan menjadi 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Cap masa ketika tugas selesai, dalam milisaat. Jika tugas belum selesai, sifat ini akan menjadi 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Cap masa ketika hasil tugas akan tamat tempoh dari sistem, dalam milisaat. 0 jika tugas belum selesai.

  • Name
    task_error
    Type
    object
    Description

    Maklumat ralat jika tugas gagal. Sifat ini adalah null jika tugas tidak gagal. Lihat Ralat untuk maklumat lanjut.

    • Name
      message
      Type
      string
      Description

      Mesej ralat yang menerangkan apa yang salah.

  • Name
    model_urls
    Type
    object
    Description

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

    • Name
      glb
      Type
      string
      Description

      URL yang boleh dimuat turun untuk GLB yang telah dibaiki. Diisi apabila input adalah GLB atau apabila input_task_id digunakan.

    • Name
      gltf
      Type
      string
      Description

      URL yang boleh dimuat turun untuk GLTF yang telah dibaiki. Diisi apabila input adalah muat naik GLTF.

    • Name
      fbx
      Type
      string
      Description

      URL yang boleh dimuat turun untuk FBX yang telah dibaiki. Diisi apabila input adalah muat naik FBX.

    • Name
      obj
      Type
      string
      Description

      URL yang boleh dimuat turun untuk OBJ yang telah dibaiki. Diisi apabila input adalah muat naik OBJ.

    • Name
      stl
      Type
      string
      Description

      URL yang boleh dimuat turun untuk STL yang telah dibaiki. Diisi apabila input adalah muat naik STL.

    • Name
      usdz
      Type
      string
      Description

      Dikhaskan untuk output USDZ. Sentiasa rentetan kosong untuk tugas baiki-kebolehcetakan.

    • Name
      3mf
      Type
      string
      Description

      Dikhaskan untuk output 3MF. Sentiasa rentetan kosong untuk tugas baiki-kebolehcetakan.

    • Name
      mtl
      Type
      string
      Description

      Dikhaskan untuk output MTL. Sentiasa rentetan kosong untuk tugas baiki-kebolehcetakan.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL imej pratonton yang dipaparkan dari model yang telah dibaiki.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL yang boleh dimuat turun untuk versi latar belakang telus (RGBA) dari thumbnail_url. Hanya hadir apabila tugas dicipta dengan alpha_thumbnail: true dan pratonton telus berjaya dipaparkan; jika tidak, medan ini diabaikan.

  • Name
    texture_urls
    Type
    array
    Description

    Sentiasa array kosong. Baiki mengekalkan geometri input sahaja dan tidak membakar semula texture.

  • Name
    consumed_credits
    Type
    integer
    Description

    Bilangan kredit yang digunakan oleh tugas ini. 10 setelah tugas mencapai SUCCEEDED. Mengembalikan 0 untuk tugas FAILED (kredit dikembalikan pada kegagalan).

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
}