Retexture API adalah fitur yang memungkinkan Anda mengintegrasikan kemampuan retekstur AI dari Meshy ke dalam aplikasi Anda sendiri. Pada bagian ini, Anda akan menemukan semua informasi
yang Anda butuhkan untuk memulai menggunakan API ini.
Endpoint ini memungkinkan Anda membuat task Retexture baru. Lihat
The Retexture Task Object untuk melihat
properti mana saja yang termasuk dalam objek task Retexture.
Parameter
Hanya salah satu dari input_task_id atau model_url yang wajib diisi. Jika keduanya diberikan, input_task_id diprioritaskan.
Name
input_task_id
Type
string
Wajib
Description
ID dari task Image to 3D atau Text to 3D yang telah selesai yang ingin Anda retexture.
Task ini harus merupakan salah satu dari task berikut: Text to 3D Preview, Text to 3D Refine, Image to 3D, atau Remesh. Selain itu, statusnya harus SUCCEEDED.
Name
model_url
Type
string
Wajib
Description
Berikan model 3D untuk diberi tekstur oleh Meshy. Format yang didukung: .glb, .gltf, .obj, .fbx, .stl.
Ada dua cara untuk menyediakan model:
URL yang dapat diakses publik: URL yang dapat diakses dari internet publik.
Data URI: Data URI model yang dienkode base64. Gunakan MIME type application/octet-stream. Contoh: data:application/octet-stream;base64,<data model base64 Anda>.
Tepat satu input gaya wajib diisi: text_style_prompt, image_style_url, atau multiview_image_urls. multiview_image_urls tidak dapat digabungkan dengan salah satu dari dua parameter lainnya; jika text_style_prompt dan image_style_url sama-sama diberikan, image_style_url diprioritaskan.
Name
text_style_prompt
Type
string
Wajib
Description
Deskripsikan gaya tekstur objek yang Anda inginkan menggunakan teks. Maksimal 800 karakter.
Name
image_style_url
Type
string
Wajib
Description
Berikan gambar 2d untuk memandu proses pemberian tekstur. Kami saat ini mendukung format .jpg, .jpeg, dan .png.
Ada dua cara untuk menyediakan gambar:
URL yang dapat diakses publik: URL yang dapat diakses dari internet publik
Data URI: Data URI gambar yang dienkode base64. Contoh data URI: data:image/jpeg;base64,<data gambar base64 Anda>
Pemberian tekstur gambar mungkin tidak bekerja secara optimal jika terdapat perbedaan geometri yang signifikan antara aset asli dan gambar yang diunggah.
Name
multiview_image_urls
Type
string[]
Wajib
Description
Berikan 1 hingga 4 gambar yang menampilkan objek yang sama dari sudut pandang berbeda untuk memandu pemberian tekstur. Gambar pertama adalah tampilan utama (depan); urutan tampilan sisanya (kiri, belakang, kanan) tidak menjadi masalah.
Setiap elemen menerima format yang sama seperti image_style_url (URL yang dapat diakses publik atau data URI base64, .jpg/.jpeg/.png).
Membutuhkan ai_model: "meshy-7" secara eksplisit.
Name
ai_model
Type
string
default latest
Description
ID model AI yang digunakan untuk retexture. Nilai yang tersedia: meshy-6-lite, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
default false
Description
Pertahankan tata letak UV model yang sudah ada alih-alih membuat yang baru.
Jika Anda melakukan retexture pada model yang dihasilkan Meshy (melalui input_task_id, atau model_url yang mengarah ke output Meshy), atur ke true untuk menggunakan kembali tata letak UV yang telah dioptimalkan.
Jika Anda melakukan retexture pada model pihak ketiga yang Anda unggah, atur ke true jika model tersebut sudah memiliki UV yang baik dan ingin dipertahankan, atau biarkan false agar Meshy melakukan unwrap UV baru (paling cocok untuk model yang tidak memiliki pemetaan UV yang baik).
Name
enable_pbr
Type
boolean
default false
Description
Menghasilkan peta PBR (metallic, roughness, normal) selain warna dasar. Peta emisi juga disertakan ketika ai_model adalah meshy-6, kecuali pada texture_resolution: 8k. meshy-6-lite, meshy-7, dan latest tidak menghasilkan peta emisi.
Name
texture_resolution
Type
string
default 2k
Description
Resolusi tekstur warna dasar. Salah satu dari 2k (2048×2048), 4k (4096×4096), atau 8k (8192×8192). Resolusi yang lebih tinggi menangkap lebih banyak detail permukaan.
4k dan 8k membutuhkan ai_modelmeshy-6, meshy-7, atau latest. Pada 8k, tidak ada peta emisi yang dihasilkan.
Name
hd_texture
Type
boolean
⚠ usang
default false
Description
Gunakan texture_resolution sebagai gantinya — setara dengan texture_resolution: "4k". Jika keduanya diatur, texture_resolution diprioritaskan.
Name
remove_lighting
Type
boolean
default true
Description
Menghapus highlight dan bayangan dari tekstur warna dasar, menghasilkan hasil yang lebih bersih yang bekerja lebih baik di bawah pengaturan pencahayaan khusus.
Hanya didukung ketika ai_model adalah meshy-6.
Name
target_formats
Type
string[]
Description
Menentukan format file 3D mana yang akan disertakan dalam output. Hanya format yang diminta yang akan dihasilkan dan dikembalikan, yang dapat mengurangi waktu penyelesaian task. Jika tidak disertakan, semua format yang didukung akan disertakan.
Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf
Jika tidak disertakan, semua format kecuali 3mf akan dihasilkan. 3mf hanya disertakan jika ditentukan secara eksplisit.
Name
alpha_thumbnail
Type
boolean
default false
Description
Ketika diatur ke true, task tersebut juga akan merender versi latar belakang transparan (RGBA) dari pratinjau dan mengembalikannya sebagai alpha_thumbnail_url pada respons GET. Field thumbnail_url yang sudah ada tidak berubah.
Returns
Properti result pada respons berisi id task dari task Retexture yang baru dibuat.
Failure Modes
Name
400 - Bad Request
Description
Permintaan tidak dapat diterima. Penyebab umum:
Parameter hilang: Salah satu dari model_url atau input_task_id harus disediakan.
Gaya hilang: Salah satu dari text_style_prompt, image_style_url, atau multiview_image_urls harus disediakan.
Input gaya bertentangan: multiview_image_urls tidak dapat digabungkan dengan text_style_prompt atau image_style_url.
Model tidak didukung untuk multi-tampilan: multiview_image_urls membutuhkan ai_model: "meshy-7" secara eksplisit.
Model tidak tersedia: ai_model: "meshy-7" dan ai_model: "meshy-6-lite" sedang diluncurkan secara bertahap dan mungkin belum diaktifkan untuk akun Anda.
Task input tidak valid: input_task_id harus merujuk pada task yang berhasil dari model yang didukung.
Format model tidak valid: model_url mengarah ke file dengan ekstensi yang tidak didukung.
URL tidak dapat dijangkau: model_url, image_style_url, atau elemen multiview_image_urls tidak dapat diunduh.
Name
401 - Unauthorized
Description
Autentikasi gagal. Silakan periksa kunci API Anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melakukan task ini.
Name
429 - Too Many Requests
Description
Anda telah melampaui batas laju Anda.
Request
POST
/openapi/v1/retexture
# Retexture with text promptcurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style", "enable_original_uv": true, "enable_pbr": true }'# Retexture with image style and PBRcurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "image_style_url": "https://cdn.meshy.ai/image/example_image.jpg", "ai_model": "latest", "enable_pbr": true, "enable_original_uv": true }'
Endpoint ini memungkinkan Anda mengambil task Retexture dengan id task yang valid.
Lihat Objek Task Retexture untuk melihat properti
apa saja yang disertakan dalam objek task Retexture.
Parameter
Name
id
Type
path
Description
Pengenal unik untuk task Retexture yang ingin diambil.
Nilai Balik
Respons berisi objek task Retexture. Lihat bagian
Objek Task Retexture untuk detailnya.
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","texture_image_url":"","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"task_error": {"message":"" },"consumed_credits":10}
Endpoint ini menghapus tugas retexture secara permanen, termasuk semua model dan data yang terkait. Tindakan ini tidak dapat dibatalkan.
Parameter Path
Name
id
Type
path
Description
ID dari tugas retexture yang akan dihapus.
Status Tugas
Tugas yang masih berstatus PENDING akan dihapus dan kredit yang
digunakan pada 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
statusnya mencapai SUCCEEDED, FAILED, atau CANCELED, baru kemudian hapus.
Tugas dalam status akhir (SUCCEEDED, FAILED, atau CANCELED) akan dihapus
tanpa pengembalian kredit.
Returns
Mengembalikan 200 OK jika berhasil, atau 409 Conflict ketika tugas
berstatus IN_PROGRESS.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left 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."}
[ {"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":10 }]
Objek Retexture Task adalah unit kerja yang digunakan Meshy untuk menghasilkan tekstur 3D dari input teks atau gambar.
Model tersebut memiliki properti berikut:
Properties
Name
id
Type
string
Description
Pengenal unik untuk task ini. Meskipun kami menggunakan UUID yang dapat diurutkan secara-k (k-sortable) sebagai
detail implementasi untuk id task, Anda tidak boleh membuat asumsi apa pun tentang format id tersebut.
Name
type
Type
string
Description
Jenis task Retexture. Nilainya adalah retexture.
Name
model_urls
Type
object
Description
URL yang dapat diunduh untuk file model 3D bertekstur yang dihasilkan oleh Meshy.
Name
glb
Type
string
Description
URL yang dapat diunduh untuk file GLB.
Name
fbx
Type
string
Description
URL yang dapat diunduh untuk file FBX.
Name
obj
Type
string
Description
URL yang dapat diunduh untuk file OBJ.
Name
usdz
Type
string
Description
URL yang dapat diunduh untuk file USDZ.
Name
mtl
Type
string
Description
URL yang dapat diunduh untuk file MTL, dikembalikan bersama ekspor OBJ ketika tekstur tersedia.
Name
stl
Type
string
Description
URL yang dapat diunduh untuk file STL.
Name
3mf
Type
string
Description
URL yang dapat diunduh untuk file 3MF. Hanya ada ketika 3mf diminta melalui target_formats.
Name
text_style_prompt
Type
string
Description
Ini adalah prompt teks yang digunakan untuk membuat task pemberian tekstur ini.
Name
image_style_url
Type
string
Description
Ini adalah input gambar yang digunakan untuk membuat task pemberian tekstur ini.
Name
multiview_image_urls
Type
string[]
Description
URL yang dapat diunduh untuk gambar referensi Multi-Tampilan yang digunakan untuk membuat task pemberian tekstur ini. Hanya ada ketika task dibuat dengan multiview_image_urls.
Name
thumbnail_url
Type
string
Description
URL yang dapat diunduh untuk gambar thumbnail dari file model.
Name
alpha_thumbnail_url
Type
string
Description
URL yang dapat diunduh untuk versi latar belakang transparan (RGBA) dari thumbnail_url. Hanya ada ketika task dibuat dengan alpha_thumbnail: true dan pratinjau transparan berhasil dirender; jika tidak, kolom ini akan dihilangkan.
Name
progress
Type
integer
Description
Progress dari task. Jika task belum dimulai, properti ini akan bernilai 0. Setelah task berhasil, nilainya akan menjadi 100.
Name
started_at
Type
timestamp
Description
Stempel waktu saat task dimulai, dalam milidetik. Jika task belum dimulai, properti ini akan bernilai 0.
Stempel waktu merepresentasikan jumlah milidetik yang telah berlalu sejak 1 Januari 1970 UTC, mengikuti
standar RFC 3339.
Sebagai contoh, Jumat, 1 September 2023 pukul 12:00:00 PM GMT direpresentasikan sebagai 1693569600000. Ini berlaku
untuk semua stempel waktu di Meshy API.
Name
created_at
Type
timestamp
Description
Stempel waktu saat task dibuat, dalam milidetik.
Name
expires_at
Type
timestamp
Description
Stempel waktu saat hasil task kedaluwarsa, dalam milidetik.
Name
finished_at
Type
timestamp
Description
Stempel waktu saat task selesai, dalam milidetik. Jika task belum selesai, properti ini akan bernilai 0.
Name
status
Type
string
Description
Status dari task. Nilai yang mungkin adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Sebuah array objek URL tekstur yang dihasilkan dari task ini. Biasanya ini hanya berisi satu objek URL tekstur. Setiap URL tekstur memiliki properti berikut:
Name
base_color
Type
string
Description
URL yang dapat diunduh untuk gambar peta warna dasar (base color map).
Name
metallic
Type
string
Description
URL yang dapat diunduh untuk gambar peta metallic.
Jika task dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
normal
Type
string
Description
URL yang dapat diunduh untuk gambar normal map.
Jika task dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
roughness
Type
string
Description
URL yang dapat diunduh untuk gambar peta roughness.
Jika task dibuat dengan enable_pbr: false, properti ini akan dihilangkan.
Name
emission
Type
string
Description
URL yang dapat diunduh untuk gambar peta emission.
Jika task dibuat dengan enable_pbr: false, atau ai_model adalah meshy-6-lite, properti ini akan dihilangkan.
Name
preceding_tasks
Type
integer
Description
Jumlah task yang mendahului.
Properti ini hanya ada ketika status task adalah PENDING.
Name
task_error
Type
object
Description
Detail kesalahan untuk task yang gagal. Lihat Kesalahan untuk referensi lengkap objek task_error.
Name
consumed_credits
Type
integer
Description
Jumlah kredit yang dikonsumsi oleh task ini. Ada ketika status task adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk task FAILED (kredit dikembalikan jika gagal).
Example Retexture Task Model
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***" },"text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","image_style_url":"https://assets.meshy.ai/***/image/example_image.jpg?Expires=***","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":10}