lowpoly dihentikan pada 30 Okt 2026. Ganti model sebelum tanggal-tanggal ini agar permintaan tidak error. Lihat semua penghentian

Remesh API

Bangun ulang mesh model 3D dengan topology dan jumlah face yang baru, dan ekspor dalam format pilihan Anda. Model dapat berasal dari task Meshy lainnya, seperti Gambar ke 3D atau Teks ke 3D, atau dari file model.


POST/openapi/v1/remesh

Membuat tugas Remesh

Membuat tugas Remesh. Tugas berjalan di latar belakang. Untuk mengetahui berapa lama tugas biasanya berlangsung, lihat Waktu pemrosesan.

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
    Wajib
    Description

    Wajib kecuali Anda mengirim model_url. ID tugas yang modelnya ingin Anda remesh, misalnya tugas Text to 3D, Image to 3D, Retexture, atau Remesh. Tugas tersebut harus yang Anda buat dengan API dan memiliki status SUCCEEDED.

  • Name
    model_url
    Type
    string
    Wajib
    Description

    Wajib kecuali Anda mengirim input_task_id. Model yang akan di-remesh, berupa URL publik atau data URI. Jika Anda mengirim keduanya, Meshy menggunakan input_task_id.

    Model harus berupa file GLB, glTF, OBJ, FBX, atau STL dengan ukuran maksimal 400 MB dari URL http atau https, atau 100 MB sebagai data URI. Untuk data URI, gunakan MIME type application/octet-stream.

    File di atas 100 MB juga harus mengikuti aturan berikut:

    • File GLB, glTF, FBX, atau OBJ dapat memiliki maksimal 10.000.000 wajah (faces). Meshy menghitung wajah sebagai segitiga, sehingga quad dihitung sebagai 2, dan mesh yang digambar lebih dari sekali dihitung sekali per salinan.
    • File FBX harus berupa FBX biner 7.1 atau lebih baru.
    • File GLB atau glTF tidak boleh menggunakan kompresi Draco.
  • Name
    target_formats
    Type
    string[]
    default ["glb"]
    Description

    Format file yang akan dihasilkan.

    Nilai yang tersedia:

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

    Jenis wajah dari model yang di-remesh.

    Nilai yang tersedia:

    • quad: mesh dengan dominan quad
    • triangle: mesh segitiga yang didesimasi
  • Name
    target_polycount
    Type
    integer
    default 30000
    Description

    Jumlah wajah yang ditargetkan, dari 100 hingga 300000. Hasilnya dapat berbeda dari target, tergantung pada geometri model. Nilai di luar rentang akan mengembalikan 400.

  • Name
    decimation_mode
    Type
    integer
    Description

    Jumlah wajah adaptif, berdasarkan level. Saat Anda mengaturnya, Meshy mengabaikan target_polycount.

    Nilai yang tersedia:

    • 1: ultra
    • 2: tinggi
    • 3: sedang
    • 4: rendah
  • Name
    resize_height
    Type
    number
    ⚠ usang
    default 0
    Description

    Gunakan Resize API sebagai gantinya. Tinggi untuk mengubah ukuran model, dalam meter. Kirim paling banyak satu dari resize_height, resize_longest_side, dan auto_size.

  • Name
    resize_longest_side
    Type
    number
    ⚠ usang
    default 0
    Description

    Gunakan Resize API sebagai gantinya. Panjang untuk mengubah ukuran sisi terpanjang dari kotak pembatas model, dalam meter. Kirim paling banyak satu dari resize_height, resize_longest_side, dan auto_size.

  • Name
    auto_size
    Type
    boolean
    ⚠ usang
    default false
    Description

    Gunakan Resize API sebagai gantinya. Apakah akan memperkirakan tinggi objek di dunia nyata dengan AI vision dan mengubah ukuran model ke tinggi tersebut. Kirim paling banyak satu dari resize_height, resize_longest_side, dan auto_size.

  • Name
    origin_at
    Type
    string
    ⚠ usang
    default bottom
    Description

    Gunakan Resize API sebagai gantinya. Di mana menempatkan titik asal model, bottom atau center. Nilai bawaan berlaku saat Anda mengirim resize_height, resize_longest_side, atau auto_size. Tanpa salah satu dari itu, Meshy memindahkan titik asal hanya jika Anda mengirim origin_at.

  • Name
    convert_format_only
    Type
    boolean
    ⚠ usang
    Description

    Gunakan Convert API sebagai gantinya. Apakah hanya akan mengonversi model ke target_formats. Saat true, Meshy mengabaikan topology, target_polycount, decimation_mode, resize_height, resize_longest_side, dan auto_size, tetapi tetap memeriksa nilainya, sehingga nilai yang tidak valid akan mengembalikan 400. Dengan convert_format_only: true, target_formats yang kosong atau null akan mengembalikan 400.

  • Name
    alpha_thumbnail
    Type
    boolean
    default false
    Description

    Apakah juga akan merender pratinjau dengan latar belakang transparan (RGBA), dikembalikan dalam alpha_thumbnail_url saat Anda mengambil tugas. thumbnail_url tidak berubah.

