Ubah foto Anda menjadi magnet kulkas kustom — sebuah relief kedalaman
berwarna berbentuk persegi panjang membulat dengan bagian belakang magnetik
yang datar, berukuran pas untuk kulkas — dalam dua tahap: prototype
menghasilkan gambar konsep berwarna dari foto input Anda, kemudian build
mengubah gambar konsep tersebut menjadi model 3D relief. Kedua tahap
tersebut dihubungkan melalui input_task_id.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Menghasilkan satu gambar konsep berwarna dari foto sumber. ID task yang
dikembalikan adalah yang Anda teruskan sebagai input_task_id ke
endpoint build. Lihat
The Fridge Magnet Prototype Task Object
untuk bentuk responsnya.
Parameter
Name
image_url
Type
string
Wajib
Description
Foto sumber untuk diwarnai oleh Meshy menjadi gambar konsep yang siap dijadikan magnet kulkas. Saat ini kami 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 dienkode base64. Contoh data URI: data:image/jpeg;base64,<data gambar Anda yang dienkode base64>.
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.
Ini hanya mengontrol gambar yang dikembalikan oleh endpoint ini. Ini terpisah dari opsi build dengan nama yang sama (default true), yang mengontrol penghapusan latar belakang sebelum reliefing.
Returns
Properti result pada respons berisi id task prototipe magnet kulkas yang baru dibuat. Poll endpoint Get a Task atau berlangganan stream hingga task mencapai SUCCEEDED, lalu teruskan ID tersebut ke endpoint build 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 batas: 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 tidak berformat 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 melebihi batas laju Anda.
Request
POST
/openapi/creative-lab/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/fridge-magnet/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":"01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"}
Contoh prototipe
Mulai dengan foto sumber, lalu hasilkan gambar prototipe yang digunakan oleh tahap build magnet kulkas.
Menghasilkan magnet kulkas 3D yang siap dicetak dari tugas prototipe yang telah berhasil.
Proses build menjalankan pipeline relief peta kedalaman pada gambar konsep berwarna dari
prototipe dan menghasilkan satu artefak mesh dalam format yang Anda minta. Lihat
Objek Tugas Build Magnet Kulkas untuk
bentuk responsnya.
Parameter
Name
input_task_id
Type
string
Wajib
Description
ID tugas dari tugas prototipe yang dibuat melalui endpoint OpenAPI yang sama. Prototipe tersebut harus dibuat dengan kunci API yang sama, harus telah mencapai status SUCCEEDED, dan harus menghasilkan tepat satu gambar kandidat.
Tugas prototipe yang dibuat melalui webapp tidak diterima — endpoint build hanya menerima tugas prototipe yang dihasilkan oleh POST /openapi/creative-lab/fridge-magnet/v1/prototype dan menolak sumber lainnya dengan 404.
Name
name
Type
string
Description
Nama tugas opsional untuk tujuan tampilan. Maksimum 100 karakter.
options
Parameter penyetelan opsional untuk geometri relief. Setiap kolom memiliki nilai default yang masuk akal — kirim hanya kolom yang ingin Anda timpa.
Name
badge_shape
Type
string
default rounded-rect
Description
Siluet garis luar magnet kulkas. Nilai yang tersedia:
circle
rounded-rect (default)
hexagon
shield
star
Name
size_mm
Type
number
default 60
Description
Panjang sisi persegi pembatas dari magnet kulkas, dalam milimeter. Rentang: (0, 400].
Name
relief_height_mm
Type
number
default 3.3
Description
Tinggi relief maksimum di atas alas, dalam milimeter. Rentang: [0, 20].
Name
relief_offset_mm
Type
number
default 0
Description
Offset vertikal yang diterapkan pada relief sebelum ekstrusi, dalam milimeter. Rentang: [0, 20].
Name
base_thickness_mm
Type
number
default 2.0
Description
Ketebalan pelat alas datar di belakang relief, dalam milimeter. Default untuk magnet kulkas adalah alas yang lebih tebal, yaitu 2 mm — memberi magnet cukup ketebalan untuk menempel di kulkas tanpa membuat relief terasa rapuh. Rentang: [0, 20].
Name
has_closed_back
Type
boolean
default true
Description
Menentukan apakah bagian belakang magnet kulkas disegel sebagai permukaan tertutup (sisi tempat Anda merekatkan magnet). Setel ke false untuk cangkang terbuka.
Name
relief_curve
Type
string
default linear
Description
Kurva transfer yang memetakan nilai peta kedalaman ke tinggi relief. Nilai yang tersedia:
linear (default)
gamma
s-curve
Name
curve_param
Type
number
default 1.0
Description
Parameter bentuk untuk kurva transfer (hanya berarti ketika relief_curve adalah gamma). Rentang: (0, 10].
Name
invert_depth
Type
boolean
default false
Description
Membalik interpretasi peta kedalaman sehingga area yang lebih gelap menjadi relief yang lebih tinggi.
Name
smoothing
Type
number
default 0.24
Description
Kekuatan penghalusan yang diterapkan pada peta kedalaman sebelum ekstraksi relief. Rentang: [0, 10].
Name
relief_scale
Type
number
default 1.0
Description
Pengali skala vertikal yang diterapkan di atas relief_height_mm. Rentang: (0, 10].
Name
depth_threshold
Type
number
default 0.1
Description
Ambang low-pass untuk nilai peta kedalaman; apa pun di bawah ini akan dijepit ke nol. Rentang: [0, 1].
Name
remove_background
Type
boolean
default true
Description
Secara otomatis menghapus latar belakang dari gambar konsep prototipe sebelum proses reliefing.
Terpisah dari parameter prototipe dengan nama yang sama (default false), yang mengontrol apakah gambar prototipe itu sendiri dikembalikan dengan transparansi.
Name
export_resolution
Type
integer
default 512
Description
Resolusi mesh yang digunakan untuk ekspor. Rentang: [64, 2048].
output
Pemilih format keluaran opsional. Default-nya adalah glb.
Name
format
Type
string
default glb
Description
Paket artefak yang dikembalikan oleh proses build. Nilai yang tersedia:
glb (default) — mengembalikan satu model.glb di bawah model_urls.glb.
obj — mengompresi model.obj + model.mtl + texture.png dan mengembalikan paket tersebut di bawah model_urls.obj.
zip — mengompresi setiap artefak yang dihasilkan generator dan mengembalikan paket tersebut di bawah model_urls.bundle_zip.
Returns
Properti result pada respons berisi id tugas dari tugas build magnet kulkas yang baru dibuat. Poll endpoint Get a Task atau berlangganan ke stream hingga tugas mencapai status SUCCEEDED, lalu unduh artefak dari satu entri di model_urls.
Mode Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak dapat diterima. Penyebab umum:
Parameter hilang: input_task_id diperlukan.
UUID tidak valid: input_task_id bukan UUID yang valid.
Parent belum berhasil: Tugas prototipe yang dirujuk belum mencapai status SUCCEEDED.
Tidak ada kandidat: Tugas prototipe berhasil tetapi tidak menghasilkan gambar kandidat.
Options di luar rentang: Salah satu kolom options berada di luar rentang atau kumpulan enum yang diizinkan.
Name
401 - Unauthorized
Description
Autentikasi gagal. Silakan periksa kunci API Anda.
Name
402 - Payment Required
Description
Kredit tidak cukup untuk melakukan tugas ini.
Name
404 - Not Found
Description
Tugas prototipe yang dirujuk tidak ada, milik pengguna lain, atau dibuat melalui webapp (hanya tugas prototipe mode API yang dapat dirangkai ke build).
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.
Membatalkan task magnet kulkas. Jika task masih berstatus PENDING, kredit
yang digunakan pada saat pembuatan akan dikembalikan. Task yang sudah
IN_PROGRESS akan dibatalkan tanpa pengembalian dana (worker mungkin
sudah menggunakan sumber daya). Task yang sudah mencapai status akhir
(SUCCEEDED, FAILED, CANCELED) tidak dapat dibatalkan.
Path URL harus sesuai dengan tahap task tersebut — DELETE pada
/prototype/:buildId akan mengembalikan 404.
Parameter Path
Name
id
Type
path
Description
Pengenal unik untuk task magnet kulkas yang akan dibatalkan.
Pengembalian
Mengembalikan 204 No Content jika berhasil dengan isi kosong.
Mode Kegagalan
Name
400 - Bad Request
Description
Task sudah berada dalam status akhir dan tidak dapat dibatalkan.
Name
404 - Not Found
Description
Task tidak ditemukan, milik pengguna lain, atau tahapnya tidak sesuai dengan path URL.
Streaming pembaruan real-time untuk tugas magnet kulkas melalui Server-Sent Events (SSE).
Path URL harus sesuai dengan tahap tugas — membuka stream di
/prototype/:buildId/stream akan mengeluarkan satu event: error payload dengan
status_code: 404 dan menutup stream.
Parameter
Name
id
Type
path
Description
Pengidentifikasi unik untuk tugas magnet kulkas yang akan di-stream.
Returns
Mengembalikan stream objek tugas Fridge Magnet Prototype
atau Fridge Magnet Build sebagai
Server-Sent Events. Setiap frame membawa objek tugas lengkap untuk tahap tersebut — bentuk yang sama
dengan yang dikembalikan endpoint Get — sehingga selama tugas berstatus PENDING atau IN_PROGRESS,
field output memang belum terisi (null, [] atau {}) dan
finished_at adalah null.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// Every frame is the full task object; fields not yet populated are null / empty.// The PENDING frame below is abbreviated to the fields that change.event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","progress": 0,"status": "PENDING"}event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","type": "creative-lab-fridge-magnet-build","status": "SUCCEEDED","progress": 100,"created_at": 1729543250000,"started_at": 1729543258000,"finished_at": 1729543285000,"expires_at": 1729802485000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***" }}
Ambil daftar berpaginasi dari task magnet kulkas Anda untuk satu tahap. Path URL
memilih tahap tersebut — /prototype mengembalikan task prototype; /build
mengembalikan task build. Task dari tahap lainnya tidak disertakan dalam salah satu
respons.
Parameter Path
Name
stage
Type
path
Wajib
Description
Baik prototype maupun build. Koleksi ini hanya mengembalikan task
yang tahapnya cocok dengan URL — mengambil /prototype tidak akan pernah
mengembalikan task build, begitu juga sebaliknya.
Parameter Query
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 Task Prototipe Fridge Magnet adalah unit kerja yang dilacak oleh Meshy untuk
menghasilkan gambar konsep berwarna dari sebuah foto sumber. Output dari
tahap ini dirangkai ke tahap build
melalui input_task_id.
Properti
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 dari task. Nilainya adalah creative-lab-fridge-magnet-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, nilainya 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 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 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 di masa depan dapat menampilkan beberapa kandidat tanpa perubahan yang merusak kompatibilitas.
Objek Fridge Magnet Build Task adalah unit kerja yang dilacak oleh Meshy untuk
menghasilkan mesh magnet kulkas 3D final dari sebuah prototype task yang berhasil. Proses
build ini menjalankan pipeline relief depth-map pada gambar konsep milik prototype tersebut dan
mempublikasikan satu artefak mesh dalam format yang diminta oleh pemanggil.
Properties
Name
id
Type
string
Description
Pengidentifikasi unik untuk task.
Name
type
Type
string
Description
Tipe dari task. Nilainya adalah creative-lab-fridge-magnet-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. 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.
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 dikonsumsi oleh task ini. Mengembalikan 0 untuk task FAILED (kredit dikembalikan jika gagal).
Name
model_urls
Type
object
Description
URL yang dapat diunduh untuk artefak yang dihasilkan, dikelompokkan berdasarkan nama artefak. Selalu berisi tepat satu entri — format yang diminta melalui output.format pada permintaan build. Kuncinya sesuai dengan format yang diminta:
Name
glb
Type
string
Description
URL yang dapat diunduh untuk file GLB. Ada ketika output.format adalah glb (default).
Name
obj
Type
string
Description
URL yang dapat diunduh untuk bundel zip yang berisi model.obj, model.mtl, dan texture.png. Ada ketika output.format adalah obj.
Name
bundle_zip
Type
string
Description
URL yang dapat diunduh untuk bundel zip dari setiap artefak yang dihasilkan oleh generator. Ada ketika output.format adalah zip.