Ubah foto sumber menjadi figur koleksi 3D bergaya chibi dalam dua tahap:
prototipe menghasilkan gambar konsep bergaya dari foto input Anda, lalu
build mengubah gambar konsep tersebut menjadi model 3D yang bertekstur. Kedua tahap
ini dihubungkan melalui input_task_id.
Menghasilkan satu gambar konsep bergaya chibi dari foto sumber. ID task
yang dikembalikan adalah yang Anda kirimkan sebagai input_task_id ke
endpoint build. Lihat
The Figure Prototype Task Object
untuk bentuk responsnya.
Parameter
Name
image_url
Type
string
Wajib
Description
Foto sumber yang akan distilisasi Meshy menjadi figure chibi. Kami saat ini mendukung format .jpg, .jpeg, .png, dan .webp.
Ada dua cara untuk menyediakan gambar:
URL yang dapat diakses secara 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 terenkode base64 Anda>.
Name
name
Type
string
Description
Nama task opsional untuk keperluan tampilan. Maksimum 100 karakter.
Name
remove_background
Type
boolean
default false
Description
Ketika 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 pada respons berisi id task dari figure prototype task yang baru dibuat. Poll endpoint Get a Task atau berlangganan stream hingga task mencapai status SUCCEEDED, kemudian kirimkan ID tersebut ke endpoint build sebagai input_task_id.
Failure Modes
Name
400 - Bad Request
Description
Permintaan tidak dapat diterima. Penyebab umum:
Parameter tidak ada: image_url wajib diisi.
Format gambar tidak valid: image_url yang diberikan bukan format yang didukung (.jpg, .jpeg, .png, .webp).
Dimensi gambar di luar batas: Gambar terlalu kecil, melebihi ukuran file maksimum, atau melebihi jumlah piksel maksimum.
URL tidak dapat diakses: image_url tidak dapat diunduh (404 atau timeout).
Data URI tidak valid: String base64 tidak terbentuk dengan benar.
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/figure/v1/prototype
# Stage 1: generate a chibi-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/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":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Contoh prototipe
Mulai dengan potret sumber, lalu hasilkan gambar prototipe yang digunakan oleh tahap build.
Menghasilkan figur 3D bertekstur akhir dari task prototipe yang berhasil.
Proses build ini menjalankan pipeline image-to-3D yang sama seperti
Gambar ke 3D, sehingga format objek respons dan
daftar URL output cocok persis. Lihat
The Figure Build Task Object untuk
bentuk respons.
Parameter
Name
input_task_id
Type
string
Wajib
Description
ID task dari task prototipe yang dibuat melalui endpoint OpenAPI yang sama ini. Prototipe tersebut harus dibuat dengan kunci API yang sama, harus telah mencapai SUCCEEDED, dan harus telah menghasilkan tepat satu gambar kandidat.
Task prototipe yang dibuat melalui webapp tidak diterima — endpoint build hanya menerima task prototipe yang dihasilkan oleh POST /openapi/creative-lab/figure/v1/prototype dan menolak sumber lain apa pun dengan 404.
Name
name
Type
string
Description
Nama task opsional untuk keperluan tampilan. Maksimal 100 karakter.
Returns
Properti result dari respons berisi id task dari task build figur 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.
Induk belum berhasil: Task prototipe yang direferensikan belum mencapai SUCCEEDED.
Tidak ada kandidat: Task prototipe berhasil tetapi tidak menghasilkan gambar kandidat.
Name
401 - Unauthorized
Description
Autentikasi gagal. Silakan periksa kunci API Anda.
Name
402 - Payment Required
Description
Kredit tidak cukup untuk melakukan task ini.
Name
404 - Not Found
Description
Task prototipe yang direferensikan tidak ada, milik pengguna lain, atau dibuat melalui webapp (hanya task prototipe mode API yang dapat dirangkai ke build).
Name
429 - Too Many Requests
Description
Anda telah melampaui batas laju Anda.
Request
POST
/openapi/creative-lab/figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578" }'
Response
{"result":"019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"}
Contoh build
Task build mengubah gambar prototipe yang dipilih menjadi model 3D bertekstur yang dapat diunduh.
Mengambil tugas prototype atau build berdasarkan id tugas yang valid. Jalur URL
harus sesuai dengan tahap tugas tersebut — tugas build yang diambil melalui
/prototype/:id akan mengembalikan 404, dan begitu pula sebaliknya.
Batalkan tugas figur. 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 akan mengembalikan 404.
Parameter Path
Name
id
Type
path
Description
Pengidentifikasi unik untuk tugas figur yang akan dibatalkan.
Returns
Mengembalikan 204 No Content jika berhasil dengan body 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.
Streaming pembaruan secara real-time untuk sebuah figure task melalui Server-Sent Events (SSE).
Path URL harus sesuai dengan tahap task tersebut — membuka stream di
/prototype/:buildId/stream akan mengeluarkan satu event: error payload dengan
status_code: 404 dan menutup stream tersebut.
Parameter
Name
id
Type
path
Description
Pengenal unik untuk figure task yang akan di-stream.
Returns
Mengembalikan sebuah stream objek task Figure Prototype
atau Figure Build sebagai
Server-Sent Events. Setiap frame membawa objek task lengkap untuk tahap tersebut — bentuk yang sama seperti yang
dikembalikan oleh endpoint Get — sehingga selama task berstatus PENDING atau IN_PROGRESS,
field output belum terisi (null, [] atau {}) dan
finished_at bernilai null.
Ambil daftar figure task Anda dengan paginasi untuk satu tahap. Path
URL memilih tahap tersebut — /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
Bisa berupa prototype atau build. Koleksi ini hanya mengembalikan
task yang tahapnya sesuai 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 pengurutan. Nilai yang tersedia:
+created_at: Urutkan berdasarkan waktu pembuatan secara menaik.
-created_at: Urutkan berdasarkan waktu pembuatan secara menurun.
Objek Figure Prototype Task adalah unit kerja yang dilacak oleh Meshy untuk
menghasilkan gambar konsep bergaya chibi dari foto sumber. Output dari
tahap ini dirangkai ke tahap build
melalui input_task_id.
Properties
Name
id
Type
string
Description
Pengidentifikasi unik untuk task. Meskipun kami menggunakan k-sortable UUID 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-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. Kemungkinan nilainya 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, ini akan menjadi 100.
Name
created_at
Type
timestamp
Description
Stempel waktu saat task dibuat, dalam milidetik.
Stempel waktu merepresentasikan jumlah milidetik yang 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. Hal 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 kolom ini hanya bermakna 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 digunakan oleh task ini. Muncul 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 prototype ini. Saat ini API selalu mengembalikan tepat satu kandidat; kolom ini berupa array agar revisi mendatang dapat menampilkan beberapa kandidat tanpa perubahan yang bersifat breaking change.
Objek Figure Build Task adalah unit kerja yang dilacak oleh Meshy untuk
menghasilkan figur 3D bertekstur dari sebuah prototype task yang berhasil. Ia
menjalankan pipeline image-to-3D yang sama dengan yang digunakan oleh Image to 3D,
sehingga field output-nya mencerminkan task object dari endpoint tersebut.
Properties
Name
id
Type
string
Description
Pengidentifikasi unik untuk task.
Name
type
Type
string
Description
Tipe dari task. Nilainya adalah creative-lab-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 dari 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, 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 diselesaikan, dalam milidetik.
Name
expires_at
Type
timestamp
Description
Stempel waktu saat hasil task berakhir masa berlakunya, 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 dikonsumsi oleh task ini. Mengembalikan 0 untuk task FAILED (kredit dikembalikan jika gagal).
Name
prompt
Type
string
Description
Selalu kosong untuk figure build. Hadir untuk kompatibilitas lintas-endpoint dengan bentuk V2ImageTo3DTaskResponse yang digunakan bersama oleh Image to 3D.
Name
negative_prompt
Type
string
Description
Selalu kosong untuk figure build. Hadir untuk kompatibilitas lintas-endpoint.
Name
texture_prompt
Type
string
Description
Selalu kosong untuk figure build. Hadir untuk kompatibilitas lintas-endpoint.
Name
texture_image_url
Type
string
Description
Selalu kosong untuk figure build. Hadir untuk kompatibilitas lintas-endpoint.
Name
model_urls
Type
object
Description
URL yang dapat diunduh untuk model 3D yang dihasilkan. Figure build menghasilkan GLB bertekstur beserta pasangan OBJ + MTL untuk pipeline yang lebih menyukai Wavefront OBJ. Bentuk field ini cocok dengan objek Image to 3D model_urls sehingga penambahan format di masa depan dapat masuk tanpa perubahan yang merusak (breaking change).
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.