lowpoly akan dihentikan pada 30 Okt 2026. Tukar model sebelum tarikh-tarikh ini untuk mengelakkan ralat permintaan. Lihat semua penamatan

API Remesh

Bina semula jejaring model 3D dengan topology dan bilangan muka yang baharu, dan eksport dalam format pilihan anda. Model boleh datang daripada tugas Meshy yang lain, seperti Imej ke 3D atau Teks ke 3D, atau daripada fail model.


POST/openapi/v1/remesh

Cipta tugas Remesh

Mencipta tugas Remesh. Tugas berjalan di latar belakang. Untuk tempoh biasa sesuatu tugas mengambil masa, lihat Masa pemprosesan.

Request

POST
/openapi/v1/remesh
# Basic remesh with custom formats and resize
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "resize_height": 1.0,
    "origin_at": "bottom"
  }'

# Quad remesh with auto-size
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "auto_size": true
  }'

Response

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

Parameter

  • Name
    input_task_id
    Type
    string
    Diperlukan
    Description

    Diperlukan melainkan anda menghantar model_url. ID tugas yang modelnya ingin anda remesh, contohnya tugas Teks ke 3D, Imej ke 3D, Retekstur, atau Remesh. Tugas tersebut mestilah yang anda cipta dengan API dan mempunyai status SUCCEEDED.

  • Name
    model_url
    Type
    string
    Diperlukan
    Description

    Diperlukan melainkan anda menghantar input_task_id. Model untuk di-remesh, sebagai URL awam atau data URI. Jika anda menghantar kedua-duanya, Meshy menggunakan input_task_id.

    Model mestilah fail GLB, glTF, OBJ, FBX, atau STL bersaiz maksimum 400 MB daripada URL http atau https, atau 100 MB sebagai data URI. Untuk data URI, gunakan MIME type application/octet-stream.

    Fail yang melebihi 100 MB juga mesti mematuhi peraturan berikut:

    • Fail GLB, glTF, FBX, atau OBJ boleh mempunyai maksimum 10,000,000 muka. Meshy mengira muka sebagai segi tiga, jadi segi empat dikira sebagai 2, dan jejaring yang dilukis lebih daripada sekali dikira sekali bagi setiap salinan.
    • Fail FBX mestilah FBX binari 7.1 atau lebih baharu.
    • Fail GLB atau glTF tidak boleh menggunakan mampatan Draco.
  • Name
    target_formats
    Type
    string[]
    lalai ["glb"]
    Description

    Format fail untuk dijana.

    Nilai yang tersedia:

    • glb
    • fbx
    • obj
    • usdz
    • blend
    • stl
    • 3mf
  • Name
    topology
    Type
    string
    lalai triangle
    Description

    Jenis muka bagi model yang di-remesh.

    Nilai yang tersedia:

    • quad: jejaring dominan segi empat
    • triangle: jejaring segi tiga yang didesimasi
  • Name
    target_polycount
    Type
    integer
    lalai 30000
    Description

    Bilangan muka yang disasarkan, dari 100 hingga 300000. Hasilnya boleh berbeza daripada sasaran, bergantung pada geometri model. Nilai di luar julat ini memulangkan 400.

  • Name
    decimation_mode
    Type
    integer
    Description

    Bilangan muka adaptif, mengikut tahap. Apabila anda menetapkannya, Meshy mengabaikan target_polycount.

    Nilai yang tersedia:

    • 1: ultra
    • 2: tinggi
    • 3: sederhana
    • 4: rendah
  • Name
    resize_height
    Type
    number
    ⚠ lapuk
    lalai 0
    Description

    Gunakan Resize API sebagai gantinya. Ketinggian untuk mengubah saiz model, dalam meter. Hantar sekurang-kurangnya satu daripada resize_height, resize_longest_side, dan auto_size.

  • Name
    resize_longest_side
    Type
    number
    ⚠ lapuk
    lalai 0
    Description

    Gunakan Resize API sebagai gantinya. Panjang untuk mengubah saiz sisi terpanjang kotak pembatas model, dalam meter. Hantar sekurang-kurangnya satu daripada resize_height, resize_longest_side, dan auto_size.

  • Name
    auto_size
    Type
    boolean
    ⚠ lapuk
    lalai false
    Description

    Gunakan Resize API sebagai gantinya. Sama ada untuk menganggarkan ketinggian sebenar objek dengan penglihatan AI dan mengubah saiz model mengikutnya. Hantar sekurang-kurangnya satu daripada resize_height, resize_longest_side, dan auto_size.

  • Name
    origin_at
    Type
    string
    ⚠ lapuk
    lalai bottom
    Description

    Gunakan Resize API sebagai gantinya. Lokasi untuk meletakkan titik asal model, bottom atau center. Nilai lalai digunakan apabila anda menghantar resize_height, resize_longest_side, atau auto_size. Tanpa salah satu daripadanya, Meshy hanya memindahkan titik asal jika anda menghantar origin_at.

  • Name
    convert_format_only
    Type
    boolean
    ⚠ lapuk
    Description

    Gunakan Convert API sebagai gantinya. Sama ada hanya untuk menukar model kepada target_formats. Apabila true, Meshy mengabaikan topology, target_polycount, decimation_mode, resize_height, resize_longest_side, dan auto_size, tetapi masih menyemak nilainya, jadi nilai yang tidak sah akan memulangkan 400. Dengan convert_format_only: true, target_formats yang kosong atau null akan memulangkan 400.

  • Name
    alpha_thumbnail
    Type
    boolean
    lalai false
    Description

    Sama ada untuk turut merender pratonton dengan latar belakang lutsinar (RGBA), dipulangkan dalam alpha_thumbnail_url apabila anda mendapatkan tugas tersebut. thumbnail_url tidak berubah.

