Tukar foto sumber kepada penudung lampu yang boleh dicetak dalam 3D dalam dua peringkat:
prototaip menjana imej konsep putih pudar bergaya dan menukarkannya menjadi
model 3D berongga (GLB), kemudian binaan menjalankan pemproses lampu pada model tersebut
untuk menghasilkan bahagian STL yang boleh dicetak — penudung lampu berdasar terbuka 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 pudar daripada foto rujukan dan tukarkannya
kepada model penudung lampu 3D yang berlubang. Respons membawa kedua-dua
imej konsep (image_urls) dan model 3D (model_urls.glb dengan
thumbnail_url). ID tugasan yang dikembalikan adalah yang anda hantar sebagai input_task_id
kepada endpoint build. Rujuk
The Lamp Prototype Task Object
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 boleh diakses secara awam: URL yang boleh diakses daripada internet awam.
Data URI: Data URI imej yang dienkod 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 tunggal / objek (patung, haiwan, maskot, dsb.).
Nama tugasan opsyenal untuk tujuan paparan. Maksimum 100 aksara.
Name
remove_background
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, imej prototaip dikembalikan sebagai PNG RGBA lut sinar dengan latar belakang dibuang, supaya anda boleh menggabungkan subjek ke atas mana-mana latar belakang.
Pulangan
Sifat result bagi respons mengandungi id tugasan bagi tugasan prototaip lampu yang baru dicipta. Poll endpoint Get a Task atau langgan stream sehingga tugasan mencapai SUCCEEDED, kemudian hantar ID tersebut kepada endpoint build sebagai input_task_id.
Mod Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak boleh diterima. Sebab biasa:
Parameter hilang: image_url diperlukan.
Format imej tidak sah: image_url yang diberikan bukan format yang disokong (.jpg, .jpeg, .png, .webp).
Dimensi imej luar julat: Imej terlalu kecil, melebihi saiz fail maksimum, atau melebihi kiraan piksel maksimum.
URL tidak boleh dicapai: image_url tidak dapat dimuat turun (404 atau timeout).
Data URI tidak sah: Rentetan base64 tidak sah.
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 tugasan 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 berlubang yang diproses oleh peringkat build.
Menjana bahagian 3D-boleh-dicetak akhir daripada tugasan prototaip yang berjaya.
Pembinaan menjalankan pemproses lampu pada model 3D prototaip: ia menskalakan
model kepada diameter_mm, meratakan bahagian bawah mengikut cut_amount_percent,
mengongkongkannya kepada thickness_mm, membuka bahagian bawah, dan — apabila
prasetel lekapan dipilih — menambah plat asas dengan lubang lekapan dan
tempat pemasangan berasingan untuk sumber cahaya. Rujuk
Objek Tugasan Pembinaan Lampu untuk
bentuk respons.
Parameter
Name
input_task_id
Type
string
Diperlukan
Description
ID tugasan bagi tugasan prototaip yang dicipta melalui endpoint OpenAPI yang sama ini. Prototaip mesti telah dicipta dengan kunci API yang sama, mesti telah mencapai SUCCEEDED, dan mesti telah menghasilkan model 3D.
Tugasan prototaip yang dicipta melalui webapp tidak diterima — endpoint pembinaan hanya menerima tugasan 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 tugasan pilihan untuk tujuan paparan. Maksimum 100 aksara.
options
Parameter penalaan pilihan untuk geometri kap lampu. Setiap medan mempunyai nilai lalai yang munasabah — hantar hanya medan yang anda mahu tulis ganti.
Name
diameter_mm
Type
number
lalai 150
Description
Dimensi maksimum sasaran bagi kotak pembatas kap lampu, dalam milimeter. Jejaring diskalakan secara seragam untuk disesuaikan. Julat: [50, 400].
Name
thickness_mm
Type
number
lalai 1
Description
Ketebalan dinding 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
Prasetel 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 tempat pemasangan lekapan sebagai model_urls.base_stl.
none — satu kap lampu tertutup tunggal 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, menyertakan result.json pemproses lampu (nama saluran paip, amaran, dan laluan artifak) di dalam bundel. Diabaikan apabila output.format ialah stl.
output
Pemilih format wayar pilihan. Lalai kepada stl.
Name
format
Type
string
lalai stl
Description
Bundel artifak yang dikembalikan oleh pembinaan. Nilai yang tersedia:
stl (lalai) — mengembalikan model_urls.lamp_stl (kap lampu, bersama plat asas apabila prasetel lekapan ditetapkan), ditambah model_urls.base_stl apabila light_source_preset ≠ none.
zip — membungkus setiap artifak yang dikeluarkan oleh pemproses (lamp.stl, base.stl pilihan, result.json pilihan) ke dalam satu zip dan mengembalikannya di bawah model_urls.bundle_zip.
Pulangan
Sifat result bagi respons mengandungi id tugasan bagi tugasan pembinaan lampu yang baharu dicipta. Tinjau endpoint Dapatkan Tugasan atau langgan strim sehingga tugasan 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 tidak berjaya: Tugasan prototaip yang dirujuk belum mencapai SUCCEEDED lagi.
Tiada model: Tugasan prototaip berjaya tetapi tidak menghasilkan model 3D.
Opsyen di luar julat: Salah satu medan options berada di luar julat yang dibenarkan atau set enum.
Name
401 - Unauthorized
Description
Pengesahan gagal. Sila semak kunci API anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melaksanakan tugasan ini.
Name
404 - Not Found
Description
Tugasan prototaip yang dirujuk tidak wujud, dimiliki oleh pengguna lain, atau dicipta melalui webapp (hanya tugasan prototaip mod API yang boleh dirantaikan ke pembinaan).
Dapatkan semula tugas prototaip atau build dengan id tugas yang sah. Laluan URL
mesti sepadan dengan peringkat tugas tersebut — tugas 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
dibatalkan tanpa bayaran balik (pekerja mungkin sudah menggunakan sumber).
Tugas yang sudah 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 unik untuk tugas lampu yang hendak 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, dimiliki oleh 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 strim di
/prototype/:buildId/stream akan menghantar satu event: error payload dengan
status_code: 404 dan menutup strim tersebut.
Parameter
Name
id
Type
path
Description
Pengenal unik untuk tugas lampu yang hendak dialirkan.
Nilai Kembali
Mengembalikan strim objek tugas Lamp Prototype
atau Lamp Build sebagai
Server-Sent Events. Setiap bingkai membawa objek tugas penuh untuk peringkat tersebut — bentuk yang sama seperti yang dikembalikan oleh
endpoint Get — jadi semasa tugas berstatus PENDING atau IN_PROGRESS, medan
output hanya belum diisi lagi (null, [] atau {}) dan
finished_at bernilai 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": "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 bernomboran halaman bagi tugas lampu anda untuk satu peringkat sahaja. Laluan URL
memilih peringkat tersebut — /prototype mengembalikan tugas prototaip; /build
mengembalikan tugas pembinaan. Tugas daripada peringkat yang satu lagi tidak disertakan dalam mana-mana
respons.
Parameter Laluan
Name
stage
Type
path
Diperlukan
Description
Sama ada prototype atau build. Koleksi ini hanya mengembalikan tugas
yang peringkatnya sepadan dengan URL — mengambil /prototype tidak akan mengembalikan
tugas 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 100 item.
Name
sort_by
Type
string
lalai -created_at
Description
Medan untuk diisih mengikutnya. Nilai yang tersedia:
+created_at: Isih mengikut masa penciptaan dalam susunan menaik.
-created_at: Isih mengikut masa penciptaan dalam susunan menurun.
Objek Tugas Prototaip Lampu adalah unit kerja yang dijejaki oleh Meshy untuk
menjana imej konsep matte-white bergaya daripada foto sumber dan
menukarnya kepada model 3D yang berlubang. Output peringkat ini dirangkaikan ke
peringkat pembinaan melalui input_task_id.
Sifat
Name
id
Type
string
Description
Pengecam unik untuk tugas tersebut. Walaupun kami menggunakan UUID k-sortable untuk id tugas sebagai butiran pelaksanaan, anda tidak seharusnya membuat sebarang andaian tentang format id tersebut.
Name
type
Type
string
Description
Jenis tugas. Nilainya adalah 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 adalah salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress tugas. Jika tugas belum dimulakan, sifat 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 berlaku
untuk semua cap masa dalam Meshy API.
Name
started_at
Type
timestamp
Description
Cap masa bila tugas dimulakan, dalam milisaat. Jika tugas belum dimulakan, sifat ini akan menjadi 0.
Name
finished_at
Type
timestamp
Description
Cap masa bila tugas selesai, dalam milisaat. Jika tugas belum selesai, sifat ini akan menjadi 0.
Name
expires_at
Type
timestamp
Description
Cap masa bila hasil tugas akan tamat tempoh, dalam milisaat.
Name
preceding_tasks
Type
integer
Description
Kiraan tugas terdahulu.
Nilai medan ini hanya bermakna jika status tugas adalah 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 adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk tugas FAILED (kredit dikembalikan semula 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 penudung lampu matte-white yang berlubang dalam format GLB. Ini adalah 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. Pada masa ini API sentiasa mengembalikan tepat satu calon; medan ini adalah tatasusunan supaya semakan pada masa hadapan boleh memaparkan beberapa calon tanpa perubahan yang memecahkan keserasian.
Objek Tugas Bina Lampu ialah unit kerja yang dijejaki oleh Meshy untuk
menjana lampshade 3D yang boleh dicetak daripada tugas prototaip yang berjaya (SUCCEEDED).
Proses bina ini menjalankan pemproses lampu ke atas model 3D prototaip untuk mengosongkannya (hollow),
meratakan dan membuka bahagian bawah, dan (dengan pratetap fixture) menambah plat asas
serta mount fixture.
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 lagi, ciri ini akan bernilai 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 bermula, dalam milisaat.
Name
finished_at
Type
timestamp
Description
Cap masa bila tugas selesai, dalam milisaat.
Name
expires_at
Type
timestamp
Description
Cap masa bila hasil tugas akan luput, dalam milisaat.
Name
preceding_tasks
Type
integer
Description
Bilangan tugas yang mendahului. 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 dijana, dikunci mengikut nama artifak. Set kunci bergantung kepada output.format dan options.light_source_preset:
Name
lamp_stl
Type
string
Description
URL boleh dimuat turun ke lamp.stl: lampshade bawah terbuka bersama plat asas yang membawa lubang fixture, atau satu lampshade tertutup rapat apabila options.light_source_preset adalah none. Wujud apabila output.format adalah stl (lalai).
Name
base_stl
Type
string
Description
URL boleh dimuat turun ke base.stl, mount fixture sumber cahaya. Wujud apabila output.format adalah stldanoptions.light_source_preset bukan none. Ditinggalkan apabila pratetap fixture adalah none.
Name
bundle_zip
Type
string
Description
URL boleh dimuat turun ke satu bundle zip bagi setiap artifak yang dihasilkan oleh pemproses (lamp.stl, base.stl (pilihan), dan — apabila options.include_result_json adalah true — result.json). Wujud apabila output.format adalah zip. Apabila bundle_zip wujud, lamp_stl / base_stl ditinggalkan.