Ubah foto sumber menjadi figur koleksi 3D vinil berkepala besar dalam dua
tahap: prototipe menghasilkan gambar konsep bergaya dari foto input Anda,
lalu build mengubah gambar konsep tersebut menjadi model 3D bertekstur.
Kedua tahap ini dihubungkan melalui input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Menghasilkan satu gambar konsep bergaya vinyl figure dari foto sumber. ID task yang dikembalikan adalah yang Anda kirimkan sebagai input_task_id ke endpoint build. Lihat
The Vinyl Figure Prototype Task Object
untuk bentuk responsnya.
Parameter
Name
image_url
Type
string
Wajib
Description
Foto sumber untuk Meshy stilisasi menjadi vinyl figure berkepala besar. Kami saat ini mendukung format .jpg, .jpeg, .png, dan .webp.
Ada dua cara untuk menyediakan gambar:
URL yang dapat diakses publik: URL yang dapat diakses dari internet publik.
Data URI: Data URI gambar yang dikodekan base64. Contoh data URI: data:image/jpeg;base64,<data gambar Anda yang dikodekan base64>.
Name
name
Type
string
Description
Nama task opsional untuk keperluan tampilan. Maksimum 100 karakter.
Name
remove_background
Type
boolean
default false
Description
Jika diatur ke true, gambar prototipe dikembalikan sebagai PNG RGBA transparan dengan latar belakang dihapus, sehingga Anda dapat menggabungkan subjek ke latar belakang apa pun.
Returns
Properti result dari respons berisi id task dari vinyl figure prototype task yang baru dibuat. Poll endpoint Get a Task atau berlangganan stream hingga task mencapai SUCCEEDED, lalu kirimkan ID tersebut ke build endpoint sebagai input_task_id.
Failure Modes
Name
400 - Bad Request
Description
Permintaan tidak dapat diterima. Penyebab umum:
Parameter hilang: image_url wajib diisi.
Format gambar tidak valid: image_url yang diberikan bukan format yang didukung (.jpg, .jpeg, .png, .webp).
Dimensi gambar di luar rentang: Gambar terlalu kecil, melebihi ukuran file maksimum, atau melebihi jumlah piksel maksimum.
URL tidak dapat dijangkau: image_url tidak dapat diunduh (404 atau timeout).
Data URI tidak valid: String base64 salah format.
Konten ditandai: Gambar input ditandai oleh moderation NSFW atau kekayaan intelektual.
Name
401 - Unauthorized
Description
Autentikasi gagal. Silakan periksa kunci API Anda.
Name
402 - Payment Required
Description
Kredit tidak cukup untuk melakukan task ini.
Name
429 - Too Many Requests
Description
Anda telah melampaui batas laju Anda.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/prototype
# Stage 1: generate a vinyl-figure-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'
Response
{"result":"019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"}
Prototype example
Start with a source photo, then generate the prototype image used by the build stage.
Menghasilkan figur vinyl 3D final bertekstur dari task prototype yang berhasil. Proses build ini menjalankan pipeline image-to-3D yang sama seperti
Gambar ke 3D, sehingga format objek respons dan
daftar URL output sama persis. Lihat
The Vinyl Figure Build Task Object
untuk bentuk respons.
Parameter
Name
input_task_id
Type
string
Wajib
Description
Task ID dari task prototype yang dibuat melalui endpoint OpenAPI yang sama ini. Prototype tersebut harus dibuat dengan kunci API yang sama, harus telah mencapai status SUCCEEDED, dan harus telah menghasilkan tepat satu gambar kandidat.
Task prototype yang dibuat melalui webapp tidak diterima — endpoint build hanya menerima task prototype yang dihasilkan oleh POST /openapi/creative-lab/vinyl-figure/v1/prototype dan menolak sumber lainnya dengan 404.
Name
name
Type
string
Description
Nama task opsional untuk keperluan tampilan. Maksimum 100 karakter.
Returns
Properti result pada respons berisi id task dari task build vinyl figure yang baru dibuat. Poll endpoint Get a Task atau berlangganan stream hingga task mencapai SUCCEEDED, lalu unduh GLB bertekstur dari model_urls.glb (atau pasangan OBJ + MTL dari model_urls.obj dan model_urls.mtl jika pipeline hilir Anda lebih menyukai OBJ).
Mode Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak dapat diterima. Penyebab umum:
Parameter hilang: input_task_id wajib diisi.
UUID tidak valid: input_task_id bukan UUID yang valid.
Parent belum berhasil: Task prototype yang dirujuk belum mencapai status SUCCEEDED.
Tidak ada kandidat: Task prototype berhasil tetapi tidak menghasilkan gambar kandidat.
Name
401 - Unauthorized
Description
Autentikasi gagal. Silakan periksa kunci API Anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melakukan task ini.
Name
404 - Not Found
Description
Task prototype yang dirujuk tidak ada, milik pengguna lain, atau dibuat melalui webapp (hanya task prototype mode API yang dapat dirangkai ke build).
Name
429 - Too Many Requests
Description
Anda telah melampaui batas laju Anda.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Mengambil task prototype atau build berdasarkan id task yang valid. Path URL
harus sesuai dengan tahap task tersebut — task build yang diambil melalui
/prototype/:id akan mengembalikan 404, dan begitu pula sebaliknya.
Batalkan tugas vinyl figure. Jika tugas masih PENDING, kredit yang
digunakan saat pembuatan akan dikembalikan. Tugas yang sudah
IN_PROGRESS dibatalkan tanpa pengembalian kredit (worker mungkin sudah
menggunakan sumber daya). Tugas yang sudah mencapai status akhir
(SUCCEEDED, FAILED, CANCELED) tidak dapat dibatalkan.
Jalur URL harus sesuai dengan tahap tugas — DELETE pada
/prototype/:buildId mengembalikan 404.
Parameter Jalur
Name
id
Type
path
Description
Pengenal unik untuk tugas vinyl figure yang akan dibatalkan.
Hasil
Mengembalikan 204 No Content jika berhasil dengan isi kosong.
Mode Kegagalan
Name
400 - Bad Request
Description
Tugas sudah berada dalam status akhir dan tidak dapat dibatalkan.
Name
404 - Not Found
Description
Tugas tidak ada, milik pengguna lain, atau tahapnya tidak sesuai dengan jalur URL.
Alirkan pembaruan real-time untuk tugas vinyl figure melalui Server-Sent Events
(SSE). Path URL harus sesuai dengan tahap tugas — membuka stream di
/prototype/:buildId/stream akan mengeluarkan satu payload event: error dengan
status_code: 404 dan menutup stream tersebut.
Parameter
Name
id
Type
path
Description
Pengenal unik untuk tugas vinyl figure yang akan di-stream.
Returns
Mengembalikan sebuah stream objek tugas Vinyl Figure Prototype
atau Vinyl Figure Build sebagai Server-Sent Events. Setiap frame membawa objek tugas lengkap untuk tahap tersebut — bentuk yang sama seperti yang
dikembalikan oleh endpoint Get — sehingga selama tugas berstatus PENDING atau IN_PROGRESS, field
output belum terisi (null, [] atau {}) dan
finished_at bernilai null.
Ambil daftar bertahap (paginated) dari task vinyl figure Anda untuk satu tahap.
Path URL memilih tahapnya — /prototype mengembalikan task prototype;
/build mengembalikan task build. Task dari tahap lainnya tidak disertakan
dalam kedua respons tersebut.
Path Parameters
Name
stage
Type
path
Wajib
Description
Salah satu dari prototype atau build. Koleksi ini hanya mengembalikan task
yang tahapnya cocok dengan URL — mengambil /prototype tidak akan pernah mengembalikan
task build, begitu pula sebaliknya.
Query Parameters
Name
page_num
Type
integer
default 1
Description
Nomor halaman untuk paginasi.
Name
page_size
Type
integer
default 10
Description
Batas ukuran halaman. Maksimum yang diizinkan adalah 100 item.
Name
sort_by
Type
string
default -created_at
Description
Kolom untuk mengurutkan. Nilai yang tersedia:
+created_at: Urutkan berdasarkan waktu pembuatan secara menaik.
-created_at: Urutkan berdasarkan waktu pembuatan secara menurun.
Objek Task Prototipe Figur Vinyl adalah unit kerja yang dilacak oleh Meshy
untuk menghasilkan gambar konsep bergaya figur vinyl dari foto sumber.
Output dari tahap ini dirantai ke
tahap build melalui input_task_id.
Properti
Name
id
Type
string
Description
Pengidentifikasi unik untuk task. Meskipun kami menggunakan UUID yang dapat diurutkan secara k-sortable untuk id task sebagai detail implementasi, Anda tidak boleh membuat asumsi apa pun tentang format id tersebut.
Name
type
Type
string
Description
Tipe task. Nilainya adalah creative-lab-vinyl-figure-prototype.
Name
name
Type
string
Description
Nama task yang diberikan saat task dibuat. String kosong jika tidak ada nama yang diberikan.
Name
status
Type
string
Description
Status task. Nilai yang mungkin adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
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
created_at
Type
timestamp
Description
Stempel waktu saat task dibuat, dalam milidetik.
Stempel waktu merepresentasikan jumlah milidetik yang telah berlalu sejak 1 Januari 1970 UTC, mengikuti
standar RFC 3339.
Sebagai contoh, Jumat, 1 September 2023 12:00:00 PM GMT direpresentasikan sebagai 1693569600000. Ini berlaku
untuk semua stempel waktu di Meshy API.
Name
started_at
Type
timestamp
Description
Stempel waktu saat task dimulai, dalam milidetik. Jika task belum dimulai, properti ini akan bernilai 0.
Name
finished_at
Type
timestamp
Description
Stempel waktu saat task selesai, dalam milidetik. Jika task belum selesai, properti ini akan bernilai 0.
Name
expires_at
Type
timestamp
Description
Stempel waktu saat hasil task kedaluwarsa, dalam milidetik.
Name
preceding_tasks
Type
integer
Description
Jumlah task yang mendahului.
Nilai bidang ini hanya berarti jika 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 saat status task adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk task FAILED (kredit dikembalikan jika gagal).
Name
image_urls
Type
array of strings
Description
URL yang dapat diunduh untuk kandidat gambar konsep yang dihasilkan oleh task prototipe ini. Saat ini API selalu mengembalikan tepat satu kandidat; bidang ini berupa array agar revisi mendatang dapat menampilkan beberapa kandidat tanpa perubahan yang bersifat breaking change.
Objek Vinyl Figure Build Task adalah unit kerja yang dilacak oleh Meshy
untuk menghasilkan figur vinyl 3D bertekstur dari sebuah prototype task yang berhasil.
Task ini menjalankan pipeline image-to-3D yang sama yang digunakan oleh Image to 3D,
sehingga bidang output-nya mencerminkan task object dari endpoint tersebut.
Properti
Name
id
Type
string
Description
Pengidentifikasi unik untuk task ini.
Name
type
Type
string
Description
Jenis task. Nilainya adalah creative-lab-vinyl-figure-build.
Name
name
Type
string
Description
Nama task yang diberikan saat task dibuat. String kosong jika tidak ada nama yang diberikan.
Name
status
Type
string
Description
Status task. Nilai yang mungkin adalah salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress task. Jika task belum dimulai, properti ini akan bernilai 0. Setelah task berhasil, nilai ini akan menjadi 100.
Name
created_at
Type
timestamp
Description
Stempel waktu saat task dibuat, dalam milidetik.
Name
started_at
Type
timestamp
Description
Stempel waktu saat task dimulai, dalam milidetik.
Name
finished_at
Type
timestamp
Description
Stempel waktu saat task selesai, dalam milidetik.
Name
expires_at
Type
timestamp
Description
Stempel waktu saat hasil task kedaluwarsa, dalam milidetik.
Name
preceding_tasks
Type
integer
Description
Jumlah task yang mendahului. Hanya bermakna ketika status 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 digunakan oleh task ini. Mengembalikan 0 untuk task FAILED (kredit dikembalikan jika gagal).
Name
prompt
Type
string
Description
Selalu kosong untuk vinyl figure build. Ada untuk kompatibilitas lintas-endpoint dengan bentuk V2ImageTo3DTaskResponse yang digunakan bersama oleh Image to 3D.
Name
negative_prompt
Type
string
Description
Selalu kosong untuk vinyl figure build. Ada untuk kompatibilitas lintas-endpoint.
Name
texture_prompt
Type
string
Description
Selalu kosong untuk vinyl figure build. Ada untuk kompatibilitas lintas-endpoint.
Name
texture_image_url
Type
string
Description
Selalu kosong untuk vinyl figure build. Ada untuk kompatibilitas lintas-endpoint.
Name
model_urls
Type
object
Description
URL yang dapat diunduh untuk model 3D yang dihasilkan. Vinyl figure build menghasilkan GLB bertekstur beserta pasangan OBJ + MTL untuk pipeline yang lebih memilih Wavefront OBJ. Bentuk bidang ini sesuai dengan objek Image to 3D model_urls sehingga penambahan format di masa depan dapat masuk tanpa menyebabkan perubahan yang tidak kompatibel.
Name
glb
Type
string
Description
URL yang dapat diunduh untuk file GLB bertekstur.
Name
obj
Type
string
Description
URL yang dapat diunduh untuk file Wavefront OBJ (geometri + UV).
Name
mtl
Type
string
Description
URL yang dapat diunduh untuk file material MTL pendamping OBJ. Pasangkan dengan obj dan entri dari texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
URL yang dapat diunduh untuk gambar thumbnail dari file model.
Name
texture_urls
Type
array
Description
Sebuah array objek URL tekstur yang dihasilkan oleh task ini. Saat ini berisi satu objek dengan base color map.
Name
base_color
Type
string
Description
URL yang dapat diunduh untuk gambar base color map.