Nilai pulangan

Medan result dalam respons mengandungi ID tugas Remesh yang baharu.

Mod kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak dapat dijalankan. Mesej ralat menyatakan masalah yang dikesan. Contohnya:

    • Parameter hilang: Baik model_url mahupun input_task_id tidak dihantar.
    • Tugas input tidak sah: input_task_id bukan tugas API yang berjaya, atau model AI-nya tidak menyokong remesh.
    • Format model tidak sah: Fail model_url mempunyai sambungan yang tidak disokong.
    • URL tidak boleh dicapai: Meshy tidak dapat memuat turun fail model_url.
    • Fail model terlalu besar: Fail model_url melebihi 400 MB daripada URL http atau https, atau melebihi 100 MB sebagai data URI.
    • Terlalu banyak muka: Fail model_url melebihi 100 MB dan mempunyai lebih daripada 10,000,000 muka. Kurangkan bilangan muka, kemudian hantar fail itu semula.
    • FBX ASCII melebihi 100 MB: Fail model_url ialah FBX ASCII yang melebihi 100 MB. Hantar sebagai FBX binari atau GLB.
    • Fail model tidak boleh dibaca: Fail model_url melebihi 100 MB, dan Meshy tidak dapat membaca headernya. Contohnya, ia adalah GLB atau glTF yang dimampatkan Draco, atau FBX binari yang lebih lama daripada 7.1.
    • Header model terlalu kompleks: Fail model_url melebihi 100 MB, dan headernya mempunyai terlalu banyak jejaring, nod, atau rekod untuk disemak. Kurangkan bilangan objek dalam fail, kemudian hantar semula.
    • Topologi tidak sah: topology bukan quad atau triangle.
    • Parameter saling eksklusif: Permintaan mempunyai lebih daripada satu daripada auto_size, resize_height, dan resize_longest_side. Hantar hanya satu.

    Betulkan permintaan, kemudian hantar semula. Lihat Ralat.

  • Name
    401 - Unauthorized
    Description

    kunci API tiada atau tidak sah. Semak header Authorization.

  • Name
    402 - Payment Required
    Description

    Contohnya:

    • Kredit tidak mencukupi: Akaun tidak mempunyai kredit yang mencukupi untuk tugas ini, atau akaun telah mencapai had kredit. Semak baki kredit anda, kemudian cuba semula.
    • Pelan percuma: Mencipta tugas memerlukan pelan berbayar. Naik taraf pelan anda dalam tetapan langganan anda, kemudian cuba semula.
  • Name
    403 - Forbidden
    Description

    input_task_id ialah model bas-relief, yang tidak dapat di-remesh oleh endpoint ini. Mesejnya ialah This model type does not support this operation. Hantar model yang berbeza.

  • Name
    404 - Not Found
    Description

    input_task_id tidak sepadan dengan mana-mana tugas anda. Semak ID tugas, kemudian hantar permintaan semula.

  • Name
    429 - Too Many Requests
    Description

    Anda telah melebihi had kadar anda. Tunggu, kemudian cuba semula. Lihat Had kadar.


