API UV Unwrap
API UV Unwrap secara otomatis menghasilkan UV unwrap berkualitas tinggi untuk model 3D yang ada. Gunakan ini sebagai langkah prasyarat sebelum tekstur — atau kapan pun Anda memerlukan tata letak UV yang bersih dan tidak tumpang tindih untuk alat hilir (Blender, Substance Painter, Unreal).
Outputnya adalah "model putih UV" — bentuk yang sama dengan input tetapi dengan koordinat UV baru dan tanpa tekstur nyata (material placeholder abu-abu 2×2 disertakan untuk menjaga slot material glTF tetap valid; alat standar memperlakukan ini sebagai tidak bertekstur).
Batasan. Auto UV saat ini mendukung mesh hingga 40.000 wajah — model yang lebih besar ditolak dengan 400; jalankan Remesh terlebih dahulu untuk mengurangi jumlah poligon. Mesh quad dan n-gon ditriangulasi selama pembuatan UV, sehingga outputnya selalu berupa mesh segitiga.
Create an UV Unwrap Task
Endpoint ini membuat tugas UV Unwrap baru.
Tugas ini berjalan di latar belakang. Untuk mengetahui perkiraan durasinya, lihat Processing Times.
Parameter
Tepat salah satu dari input_task_id atau model_url wajib diisi. Jika keduanya diberikan, input_task_id memiliki prioritas.
- Name
- input_task_id
- Type
- string
- Wajib
- Description
ID dari tugas Meshy API yang telah selesai dan output GLB-nya ingin Anda UV-unwrap (misalnya hasil Gambar ke 3D, Teks ke 3D, atau Remesh). Tugas sumber harus memiliki status
SUCCEEDEDdan telah menghasilkan file GLB.Jika mesh sumber melebihi batas atas jumlah wajah sebesar 40.000 wajah, permintaan akan ditolak dengan
400dan Anda harus menjalankan Remesh terlebih dahulu untuk menurunkan jumlah poligon.
- Name
- model_url
- Type
- string
- Wajib
- Description
Berikan model 3D secara langsung melalui URL yang dapat diakses secara publik atau data URI. Hanya
.glbyang didukung — API ini membaca glTF binary dan tidak mengurai format lain. Untuk melakukan UV-unwrap pada model dalam format lain (.fbx,.obj,.stl,.gltf), konversikan terlebih dahulu ke.glbmelalui Convert API, lalu berikan ID tugas hasilnya sebagaiinput_task_idatau URL output GLB-nya di sini.Untuk Data URI, gunakan MIME type
application/octet-stream.Ukuran file maksimum: 400 MB untuk URL
httpatauhttps, 100 MB untuk URIdata:. GLB yang berukuran lebih dari 100 MB tidak boleh menggunakan kompresi Draco.Batas atas 40.000 wajah yang sama berlaku seperti pada
input_task_id: mesh yang berukuran berlebihan akan ditolak dengan400— jalankan Remesh terlebih dahulu.
Returns
Properti result pada respons berisi id dari tugas UV Unwrap yang baru dibuat.
Mode Kegagalan
- Name
400 - Bad Request- Description
Permintaan tidak dapat diterima. Penyebab umum:
- Parameter hilang: Salah satu dari
input_task_idataumodel_urlharus diberikan. - Tugas input tidak valid:
input_task_idharus merujuk pada tugas yang berhasil dengan hasil GLB. - Jumlah wajah melebihi batas: Mesh sumber memiliki jumlah wajah lebih besar dari batas atas UV Unwrap. Jalankan Remesh terlebih dahulu.
- Format model tidak valid:
model_urlmenunjuk ke file dengan ekstensi yang tidak didukung. - URL tidak dapat dijangkau: File
model_urltidak dapat diunduh. - File model terlalu besar: File
model_urlmelebihi 400 MB (URLhttpatauhttps) atau 100 MB (URIdata:). - Terlalu banyak wajah: File
model_urlberukuran lebih dari 100 MB dan memiliki lebih dari 10.000.000 wajah. Kurangi jumlah wajah, lalu kirim ulang file tersebut. - File model tidak dapat dibaca: File
model_urlberukuran lebih dari 100 MB dan headernya tidak dapat dibaca, misalnya GLB yang terkompresi Draco. - 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 tersebut, lalu kirim ulang.
- Parameter hilang: Salah satu dari
- Name
401 - Unauthorized- Description
Autentikasi gagal. Silakan periksa kunci API Anda.
- Name
402 - Payment Required- Description
Kredit tidak cukup untuk menjalankan tugas ini. UV Unwrap membutuhkan biaya 5 kredit per panggilan.
- Name
404 - Not Found- Description
Fitur ini tidak diaktifkan untuk akun Anda. UV Unwrap dibatasi oleh flag Statsig selama masa peluncuran — hubungi dukungan Meshy jika Anda memerlukan akses.
- Name
429 - Too Many Requests- Description
Anda telah melampaui batas laju Anda.
Request
# Chain from an existing Meshy task
curl https://api.meshy.ai/openapi/v1/uv-unwrap \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}'
# Or from a publicly accessible model URL
curl https://api.meshy.ai/openapi/v1/uv-unwrap \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/path/to/model.glb"
}'
Response
{
"result": "019361c6-9b34-7b23-bef2-d0107c4d92e2"
}
Mengambil Tugas UV Unwrap
Endpoint ini mengambil status saat ini dari tugas UV Unwrap berdasarkan ID.
Mengembalikan
Mengembalikan sebuah objek Tugas UV Unwrap.
Permintaan
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Lihat contoh objek tugas di bawah ini.
Menghapus Tugas UV Unwrap
Menghapus tugas UV Unwrap secara permanen. Tugas dan hasil keluarannya menjadi tidak dapat diakses lagi.
Tugas yang masih berstatus PENDING akan dihapus dan kredit yang terpakai
saat pembuatan akan dikembalikan.
Tugas yang sudah berstatus IN_PROGRESS tidak dapat dihapus: permintaan
akan ditolak dengan 409 Conflict dan tugas tetap berjalan. Kredit untuk
tugas yang sudah mulai dikerjakan oleh worker tidak dapat dikembalikan,
sehingga menghapusnya di tengah proses akan membuat Anda kehilangan
kredit sekaligus hasilnya. Tunggu hingga mencapai status SUCCEEDED,
FAILED, atau CANCELED, baru kemudian hapus tugas tersebut.
Tugas dengan status akhir (SUCCEEDED, FAILED, atau CANCELED) akan
dihapus tanpa pengembalian kredit.
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-X DELETE \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Daftar Tugas UV Unwrap
Mengembalikan daftar paginasi dari tugas UV Unwrap pemanggil, terbaru terlebih dahulu. Paginasi standar melalui page_num dan page_size.
Permintaan
curl "https://api.meshy.ai/openapi/v1/uv-unwrap?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Streaming Tugas UV Unwrap
Berlangganan untuk progress tugas sebagai Server-Sent Events. Setiap acara message membawa sebuah objek Tugas UV Unwrap; aliran akan ditutup setelah tugas mencapai SUCCEEDED, FAILED, atau CANCELED.
Gunakan ini sebagai pengganti polling GET /openapi/v1/uv-unwrap/:id untuk latensi yang lebih rendah pada penyelesaian.
Permintaan
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-N
Objek Tugas UV Unwrap
- Name
- id
- Type
- string
- Description
Pengenal unik untuk tugas.
- Name
- type
- Type
- string
- Description
Selalu
uv-unwrap.
- Name
- model_urls
- Type
- object
- Description
URL unduhan yang telah ditandatangani sebelumnya untuk model putih UV yang dihasilkan. UV Unwrap selalu mengembalikan satu entri
glb— keluaran mempertahankan geometri input, mengganti dengan koordinat UV baru, dan menggunakan material abu-abu default sebagai pengganti tekstur.
- Name
- thumbnail_url
- Type
- string
- Description
URL yang telah ditandatangani sebelumnya ke pratinjau PNG dari model putih UV.
- Name
- progress
- Type
- integer
- Description
Progress tugas, dari
0hingga100.
- Name
- status
- Type
- string
- Description
Salah satu dari
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Jumlah tugas yang antre sebelum tugas ini. Ada saat status adalah
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Stempel waktu pembuatan tugas, dalam milidetik.
- Name
- started_at
- Type
- timestamp
- Description
Stempel waktu saat pemrosesan dimulai, dalam milidetik.
0hingga dimulai.
- Name
- finished_at
- Type
- timestamp
- Description
Stempel waktu penyelesaian, dalam milidetik.
0hingga selesai.
- Name
- expires_at
- Type
- timestamp
- Description
Stempel waktu setelah URL unduhan yang ditandatangani kedaluwarsa, dalam milidetik.
- Name
- task_error
- Type
- object
- Description
Detail kesalahan untuk tugas yang gagal. Lihat Kesalahan untuk referensi lengkap objek
task_error.
- Name
- consumed_credits
- Type
- integer
- Description
Kredit yang dikonsumsi oleh tugas ini. Mengembalikan
0untuk tugasFAILED(kredit dikembalikan pada kegagalan). UV Unwrap mengenakan biaya 5 kredit pada keberhasilan.
Contoh Objek Tugas UV Unwrap
{
"id": "019361c6-9b34-7b23-bef2-d0107c4d92e2",
"type": "uv-unwrap",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/019361c6-9b34-7b23-bef2-d0107c4d92e2/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/019361c6-9b34-7b23-bef2-d0107c4d92e2/output/preview.png?Expires=***",
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1716579120000,
"started_at": 1716579122000,
"finished_at": 1716579180000,
"expires_at": 1716665580000,
"task_error": {
"message": ""
},
"consumed_credits": 5
}