Tukar foto sumber kepada penudung lampu yang boleh dicetak dalam 3D dalam dua peringkat:
prototaip menjana imej konsep putih pudar bergaya dan menukarkannya kepada
model 3D berongga (GLB), kemudian binaan menjalankan pemproses lampu pada
model tersebut untuk menghasilkan bahagian STL yang boleh dicetak — penudung lampu
terbuka di bahagian bawah dengan plat asas untuk kelengkapan sumber cahaya, ditambah
dengan pemasangan kelengkapan itu sendiri. Kedua-dua peringkat ini
dihubungkan melalui input_task_id.
Jana satu imej konsep putih matte daripada foto rujukan dan
tukarkannya menjadi model penudung lampu 3D berongga. Respons membawa kedua-dua
imej konsep (image_urls) dan model 3D (model_urls.glb dengan
thumbnail_url). ID tugas yang dikembalikan adalah apa yang anda hantar sebagai input_task_id
kepada endpoint build. Rujuk
Objek Tugas Prototaip Lamp
untuk bentuk respons.
Parameter
Name
image_url
Type
string
Diperlukan
Description
Foto sumber yang digunakan Meshy sebagai rujukan visual untuk penudung lampu. Kami kini menyokong format .jpg, .jpeg, .png, dan .webp.
Terdapat dua cara untuk menyediakan imej:
URL yang boleh diakses secara umum: URL yang boleh diakses dari internet awam.
Data URI: Data URI imej yang dikodkan base64. Contoh data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
image_subject
Type
string
lalai character
Description
Petunjuk kategori subjek yang memilih prompt stylization. Nilai yang tersedia:
character (lalai) — subjek watak/objek tunggal (patung, haiwan, maskot, dsb.).
Nama tugas pilihan untuk tujuan paparan. Maksimum 100 aksara.
Name
remove_background
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, imej prototaip dikembalikan sebagai PNG RGBA telus dengan latar belakang dialihkan, supaya anda boleh menggabungkan subjek ke atas mana-mana latar belakang.
Pemulangan
Sifat result bagi respons mengandungi id tugas bagi tugas prototaip lampu yang baru dicipta. Tinjau endpoint Dapatkan Tugas atau langgan stream sehingga tugas mencapai SUCCEEDED, kemudian hantar ID tersebut ke endpoint build sebagai input_task_id.
Mod Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak boleh diterima. Punca biasa:
Parameter hilang: image_url diperlukan.
Format imej tidak sah: image_url yang diberikan bukan format yang disokong (.jpg, .jpeg, .png, .webp).
Dimensi imej di luar julat: Imej terlalu kecil, melebihi saiz fail maksimum, atau melebihi jumlah piksel maksimum.
URL tidak boleh dicapai: image_url tidak dapat dimuat turun (404 atau timeout).
Data URI tidak sah: Rentetan base64 tidak sah bentuknya.
Kandungan ditanda: Imej input ditanda oleh moderation NSFW atau harta intelek.
image_subject tidak sah: Bukan salah satu daripada character / landscape.
Name
401 - Unauthorized
Description
Pengesahan gagal. Sila semak kunci API anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melaksanakan tugas ini.
Name
429 - Too Many Requests
Description
Anda telah melebihi had kadar anda.
Request
POST
/openapi/creative-lab/lamp/v1/prototype
# Stage 1: concept image + hollow 3D lampshade model from a source photocurlhttps://api.meshy.ai/openapi/creative-lab/lamp/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>", "image_subject": "character" }'
Response
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Contoh prototaip
Mula dengan foto sumber; prototaip mengembalikan imej konsep dan model 3D berongga yang diproses oleh peringkat build.
Jana bahagian 3D yang boleh dicetak akhir daripada tugas prototaip yang berjaya. Proses build menjalankan pemproses lampu ke atas model 3D prototaip: ia mengskalakan
model kepada diameter_mm, meratakan bahagian bawah mengikut cut_amount_percent,
mengongsongkannya kepada thickness_mm, membuka bahagian bawah, dan — apabila prapenetapan
lekapan dipilih — menambah plat asas dengan lubang lekapan dan pemasangan
berasingan untuk sumber cahaya. Rujuk
The Lamp Build Task Object untuk
bentuk respons.
Parameter
Name
input_task_id
Type
string
Diperlukan
Description
ID tugas bagi tugas prototaip yang dicipta melalui endpoint OpenAPI yang sama. Prototaip mesti telah dicipta dengan kunci API yang sama, mesti telah mencapai SUCCEEDED, dan mesti telah menghasilkan model 3D.
Tugas prototaip yang dicipta melalui webapp tidak diterima — endpoint build hanya menerima tugas prototaip yang dihasilkan oleh POST /openapi/creative-lab/lamp/v1/prototype dan menolak mana-mana sumber lain dengan 404.
Name
name
Type
string
Description
Nama tugas pilihan untuk tujuan paparan. Maksimum 100 aksara.
options
Parameter penalaan pilihan untuk geometri kap lampu. Setiap medan mempunyai lalai yang munasabah — hantar hanya medan yang anda mahu tindih ganti.
Name
diameter_mm
Type
number
lalai 150
Description
Dimensi maksimum sasaran bagi kotak pembatas kap lampu, dalam milimeter. Jejaring diskalakan secara seragam untuk muat. Julat: [50, 400].
Name
thickness_mm
Type
number
lalai 1
Description
Ketebalan dinding bagi kap lampu berongga, dalam milimeter. Julat: (0, 10].
Name
cut_amount_percent
Type
number
lalai 1
Description
Peratusan ketinggian model yang dipotong rata di bahagian bawah, supaya kap lampu duduk di atas dulang cetak dan mempunyai bukaan untuk lekapan. Julat: [1, 100].
Name
light_source_preset
Type
string
lalai bambu_mh001_60mm
Description
Prapenetapan lekapan sumber cahaya yang menentukan cara bahagian bawah dibina. Nilai yang tersedia:
bambu_mh001_60mm (lalai) — kap lampu bahagian bawah terbuka ditambah plat asas yang membawa lubang lekapan 60 mm, kedua-duanya dalam model_urls.lamp_stl, dan pemasangan lekapan sebagai model_urls.base_stl.
none — satu kap lampu tertutup dalam model_urls.lamp_stl; model_urls.base_stl ditiadakan.
Name
fixture_offset_x_mm
Type
number
lalai 0
Description
Ofset paksi-X bagi lubang lekapan pada plat asas, relatif kepada pusat kap lampu, dalam milimeter. Hanya bermakna apabila light_source_preset ≠ none. Julat: [-80, 80].
Name
fixture_offset_z_mm
Type
number
lalai 0
Description
Ofset paksi-Z (kedalaman) bagi lubang lekapan pada plat asas, relatif kepada pusat kap lampu, dalam milimeter. Hanya bermakna apabila light_source_preset ≠ none. Julat: [-80, 80].
Name
rotate_x_deg
Type
number
lalai 0
Description
Putaran mengelilingi paksi X yang dikenakan pada model sebelum pemprosesan, dalam darjah. Ketiga-tiga putaran dikenakan sebagai sudut Euler XYZ mengelilingi pusat model. Julat: [-360, 360].
Name
rotate_y_deg
Type
number
lalai 0
Description
Putaran mengelilingi paksi Y yang dikenakan pada jejaring yang diimport sebelum pemprosesan, dalam darjah. Julat: [-360, 360].
Name
rotate_z_deg
Type
number
lalai 0
Description
Putaran mengelilingi paksi Z yang dikenakan pada jejaring yang diimport sebelum pemprosesan, dalam darjah. Julat: [-360, 360].
Name
include_result_json
Type
boolean
lalai false
Description
Apabila true dan output.format ialah zip, sertakan result.json pemproses lampu (nama saluran paip, amaran, dan laluan artifak) di dalam bungkusan. Diabaikan apabila output.format ialah stl.
output
Pemilih format wayar pilihan. Lalai kepada stl.
Name
format
Type
string
lalai stl
Description
Bungkusan artifak yang dikembalikan oleh proses build. Nilai yang tersedia:
stl (lalai) — mengembalikan model_urls.lamp_stl (kap lampu, berserta plat asas apabila prapenetapan lekapan ditetapkan), ditambah model_urls.base_stl apabila light_source_preset ≠ none.
zip — membungkus setiap artifak yang dihasilkan oleh pemproses (lamp.stl, base.stl pilihan, result.json pilihan) ke dalam satu zip dan mengembalikannya di bawah model_urls.bundle_zip.
Hasil Pulangan
Sifat result pada respons mengandungi id tugas bagi tugas build lampu yang baharu dicipta. Tinjau (poll) endpoint Get a Task atau langgan stream sehingga tugas mencapai SUCCEEDED, kemudian muat turun artifak daripada model_urls.
Mod Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak boleh diterima. Punca biasa:
Parameter hilang: input_task_id diperlukan.
UUID tidak sah: input_task_id bukan UUID yang sah.
Induk belum berjaya: Tugas prototaip yang dirujuk belum mencapai SUCCEEDED.
Tiada model: Tugas prototaip berjaya tetapi tidak menghasilkan model 3D.
Pilihan di luar julat: Salah satu medan options berada di luar julat atau set enum yang dibenarkan.
Name
401 - Unauthorized
Description
Pengesahan gagal. Sila semak kunci API anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melaksanakan tugas ini.
Name
404 - Not Found
Description
Tugas prototaip yang dirujuk tidak wujud, dimiliki oleh pengguna lain, atau dicipta melalui webapp (hanya tugas prototaip mod API yang boleh diranti ke build).
Dapatkan semula tugasan prototaip atau build dengan id tugasan yang sah. Laluan URL
mesti sepadan dengan peringkat tugasan tersebut — tugasan build yang diambil melalui
/prototype/:id akan mengembalikan 404, dan sebaliknya.
Batalkan tugas lampu. Jika tugas masih PENDING, kredit yang digunakan
semasa penciptaan akan dikembalikan. Tugas yang sudah IN_PROGRESS akan
dibatalkan tanpa pengembalian (pekerja mungkin sudah menggunakan sumber).
Tugas yang telah mencapai keadaan terminal (SUCCEEDED, FAILED,
CANCELED) tidak boleh dibatalkan.
Laluan URL mesti sepadan dengan peringkat tugas — DELETE pada
/prototype/:buildId mengembalikan 404.
Parameter Laluan
Name
id
Type
path
Description
Pengenal pasti unik untuk tugas lampu yang ingin dibatalkan.
Pulangan
Mengembalikan 204 No Content apabila berjaya dengan badan kosong.
Mod Kegagalan
Name
400 - Bad Request
Description
Tugas sudah berada dalam keadaan terminal dan tidak boleh dibatalkan.
Name
404 - Not Found
Description
Tugas tidak wujud, milik pengguna lain, atau peringkatnya tidak sepadan dengan laluan URL.
Alirkan kemas kini masa nyata untuk tugas lampu melalui Server-Sent Events (SSE).
Laluan URL mesti sepadan dengan peringkat tugas — membuka aliran di
/prototype/:buildId/stream akan menghasilkan satu event: error payload dengan
status_code: 404 dan menutup aliran tersebut.
Parameter
Name
id
Type
path
Description
Pengenal unik untuk tugas lampu yang hendak dialirkan.
Pulangan
Mengembalikan aliran objek tugas Lamp Prototype
atau Lamp Build sebagai
Server-Sent Events. Untuk tugas PENDING atau IN_PROGRESS, aliran
respons hanya akan menyertakan medan progress dan status yang diperlukan.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.event: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","progress": 0,"status": "PENDING"}event: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","type": "creative-lab-lamp-build","status": "SUCCEEDED","progress": 100,"created_at": 1729123500000,"started_at": 1729123510000,"finished_at": 1729123535000,"expires_at": 1729382735000,"task_error": null,"consumed_credits": 6,"model_urls": {"lamp_stl":"https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***","base_stl":"https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***" }}
Dapatkan senarai bertombol halaman bagi tugasan lampu anda untuk satu peringkat sahaja. Laluan URL
memilih peringkat tersebut — /prototype mengembalikan tugasan prototaip; /build
mengembalikan tugasan pembinaan. Tugasan daripada peringkat yang lain tidak disertakan dalam mana-mana
respons.
Parameter Laluan
Name
stage
Type
path
Diperlukan
Description
Sama ada prototype atau build. Koleksi ini hanya mengembalikan tugasan
yang peringkatnya sepadan dengan URL — mendapatkan /prototype tidak akan pernah mengembalikan
tugasan pembinaan dan sebaliknya.
Parameter Pertanyaan
Name
page_num
Type
integer
lalai 1
Description
Nombor halaman untuk penomboran halaman.
Name
page_size
Type
integer
lalai 10
Description
Had saiz halaman. Maksimum yang dibenarkan ialah 50 item.
Name
sort_by
Type
string
lalai -created_at
Description
Medan untuk diisih. Nilai yang tersedia:
+created_at: Isih mengikut masa penciptaan secara menaik.
-created_at: Isih mengikut masa penciptaan secara menurun.
Objek Tugas Prototaip Lampu ialah unit kerja yang dijejaki oleh Meshy untuk
menjana imej konsep putih pudar bergaya dari foto sumber dan
menukarkannya kepada model 3D yang berongga. Output peringkat ini dirantaikan ke
peringkat pembinaan melalui input_task_id.
Ciri-ciri
Name
id
Type
string
Description
Pengecam unik untuk tugas. Walaupun kami menggunakan UUID yang boleh disusun-k untuk id tugas sebagai perincian pelaksanaan, anda tidak sepatutnya membuat sebarang andaian tentang format id tersebut.
Name
type
Type
string
Description
Jenis tugas. Nilainya ialah creative-lab-lamp-prototype.
Name
name
Type
string
Description
Nama tugas yang diberikan semasa tugas dicipta. Rentetan kosong jika tiada nama diberikan.
Name
status
Type
string
Description
Status tugas. Nilai yang mungkin ialah salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress tugas. Jika tugas belum bermula lagi, ciri ini akan menjadi 0. Setelah tugas berjaya, ini akan menjadi 100.
Name
created_at
Type
timestamp
Description
Cap masa bila tugas dicipta, dalam milisaat.
Cap masa mewakili bilangan milisaat yang berlalu sejak 1 Januari 1970 UTC, mengikut
piawaian RFC 3339.
Sebagai contoh, Jumaat, 1 September 2023 12:00:00 PM GMT diwakili sebagai 1693569600000. Ini terpakai
kepada semua cap masa dalam Meshy API.
Name
started_at
Type
timestamp
Description
Cap masa bila tugas dimulakan, dalam milisaat. Jika tugas belum bermula lagi, ciri ini akan menjadi 0.
Name
finished_at
Type
timestamp
Description
Cap masa bila tugas selesai, dalam milisaat. Jika tugas belum selesai lagi, ciri ini akan menjadi 0.
Name
expires_at
Type
timestamp
Description
Cap masa bila hasil tugas tamat tempoh, dalam milisaat.
Name
preceding_tasks
Type
integer
Description
Bilangan tugas yang mendahului.
Nilai medan ini hanya bermakna jika status tugas ialah PENDING.
Name
task_error
Type
object
Description
Butiran ralat untuk tugas yang gagal. Lihat Ralat untuk rujukan penuh objek task_error.
Name
consumed_credits
Type
integer
Description
Bilangan kredit yang digunakan oleh tugas ini. Hadir apabila status tugas ialah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk tugas FAILED (kredit dikembalikan apabila gagal).
Name
model_urls
Type
object
Description
URL yang boleh dimuat turun untuk model 3D yang dijana daripada imej konsep. Hadir sebaik sahaja tugas berjaya; {} sebelum itu.
Name
glb
Type
string
Description
URL yang boleh dimuat turun untuk model penutup lampu putih pudar yang berongga dalam format GLB. Ini ialah model yang diproses oleh peringkat pembinaan.
Name
thumbnail_url
Type
string
Description
URL yang boleh dimuat turun untuk pratonton model 3D yang dirender. Rentetan kosong sehingga tugas berjaya.
Name
image_urls
Type
array of strings
Description
URL yang boleh dimuat turun untuk calon imej konsep yang dijana oleh tugas prototaip ini. Buat masa ini API sentiasa mengembalikan tepat satu calon; medan ini adalah tatasusunan supaya semakan masa depan boleh memaparkan berbilang calon tanpa perubahan yang memutuskan keserasian.
Objek Tugas Pembinaan Lamp ialah unit kerja yang dijejaki oleh Meshy untuk
menghasilkan model 3D-boleh-cetak lampu akhir daripada tugas prototaip yang berjaya.
Pembinaan ini menjalankan pemproses lampu ke atas model 3D prototaip untuk mengongkongkannya (hollow),
meratakan dan membuka bahagian bawah, dan (dengan pratetap kelengkapan) menambah plat asas
dan pemasangan kelengkapan (fixture mount).
Ciri-ciri
Name
id
Type
string
Description
Pengecam unik untuk tugas ini.
Name
type
Type
string
Description
Jenis tugas. Nilainya ialah creative-lab-lamp-build.
Name
name
Type
string
Description
Nama tugas yang diberikan semasa tugas dicipta. Rentetan kosong jika tiada nama diberikan.
Name
status
Type
string
Description
Status tugas. Nilai yang mungkin ialah salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress tugas. Jika tugas belum bermula, ciri ini akan menjadi 0. Setelah tugas berjaya, ini akan menjadi 100.
Name
created_at
Type
timestamp
Description
Cap masa bila tugas dicipta, dalam milisaat.
Name
started_at
Type
timestamp
Description
Cap masa bila tugas dimulakan, dalam milisaat.
Name
finished_at
Type
timestamp
Description
Cap masa bila tugas selesai, dalam milisaat.
Name
expires_at
Type
timestamp
Description
Cap masa bila keputusan tugas akan luput, dalam milisaat.
Name
preceding_tasks
Type
integer
Description
Bilangan tugas terdahulu. Hanya bermakna apabila status ialah PENDING.
Name
task_error
Type
object
Description
Butiran ralat untuk tugas yang gagal. Lihat Ralat untuk rujukan penuh objek task_error.
Name
consumed_credits
Type
integer
Description
Bilangan kredit yang digunakan oleh tugas ini. Mengembalikan 0 untuk tugas FAILED (kredit dikembalikan apabila gagal).
Name
model_urls
Type
object
Description
URL yang boleh dimuat turun untuk artifak yang dihasilkan, dikunci mengikut nama artifak. Set kunci bergantung pada output.format dan options.light_source_preset:
Name
lamp_stl
Type
string
Description
URL boleh dimuat turun untuk lamp.stl: lampu berbahagian bawah terbuka bersama plat asas yang membawa lubang kelengkapan, atau satu lampu tertutup rapat apabila options.light_source_preset ialah none. Hadir apabila output.format ialah stl (lalai).
Name
base_stl
Type
string
Description
URL boleh dimuat turun untuk base.stl, pemasangan kelengkapan sumber cahaya. Hadir apabila output.format ialah stldanoptions.light_source_preset bukan none. Ditinggalkan apabila pratetap kelengkapan ialah none.
Name
bundle_zip
Type
string
Description
URL boleh dimuat turun untuk bungkusan zip bagi setiap artifak yang dikeluarkan oleh pemproses (lamp.stl, base.stl pilihan, dan — apabila options.include_result_json ialah true — result.json). Hadir apabila output.format ialah zip. Apabila bundle_zip hadir, lamp_stl / base_stl ditinggalkan.