GET/openapi/v1/remesh/:id

Dapatkan tugas Remesh

Mengembalikan tugas Remesh berdasarkan ID-nya.

Request

GET
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null
}

Parameter

  • Name
    id
    Type
    path
    Description

    ID tugas daripada respons create.

Nilai Pulangan

Objek tugas Remesh.


DELETE/openapi/v1/remesh/:id

Padam tugas Remesh

Memadam tugas Remesh secara kekal, termasuk model dan datanya. Anda tidak boleh membatalkan pemadaman.

Request

DELETE
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/remesh/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 keeps 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."
}

Parameter laluan

  • Name
    id
    Type
    path
    Description

    ID tugas yang hendak dipadam.

Status tugas

Memadam tugas PENDING akan mengembalikan kredit yang digunakan semasa anda mencipta tugas tersebut.

Tugas IN_PROGRESS tidak boleh dipadam. Permintaan akan mengembalikan 409 Conflict, dan tugas tersebut akan terus berjalan. Meshy tidak mengembalikan kredit untuk tugas yang telah dimulakan, jadi memadamnya akan menyebabkan anda kehilangan kedua-dua kredit dan hasilnya. Tunggu sehingga ia mencapai status SUCCEEDED, FAILED, atau CANCELED, kemudian padamkannya.

Memadam tugas dalam status akhir (SUCCEEDED, FAILED, atau CANCELED) tidak mengembalikan kreditnya.

Returns

200 OK apabila tugas berjaya dipadam, atau 409 Conflict apabila tugas berstatus IN_PROGRESS.


GET/openapi/v1/remesh

Senaraikan tugas Remesh

Mengembalikan senarai tugas Remesh anda.

Request

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

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "remesh",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null
  }
]

Parameter

  • Name
    page_num
    Type
    integer
    lalai 1
    Description

    Nombor halaman yang hendak dikembalikan, sehingga 255. Nilai yang lebih besar akan mengembalikan 400.

  • Name
    page_size
    Type
    integer
    lalai 10
    Description

    Bilangan tugas setiap halaman, sehingga 100.

  • Name
    sort_by
    Type
    string
    Description

    Susunan isihan.

    Nilai yang tersedia:

    • +created_at: yang paling lama dahulu
    • -created_at: yang paling baru dahulu

Nilai Kembalian

Senarai berhalaman bagi objek tugas Remesh.


GET/openapi/v1/remesh/:id/stream

Alirkan tugas Remesh

Mengalirkan kemas kini tugas Remesh sebagai Server-Sent Events (SSE).

Request

GET
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/remesh/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.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
    "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
}

Parameter

  • Name
    id
    Type
    path
    Description

    ID tugas daripada respons create.

Nilai yang Dikembalikan