Hasil yang Dikembalikan

Field result pada respons menyimpan ID tugas Remesh yang baru.

Mode kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak dapat dijalankan. Pesan kesalahan menunjukkan masalah yang ditemukan. Misalnya:

    • Parameter hilang: Baik model_url maupun input_task_id tidak dikirim.
    • Tugas input tidak valid: input_task_id bukan tugas API yang berhasil, atau model AI-nya tidak mendukung remeshing.
    • Format model tidak valid: File model_url memiliki ekstensi yang tidak didukung.
    • URL tidak dapat dijangkau: Meshy tidak dapat mengunduh file model_url.
    • File model terlalu besar: File model_url berukuran lebih dari 400 MB dari URL http atau https, atau lebih dari 100 MB sebagai data URI.
    • Terlalu banyak wajah: File model_url berukuran lebih dari 100 MB dan memiliki lebih dari 10.000.000 wajah. Kurangi jumlah wajah, lalu kirim file tersebut lagi.
    • FBX ASCII di atas 100 MB: File model_url adalah FBX ASCII yang berukuran di atas 100 MB. Kirim sebagai FBX biner atau GLB.
    • File model tidak dapat dibaca: File model_url berukuran lebih dari 100 MB, dan Meshy tidak dapat membaca headernya. Misalnya, file tersebut adalah GLB atau glTF yang dikompresi Draco, atau FBX biner lebih lama dari 7.1.
    • Header model terlalu kompleks: File model_url berukuran lebih dari 100 MB, dan headernya memiliki terlalu banyak mesh, node, atau record untuk diperiksa. Kurangi jumlah objek dalam file, lalu kirim lagi.
    • Topology tidak valid: topology bukan quad atau triangle.
    • Parameter saling eksklusif: Permintaan memiliki lebih dari satu dari auto_size, resize_height, dan resize_longest_side. Kirim hanya satu.

    Perbaiki permintaan, lalu kirim lagi. Lihat Kesalahan.

  • Name
    401 - Unauthorized
    Description

    Kunci API hilang atau tidak valid. Periksa header Authorization.

  • Name
    402 - Payment Required
    Description

    Misalnya:

    • Kredit tidak cukup: Akun tidak memiliki cukup kredit untuk tugas ini, atau akun mencapai batas kredit. Periksa saldo kredit Anda, lalu coba lagi.
    • Paket gratis: Membuat tugas memerlukan paket berbayar. Tingkatkan paket Anda di pengaturan langganan Anda, lalu coba lagi.
  • Name
    403 - Forbidden
    Description

    input_task_id adalah model bas-relief, yang tidak dapat di-remesh oleh endpoint ini. Pesannya adalah This model type does not support this operation. Kirim model yang berbeda.

  • Name
    404 - Not Found
    Description

    input_task_id tidak cocok dengan tugas Anda yang mana pun. Periksa ID tugas, lalu kirim permintaan lagi.

  • Name
    429 - Too Many Requests
    Description

    Anda melebihi batas laju Anda. Tunggu, lalu coba lagi. Lihat Batas laju.


GET/openapi/v1/remesh/:id

Mendapatkan 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 dari respons pembuatan.

Hasil

Objek tugas Remesh.


DELETE/openapi/v1/remesh/:id

Hapus tugas Remesh

Menghapus tugas Remesh secara permanen, termasuk model dan datanya. Anda tidak dapat membatalkan penghapusan.

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 path

  • Name
    id
    Type
    path
    Description

    ID tugas yang akan dihapus.

Status tugas

Menghapus tugas PENDING akan mengembalikan kredit yang digunakan saat Anda membuatnya.

Tugas IN_PROGRESS tidak dapat dihapus. Permintaan akan mengembalikan 409 Conflict, dan tugas tetap berjalan. Meshy tidak mengembalikan kredit untuk tugas yang sudah dimulai, jadi menghapusnya akan membuat Anda kehilangan baik kredit maupun hasilnya. Tunggu hingga tugas mencapai status SUCCEEDED, FAILED, atau CANCELED, baru kemudian hapus.

