API Ubah ukuran
Ubah ukuran model 3D menjadi ukuran dunia nyata, dalam meter. Atur tingginya atau panjang sisi terpanjangnya, atau biarkan Meshy memperkirakan tinggi objek di dunia nyata.
Buat tugas Resize
Membuat tugas Resize. Tugas ini berjalan di latar belakang. Untuk mengetahui berapa lama tugas biasanya berlangsung, lihat Processing times.
Request
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"resize_height": 1.8
}'
# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb",
"resize_longest_side": 2.0,
"origin_at": "center"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Parameter
- Name
- input_task_id
- Type
- string
- Wajib
- Description
Wajib diisi kecuali Anda mengirim
model_url. ID dari tugas yang menghasilkan model 3D, misalnya tugas Text to 3D, Image to 3D, Remesh, atau Retexture. Tugas tersebut harus berasal dari API dan memiliki statusSUCCEEDED. Meshy mengembalikan model yang telah diubah ukurannya sebagai file GLB.
- Name
- model_url
- Type
- string
- Wajib
- Description
Wajib diisi kecuali Anda mengirim
input_task_id. Model yang akan diubah ukurannya, berupa URL publik atau data URI. Jika Anda mengirim keduanya, Meshy akan menggunakaninput_task_id.Model harus berupa file GLB, glTF, OBJ, FBX, atau STL dengan ukuran maksimum 400 MB dari URL
httpatauhttps, atau 100 MB sebagai data URI. Untuk data URI, gunakan MIME typeapplication/octet-stream.File yang berukuran lebih dari 100 MB juga harus mengikuti aturan berikut:
- File GLB, glTF, FBX, atau OBJ dapat memiliki paling banyak 10.000.000 faces. Meshy menghitung faces sebagai triangles, sehingga quad dihitung sebagai 2, dan mesh yang digambar lebih dari sekali dihitung satu kali per salinan.
- File FBX harus berupa binary FBX 7.1 atau yang lebih baru.
- File GLB atau glTF tidak boleh menggunakan kompresi Draco.
File GLB, OBJ, FBX, atau STL akan mempertahankan formatnya pada hasil. File
.gltfatau data URI akan dikembalikan sebagai GLB.
Kirim tepat satu dari resize_height, resize_longest_side, atau auto_size. Jika tidak mengirim satu pun, atau mengirim lebih dari satu, akan menghasilkan 400.
- Name
- resize_height
- Type
- number
- Description
Tinggi baru model dalam meter, harus lebih besar dari 0. Nilai negatif akan menghasilkan
400.
- Name
- resize_longest_side
- Type
- number
- Description
Panjang baru dari sisi terpanjang model dalam meter, harus lebih besar dari 0. Nilai negatif akan menghasilkan
400. Meshy mempertahankan rasio aspek model.
- Name
- auto_size
- Type
- boolean
- Description
Apakah akan memperkirakan tinggi objek di dunia nyata menggunakan AI vision dan mengubah ukuran model sesuai dengan itu. Kecuali Anda mengatur
origin_at, Meshy akan menempatkan titik asal di bagian bawah.
- Name
- origin_at
- Type
- string
- default bottom
- Description
Tempat menempatkan titik asal model setelah pengubahan ukuran,
bottomataucenter.
Hasil yang dikembalikan
Bidang result pada respons berisi ID dari tugas Resize yang baru.
Mode kegagalan
- Name
400 - Bad Request- Description
Permintaan tidak dapat dijalankan. Pesan kesalahan menyebutkan masalah apa yang ditemukan. Contohnya:
- Parameter hilang: Baik
model_urlmaupuninput_task_idtidak dikirim. - Mode resize hilang: Tidak ada satu pun dari
resize_height,resize_longest_side, danauto_sizeyang dikirim. - Parameter saling eksklusif: Permintaan memiliki lebih dari satu dari
resize_height,resize_longest_side, danauto_size. Kirim hanya satu. - Ukuran negatif:
resize_heightatauresize_longest_sidebernilai negatif. - Tugas input tidak valid:
input_task_idbukan tugas API yang berhasil dengan file model. - Format model tidak valid: File
model_urlmemiliki ekstensi yang tidak didukung. - URL tidak dapat dijangkau: Meshy tidak dapat mengunduh file
model_url. - File model terlalu besar: File
model_urlberukuran lebih dari 400 MB dari URLhttpatauhttps, atau lebih dari 100 MB sebagai data URI. - Terlalu banyak faces: File
model_urlberukuran lebih dari 100 MB dan memiliki lebih dari 10.000.000 faces. Kurangi jumlah faces, lalu kirim file tersebut lagi. - ASCII FBX lebih dari 100 MB: File
model_urladalah ASCII FBX yang berukuran lebih dari 100 MB. Kirim sebagai binary FBX atau GLB. - File model tidak dapat dibaca: File
model_urlberukuran lebih dari 100 MB, dan Meshy tidak dapat membaca headernya. Contohnya, file tersebut adalah GLB atau glTF terkompresi Draco, atau binary FBX yang lebih lama dari 7.1. - Header model terlalu kompleks: File
model_urlberukuran lebih dari 100 MB, dan headernya memiliki terlalu banyak mesh, node, atau record untuk diperiksa. Kurangi jumlah objek dalam file, lalu kirim lagi.
Perbaiki permintaan, lalu kirim lagi. Lihat Errors.
- Parameter hilang: Baik
- Name
401 - Unauthorized- Description
Kunci API hilang atau tidak valid. Periksa header
Authorization.
- Name
402 - Payment Required- Description
Contohnya:
- Kredit tidak cukup: Akun tidak memiliki cukup kredit untuk tugas ini, atau akun telah 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_idadalah model bas-relief, yang tidak dapat diubah ukurannya oleh endpoint ini. Pesannya adalahThis model type does not support this operation. Kirim model yang berbeda.
- Name
404 - Not Found- Description
input_task_idtidak cocok dengan tugas Anda mana pun. Periksa ID tugas, lalu kirim permintaan lagi.
- Name
429 - Too Many Requests- Description
Anda melampaui batas laju Anda. Tunggu, lalu coba lagi. Lihat Rate limits.
Dapatkan task Ubah ukuran
Mengembalikan task Ubah ukuran berdasarkan ID-nya.
Request
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Hapus tugas Resize
Menghapus tugas Resize secara permanen, termasuk model dan datanya. Anda tidak dapat membatalkan penghapusan.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/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 jalur
- 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 tersebut akan tetap berjalan. Meshy tidak mengembalikan kredit untuk tugas yang sudah dimulai,
jadi menghapusnya akan membuat Anda kehilangan baik kredit maupun hasilnya. Tunggu hingga tugas tersebut
mencapai SUCCEEDED, FAILED, atau CANCELED, lalu hapus tugas tersebut.
Menghapus tugas dengan status akhir (SUCCEEDED, FAILED, atau CANCELED)
tidak akan mengembalikan kreditnya.
Mengembalikan
200 OK saat tugas berhasil dihapus, atau 409 Conflict saat tugas
berstatus IN_PROGRESS.
Daftar tugas Ubah ukuran
Mengembalikan daftar tugas Ubah ukuran Anda.
Request
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Parameter
- Name
- page_num
- Type
- integer
- default 1
- Description
Nomor halaman yang akan dikembalikan, hingga
255. Nilai yang lebih besar akan mengembalikan400.
- 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: yang terlama lebih dulu-created_at: yang terbaru lebih dulu
Returns
Daftar berhalaman dari objek tugas Ubah ukuran.
Streaming Tugas Resize
Melakukan streaming pembaruan tugas Resize sebagai Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Parameter
- Name
- id
- Type
- path
- Description
ID tugas dari respons pembuatan.
Returns
Sebuah stream objek tugas Resize sebagai Server-Sent Events.
Setiap event menyimpan objek tugas lengkap, dalam bentuk yang sama seperti yang dikembalikan oleh endpoint Get. Selama tugas masih PENDING atau IN_PROGRESS, bidang hasilnya belum memiliki nilai.
The Resize task object
Objek task Resize menjelaskan satu proses pengubahan ukuran model 3D. Objek ini menyimpan status, progress, dan file model saat task berhasil.
Properties
- Name
- id
- Type
- string
- Description
ID task. Perlakukan sebagai string buram, dan jangan bergantung pada formatnya.
- Name
- type
- Type
- string
- Description
Jenis task, selalu
resize.
- Name
- model_urls
- Type
- object
- Description
URL unduhan untuk file model yang telah diubah ukurannya. Untuk
input_task_id, filenya selalu GLB. Untukmodel_url, file GLB, OBJ, FBX, atau STL akan mempertahankan formatnya, sedangkan file.gltfatau data URI akan dikembalikan sebagai GLB.
- Name
- progress
- Type
- integer
- Description
Seberapa banyak task telah selesai, dalam persentase. Nilainya
0sampai task dimulai dan100saat berhasil.
- Name
- status
- Type
- string
- Description
Status task, salah satu dari
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, atauCANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Jumlah task yang berada di depan task ini dalam antrean. Nilai ini hanya berarti selama task berstatus
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Waktu task dibuat, dalam milidetik Unix.
- Name
- started_at
- Type
- timestamp
- Description
Waktu task dimulai, dalam milidetik Unix. Nilainya
0sampai task dimulai.
- Name
- finished_at
- Type
- timestamp
- Description
Waktu task selesai, dalam milidetik Unix. Nilainya
0sampai task selesai.
- Name
- expires_at
- Type
- timestamp
- Description
Waktu URL unduhan task kedaluwarsa, dalam milidetik Unix. Nilainya
0sampai task selesai.
- Name
- texture_urls
- Type
- array
- Description
URL unduhan untuk peta tekstur model, saat task berhasil: sebuah array objek, satu untuk setiap set tekstur. Setiap objek memiliki URL
base_color, dan juga dapat memiliki URLmetallic,roughness,normal,emission, danmetallic_roughness. Nilainyanullsampai task berhasil, dan array kosong saat model tidak memiliki peta tekstur.
- Name
- task_error
- Type
- object
- Description
Detail kesalahan saat task gagal. Lihat Kesalahan.
- Name
- consumed_credits
- Type
- integer
- Description
Jumlah kredit yang digunakan task, yaitu
1untuk task Resize. Nilainya0untuk taskFAILED.