Satu aliran objek tugas Remesh sebagai Server-Sent Events.

Setiap acara (event) memegang objek tugas yang lengkap, dalam bentuk yang sama seperti yang dikembalikan oleh endpoint Get. Semasa tugas masih PENDING atau IN_PROGRESS, medan hasilnya belum lagi mempunyai nilai.


Objek tugasan Remesh

Objek tugasan Remesh menerangkan satu remesh bagi model 3D. Ia menyimpan status, progress, dan fail model apabila tugasan berjaya.

Ciri-ciri

Example Remesh Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 5
}
  • Name
    id
    Type
    string
    Description

    ID tugasan. Anggap ini sebagai rentetan legap, dan jangan bergantung pada formatnya.

  • Name
    type
    Type
    string
    Description

    Jenis tugasan, sentiasa remesh.

  • Name
    model_urls
    Type
    object
    Description

    URL muat turun untuk model yang telah di-remesh, satu bagi setiap format fail. Format yang tidak dihasilkan oleh tugasan tidak mempunyai kunci, bukannya rentetan kosong.

    • Name
      glb
      Type
      string
      Description

      Fail GLB.

    • Name
      fbx
      Type
      string
      Description

      Fail FBX.

    • Name
      obj
      Type
      string
      Description

      Fail OBJ.

    • Name
      usdz
      Type
      string
      Description

      Fail USDZ.

    • Name
      blend
      Type
      string
      Description

      Fail Blender.

    • Name
      stl
      Type
      string
      Description

      Fail STL.

    • Name
      3mf
      Type
      string
      Description

      Fail 3MF. Hadir hanya apabila target_formats mengandungi 3mf.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL muat turun untuk imej pratonton bagi model yang telah di-remesh.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL muat turun untuk versi thumbnail_url dengan latar belakang lutsinar (RGBA). Hadir hanya apabila anda mencipta tugasan dengan alpha_thumbnail: true dan Meshy berjaya merender pratonton lutsinar tersebut.

  • Name
    progress
    Type
    integer
    Description

    Berapa banyak tugasan telah selesai, dalam bentuk peratusan. Nilainya 0 sehingga tugasan bermula dan 100 apabila ia berjaya.

  • Name
    status
    Type
    string
    Description

    Status tugasan, salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, atau CANCELED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Bilangan tugasan yang mendahului tugasan ini dalam baris gilir. Nilai ini hanya bermakna semasa tugasan berstatus PENDING.

  • Name
    created_at
    Type
    timestamp
    Description

    Masa tugasan dicipta, dalam milisaat Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Masa tugasan bermula, dalam milisaat Unix. Nilainya 0 sehingga tugasan bermula.

  • Name
    finished_at
    Type
    timestamp
    Description

    Masa tugasan selesai, dalam milisaat Unix. Nilainya 0 sehingga tugasan selesai.

  • Name
    expires_at
    Type
    timestamp
    Description

    Masa URL muat turun tugasan tamat tempoh, dalam milisaat Unix. Nilainya 0 sehingga tugasan selesai.

  • Name
    texture_urls
    Type
    array
    Description

    URL muat turun untuk peta tekstur model, apabila tugasan berjaya: satu tatasusunan objek, satu bagi setiap set tekstur. Setiap objek mempunyai URL base_color, dan juga boleh mempunyai URL metallic, roughness, normal, emission, dan metallic_roughness. Nilainya null sehingga tugasan berjaya, dan tatasusunan kosong apabila model tidak mempunyai peta tekstur.

  • Name
    task_error
    Type
    object
    Description

    Butiran ralat apabila tugasan gagal. Lihat Ralat.

  • Name
    consumed_credits
    Type
    integer
    Description

    Bilangan kredit yang digunakan oleh tugasan. Hadir apabila status adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Nilainya 0 untuk tugasan FAILED, kerana Meshy memulangkan semula kredit apabila tugasan gagal.