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.
Cipta tugas Remesh
Mencipta tugas Remesh. Tugas berjalan di latar belakang. Untuk tempoh biasa sesuatu tugas mengambil masa, lihat Masa pemprosesan.
Untuk menukar format model atau mengubah saiznya, gunakan Convert API atau Resize API. Parameter lapuk pada halaman ini masih berfungsi, tetapi integrasi baharu sepatutnya menggunakan endpoint tersebut.
Request
# 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 statusSUCCEEDED.
- 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 menggunakaninput_task_id.Model mestilah fail GLB, glTF, OBJ, FBX, atau STL bersaiz maksimum 400 MB daripada URL
httpatauhttps, atau 100 MB sebagai data URI. Untuk data URI, gunakan MIME typeapplication/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:
glbfbxobjusdzblendstl3mf
- Name
- topology
- Type
- string
- lalai triangle
- Description
Jenis muka bagi model yang di-remesh.
Nilai yang tersedia:
quad: jejaring dominan segi empattriangle: jejaring segi tiga yang didesimasi
- Name
- target_polycount
- Type
- integer
- lalai 30000
- Description
Bilangan muka yang disasarkan, dari
100hingga300000. Hasilnya boleh berbeza daripada sasaran, bergantung pada geometri model. Nilai di luar julat ini memulangkan400.
- Name
- decimation_mode
- Type
- integer
- Description
Bilangan muka adaptif, mengikut tahap. Apabila anda menetapkannya, Meshy mengabaikan
target_polycount.Nilai yang tersedia:
1: ultra2: tinggi3: sederhana4: 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, danauto_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, danauto_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, danauto_size.
- Name
- origin_at
- Type
- string
- ⚠ lapuk
- lalai bottom
- Description
Gunakan Resize API sebagai gantinya. Lokasi untuk meletakkan titik asal model,
bottomataucenter. Nilai lalai digunakan apabila anda menghantarresize_height,resize_longest_side, atauauto_size. Tanpa salah satu daripadanya, Meshy hanya memindahkan titik asal jika anda menghantarorigin_at.
- Name
- convert_format_only
- Type
- boolean
- ⚠ lapuk
- Description
Gunakan Convert API sebagai gantinya. Sama ada hanya untuk menukar model kepada
target_formats. Apabilatrue, Meshy mengabaikantopology,target_polycount,decimation_mode,resize_height,resize_longest_side, danauto_size, tetapi masih menyemak nilainya, jadi nilai yang tidak sah akan memulangkan400. Denganconvert_format_only: true,target_formatsyang kosong ataunullakan memulangkan400.
- Name
- alpha_thumbnail
- Type
- boolean
- lalai false
- Description
Sama ada untuk turut merender pratonton dengan latar belakang lutsinar (RGBA), dipulangkan dalam
alpha_thumbnail_urlapabila anda mendapatkan tugas tersebut.thumbnail_urltidak 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_urlmahupuninput_task_idtidak dihantar. - Tugas input tidak sah:
input_task_idbukan tugas API yang berjaya, atau model AI-nya tidak menyokong remesh. - Format model tidak sah: Fail
model_urlmempunyai sambungan yang tidak disokong. - URL tidak boleh dicapai: Meshy tidak dapat memuat turun fail
model_url. - Fail model terlalu besar: Fail
model_urlmelebihi 400 MB daripada URLhttpatauhttps, atau melebihi 100 MB sebagai data URI. - Terlalu banyak muka: Fail
model_urlmelebihi 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_urlialah FBX ASCII yang melebihi 100 MB. Hantar sebagai FBX binari atau GLB. - Fail model tidak boleh dibaca: Fail
model_urlmelebihi 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_urlmelebihi 100 MB, dan headernya mempunyai terlalu banyak jejaring, nod, atau rekod untuk disemak. Kurangkan bilangan objek dalam fail, kemudian hantar semula. - Topologi tidak sah:
topologybukanquadatautriangle. - Parameter saling eksklusif: Permintaan mempunyai lebih daripada satu daripada
auto_size,resize_height, danresize_longest_side. Hantar hanya satu.
Betulkan permintaan, kemudian hantar semula. Lihat Ralat.
- Parameter hilang: Baik
- 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_idialah model bas-relief, yang tidak dapat di-remesh oleh endpoint ini. Mesejnya ialahThis model type does not support this operation. Hantar model yang berbeza.
- Name
404 - Not Found- Description
input_task_idtidak 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.
Dapatkan tugas Remesh
Mengembalikan tugas Remesh berdasarkan ID-nya.
Request
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
Padam tugas Remesh
Memadam tugas Remesh secara kekal, termasuk model dan datanya. Anda tidak boleh membatalkan pemadaman.
Request
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.
Senaraikan tugas Remesh
Mengembalikan senarai tugas Remesh anda.
Request
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 mengembalikan400.
- 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.
Alirkan tugas Remesh
Mengalirkan kemas kini tugas Remesh sebagai Server-Sent Events (SSE).
Request
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_formatsmengandungi3mf.
- 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_urldengan latar belakang lutsinar (RGBA). Hadir hanya apabila anda mencipta tugasan denganalpha_thumbnail: truedan Meshy berjaya merender pratonton lutsinar tersebut.
- Name
- progress
- Type
- integer
- Description
Berapa banyak tugasan telah selesai, dalam bentuk peratusan. Nilainya
0sehingga tugasan bermula dan100apabila ia berjaya.
- Name
- status
- Type
- string
- Description
Status tugasan, salah satu daripada
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, atauCANCELED.
- 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
0sehingga tugasan bermula.
- Name
- finished_at
- Type
- timestamp
- Description
Masa tugasan selesai, dalam milisaat Unix. Nilainya
0sehingga tugasan selesai.
- Name
- expires_at
- Type
- timestamp
- Description
Masa URL muat turun tugasan tamat tempoh, dalam milisaat Unix. Nilainya
0sehingga 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 URLmetallic,roughness,normal,emission, danmetallic_roughness. Nilainyanullsehingga 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, atauSUCCEEDED. Nilainya0untuk tugasanFAILED, kerana Meshy memulangkan semula kredit apabila tugasan gagal.