Menghapus tugas dengan status akhir (SUCCEEDED, FAILED, atau CANCELED) tidak akan mengembalikan kreditnya.

Mengembalikan

200 OK ketika tugas berhasil dihapus, atau 409 Conflict ketika tugas berstatus IN_PROGRESS.


GET/openapi/v1/remesh

Daftar tugas Remesh

Mengembalikan daftar 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
    default 1
    Description

    Nomor halaman yang akan dikembalikan, hingga 255. Nilai yang lebih besar akan mengembalikan 400.

  • Name
    page_size
    Type
    integer
    default 10
    Description

    Jumlah tugas per halaman, hingga 100.

  • Name
    sort_by
    Type
    string
    Description

    Urutan pengurutan.

    Nilai yang tersedia:

    • +created_at: terlama lebih dulu
    • -created_at: terbaru lebih dulu

Returns

Daftar berhalaman dari objek tugas Remesh.


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

Streaming tugas Remesh

Melakukan streaming pembaruan 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 dari respons pembuatan.

Returns

Sebuah stream objek tugas Remesh sebagai Server-Sent Events.

Setiap event memuat objek tugas lengkap, dalam bentuk yang sama seperti yang dikembalikan oleh endpoint Get. Selama tugas berstatus PENDING atau IN_PROGRESS, bidang hasilnya belum memiliki nilai.


Objek tugas Remesh

Objek tugas Remesh menggambarkan satu proses remesh dari model 3D. Objek ini menyimpan status, progress, dan file model ketika tugas berhasil.

Properti

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 tugas. Perlakukan ini sebagai string buram, dan jangan bergantung pada formatnya.

  • Name
    type
    Type
    string
    Description

    Jenis tugas, selalu remesh.

  • Name
    model_urls
    Type
    object
    Description

    URL unduhan untuk model yang telah di-remesh, satu per format file. Format yang tidak dihasilkan oleh tugas tidak memiliki kunci, bukannya berupa string kosong.

    • Name
      glb
      Type
      string
      Description

      File GLB.

    • Name
      fbx
      Type
      string
      Description

      File FBX.

    • Name
      obj
      Type
      string
      Description

      File OBJ.

    • Name
      usdz
      Type
      string
      Description

      File USDZ.

    • Name
      blend
      Type
      string
      Description

      File Blender.

    • Name
      stl
      Type
      string
      Description

      File STL.

    • Name
      3mf
      Type
      string
      Description

      File 3MF. Hanya ada ketika target_formats menyertakan 3mf.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL unduhan untuk gambar pratinjau dari model yang telah di-remesh.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL unduhan untuk versi thumbnail_url dengan latar belakang transparan (RGBA). Hanya ada ketika Anda membuat tugas dengan alpha_thumbnail: true dan Meshy berhasil merender pratinjau transparan.

  • Name
    progress
    Type
    integer
    Description

    Seberapa banyak tugas telah selesai, dalam bentuk persentase. Nilainya 0 sampai tugas dimulai dan 100 ketika tugas berhasil.

  • Name
    status
    Type
    string
    Description

    Status tugas, salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, atau CANCELED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Jumlah tugas yang berada di depan tugas ini dalam antrean. Nilai ini hanya berarti selama tugas berstatus PENDING.

  • Name
    created_at
    Type
    timestamp
    Description

    Waktu tugas dibuat, dalam milidetik Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Waktu tugas dimulai, dalam milidetik Unix. Nilainya 0 sampai tugas dimulai.

  • Name
    finished_at
    Type
    timestamp
    Description

    Waktu tugas selesai, dalam milidetik Unix. Nilainya 0 sampai tugas selesai.

  • Name
    expires_at
    Type
    timestamp
    Description

    Waktu URL unduhan tugas kedaluwarsa, dalam milidetik Unix. Nilainya 0 sampai tugas selesai.

  • Name
    texture_urls
    Type
    array
    Description

    URL unduhan untuk peta tekstur model, ketika tugas berhasil: sebuah array berisi objek, satu per set tekstur. Setiap objek memiliki URL base_color, dan juga dapat memiliki URL metallic, roughness, normal, emission, dan metallic_roughness. Nilainya null sampai tugas berhasil, dan berupa array kosong ketika model tidak memiliki peta tekstur.

  • Name
    task_error
    Type
    object
    Description

    Detail kesalahan ketika tugas gagal. Lihat Kesalahan.

  • Name
    consumed_credits
    Type
    integer
    Description

    Jumlah kredit yang digunakan oleh tugas. Ada ketika status adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Nilainya 0 untuk tugas FAILED, karena Meshy mengembalikan kredit ketika tugas gagal.