Ubah foto sumber menjadi minifigur koleksi 3D bergaya bata dalam dua tahap:
prototipe menghasilkan gambar konsep bergaya dari foto input Anda, kemudian
build mengubah gambar konsep tersebut menjadi model 3D bertekstur. Kedua tahap
ini dihubungkan melalui input_task_id.
POST /openapi/creative-lab/brick-figure/v1/prototype
Menghasilkan satu gambar konsep bergaya brick dari foto sumber. Task ID yang
dikembalikan adalah yang Anda gunakan sebagai input_task_id untuk
endpoint build. Lihat
The Brick Figure Prototype Task Object
untuk bentuk response-nya.
Parameter
Name
image_url
Type
string
Wajib
Description
Foto sumber yang akan distilisasi oleh Meshy menjadi brick minifigure. 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 disetel 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 response berisi id task dari brick figure prototype task yang baru dibuat. Poll endpoint Get a Task atau berlangganan stream hingga task mencapai SUCCEEDED, lalu teruskan ID tersebut ke build endpoint sebagai input_task_id.
Mode Kegagalan
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 rusak/tidak sesuai format.
Konten ditandai: Gambar input ditandai oleh moderation NSFW.
Name
401 - Unauthorized
Description
Autentikasi gagal. Silakan periksa kunci API Anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melakukan task ini.
Name
403 - Forbidden
Description
Gambar input ditandai karena pelanggaran hak kekayaan intelektual.
Name
429 - Too Many Requests
Description
Anda telah melampaui batas laju Anda.
Request
POST
/openapi/creative-lab/brick-figure/v1/prototype
# Stage 1: generate a brick-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/brick-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>" }'
Menghasilkan brick figure 3D bertekstur final dari task prototype yang berhasil (succeeded). Build ini menjalankan pipeline image-to-3D yang sama seperti
Gambar ke 3D, sehingga format objek respons dan
daftar URL output persis sama. Lihat
The Brick Figure Build Task Object untuk bentuk
respons.
Parameter
Name
input_task_id
Type
string
Wajib
Description
Task ID dari sebuah task prototype yang dibuat melalui endpoint OpenAPI yang sama ini. Prototype tersebut harus dibuat dengan kunci API yang sama, harus telah mencapai 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/brick-figure/v1/prototype dan menolak sumber lain mana pun dengan 404.
Name
name
Type
string
Description
Nama task opsional untuk keperluan tampilan. Maksimal 100 karakter.
Returns
Properti result pada respons berisi id task dari task build brick figure yang baru dibuat. Poll endpoint Get a Task atau berlangganan ke stream sampai task mencapai SUCCEEDED, kemudian unduh GLB bertekstur dari model_urls.glb (atau pasangan OBJ + MTL dari model_urls.obj dan model_urls.mtl jika pipeline hilir Anda lebih memilih 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 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/brick-figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/brick-figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578" }'
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 sebaliknya.
Membatalkan brick figure task. Jika task masih berstatus PENDING,
kredit yang digunakan pada saat pembuatan akan dikembalikan. Task yang
sudah berstatus IN_PROGRESS akan dibatalkan tanpa pengembalian kredit
(worker mungkin sudah menggunakan sumber daya). Task yang telah mencapai
status akhir (SUCCEEDED, FAILED, CANCELED) tidak dapat dibatalkan.
Path URL harus sesuai dengan tahap (stage) task tersebut — DELETE pada
/prototype/:buildId akan menghasilkan 404.
Path Parameters
Name
id
Type
path
Description
Identifier unik untuk brick figure task yang akan dibatalkan.
Returns
Mengembalikan 204 No Content jika berhasil dengan body kosong.
Failure Modes
Name
400 - Bad Request
Description
Task sudah berada dalam status akhir dan tidak dapat dibatalkan.
Name
404 - Not Found
Description
Task tidak ada, dimiliki oleh pengguna lain, atau tahapnya (stage) tidak sesuai dengan path URL.
Melakukan streaming pembaruan real-time untuk tugas brick 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 brick figure yang akan di-stream.
Returns
Mengembalikan stream objek tugas Brick Figure Prototype
atau Brick Figure Build sebagai
Server-Sent Events. Setiap frame membawa objek tugas lengkap untuk tahap tersebut — bentuk yang sama
dengan yang dikembalikan oleh endpoint Get — sehingga selama tugas berstatus PENDING atau IN_PROGRESS,
field output memang belum terisi (null, [] atau {}) dan
finished_at bernilai null.
Ambil daftar terpaginasi dari tugas figur bata Anda untuk satu tahap. Path URL
memilih tahap tersebut — /prototype mengembalikan tugas prototipe; /build
mengembalikan tugas build. Tugas dari tahap lainnya tidak disertakan dalam
respons apa pun.
Path Parameters
Name
stage
Type
path
Wajib
Description
Baik prototype maupun build. Koleksi hanya mengembalikan tugas
yang tahapnya sesuai dengan URL — mengambil /prototype tidak akan pernah
mengembalikan tugas build, dan 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
Bidang untuk diurutkan. Nilai yang tersedia:
+created_at: Urutkan berdasarkan waktu pembuatan secara menaik.
-created_at: Urutkan berdasarkan waktu pembuatan secara menurun.
Objek Task Prototipe Brick Figure adalah unit kerja yang dilacak oleh Meshy untuk
menghasilkan gambar konsep bergaya brick dari sebuah foto sumber. Output dari
tahap ini dirangkai ke tahap build
melalui input_task_id.
Properti
Name
id
Type
string
Description
Pengenal unik untuk task. 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
Tipe dari task. Nilainya adalah creative-lab-brick-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 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, nilai 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 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 null.
Name
finished_at
Type
timestamp
Description
Stempel waktu saat task selesai, dalam milidetik. Jika task belum selesai, properti ini akan bernilai null.
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 dari field 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 dikonsumsi 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 prototipe ini. Saat ini API selalu mengembalikan tepat satu kandidat; field ini berupa array agar revisi mendatang dapat menampilkan beberapa kandidat tanpa perubahan yang merusak kompatibilitas.
Objek Task Pembuatan Figur Bata adalah unit kerja yang dilacak oleh Meshy untuk
menghasilkan figur bata 3D bertekstur dari task prototipe yang berhasil. Task ini
menjalankan pipeline image-to-3D yang sama yang digunakan oleh Gambar ke 3D,
sehingga field output-nya mencerminkan objek task endpoint tersebut.
Properti
Name
id
Type
string
Description
Pengidentifikasi unik untuk task.
Name
type
Type
string
Description
Jenis task. Nilainya adalah creative-lab-brick-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, nilainya 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 berarti 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 pembuatan figur bata. Ada untuk kompatibilitas lintas endpoint dengan bentuk V2ImageTo3DTaskResponse bersama yang digunakan oleh Gambar ke 3D.
Name
negative_prompt
Type
string
Description
Selalu kosong untuk pembuatan figur bata. Ada untuk kompatibilitas lintas endpoint.
Name
texture_prompt
Type
string
Description
Selalu kosong untuk pembuatan figur bata. Ada untuk kompatibilitas lintas endpoint.
Name
texture_image_url
Type
string
Description
Selalu kosong untuk pembuatan figur bata. Ada untuk kompatibilitas lintas endpoint.
Name
model_urls
Type
object
Description
URL yang dapat diunduh untuk model 3D yang dihasilkan. Pembuatan figur bata menghasilkan GLB bertekstur beserta pasangan OBJ + MTL untuk pipeline yang lebih menyukai Wavefront OBJ. Bentuk field ini sesuai dengan objek model_urls Gambar ke 3D sehingga penambahan format di masa depan dapat masuk tanpa perubahan yang bersifat 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
Array objek URL tekstur yang dihasilkan oleh task ini. Saat ini berisi satu objek dengan peta warna dasar.
Name
base_color
Type
string
Description
URL yang dapat diunduh untuk gambar peta warna dasar.