Gawing 3D-printable na lampshade ang isang source photo sa dalawang yugto:
ang prototype ay bumubuo ng isang stylized na matte-white na konseptong imahe at ginagawa
itong isang hollow na 3D model (GLB), pagkatapos ang build naman ay nagpapatakbo ng
lamp processor sa modelong iyon upang makabuo ng mga printable na STL na parte — isang
open-bottom na lampshade na may base plate para sa light-source fixture, kasama pa ang
fixture mount mismo. Ang dalawang yugto ay naka-link sa pamamagitan ng input_task_id.
Gumawa ng iisang matte-white na concept image mula sa isang reference photo at
i-convert ito sa isang hollow na 3D lampshade model. Ang response ay may kalakip na
concept image (image_urls) at ang 3D model (model_urls.glb na may
thumbnail_url). Ang ibinalik na task ID ang siyang ipapasa mo bilang input_task_id
sa build endpoint. Sumangguni sa
The Lamp Prototype Task Object
para sa hugis ng response.
Mga Parameter
Name
image_url
Type
string
Kinakailangan
Description
Ang source photo na ginagamit ng Meshy bilang visual reference para sa lampshade. Kasalukuyang suportado namin ang mga format na .jpg, .jpeg, .png, at .webp.
May dalawang paraan para magbigay ng imahe:
Publicly accessible URL: Isang URL na maa-access mula sa publikong internet.
Data URI: Isang base64-encoded na data URI ng imahe. Halimbawa ng data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
image_subject
Type
string
default character
Description
Hint ng subject category na pumipili ng stylization prompt. Mga available na value:
character (default) — iisang character / object subject (figurine, hayop, mascot, atbp.).
Opsyonal na task name para sa layuning display. Maximum na 100 characters.
Name
remove_background
Type
boolean
default false
Description
Kapag naka-set sa true, ang prototype image ay ibinabalik bilang transparent RGBA PNG na tinanggal ang background, para maaari mong i-composite ang subject sa anumang background.
Ibinabalik
Ang result property ng response ay naglalaman ng id ng bagong ginawang lamp prototype task. I-poll ang Get a Task endpoint o mag-subscribe sa stream hanggang umabot ang task sa SUCCEEDED, pagkatapos ay ipasa ang ID na iyon sa build endpoint bilang input_task_id.
Mga Mode ng Kabiguan
Name
400 - Bad Request
Description
Hindi katanggap-tanggap ang request. Karaniwang sanhi:
Kulang na parameter: Kailangan ang image_url.
Invalid na image format: Ang ibinigay na image_url ay hindi suportadong format (.jpg, .jpeg, .png, .webp).
Wala sa saklaw ang dimensyon ng imahe: Masyadong maliit ang imahe, lampas sa maximum na file size, o lampas sa maximum na bilang ng pixel.
Hindi maabot na URL: Hindi ma-download ang image_url (404 o timeout).
Invalid na Data URI: Malformed ang base64 string.
Na-flag na content: Ang input image ay na-flag ng NSFW o intellectual property moderation.
Invalid na image_subject: Hindi kabilang sa character / landscape.
Name
401 - Unauthorized
Description
Nabigo ang authentication. Pakisuri ang iyong API key.
Name
402 - Payment Required
Description
Hindi sapat na credits para maisagawa ang task na ito.
Name
429 - Too Many Requests
Description
Nalampasan mo na ang iyong rate limit.
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"}
Halimbawa ng prototype
Magsimula sa isang source photo; ibinabalik ng prototype ang concept image at isang hollow 3D model na pinoproseso ng build stage.
Bumuo ng mga pangwakas na 3D-printable na bahagi mula sa isang matagumpay na prototype task.
Pinapatakbo ng build ang lamp processor sa 3D model ng prototype: sinusukat nito
ang model sa diameter_mm, pinapatag ang ilalim ayon sa cut_amount_percent,
hinuhukay ito hanggang sa thickness_mm, binubuksan ang ilalim, at — kapag pumili
ng fixture preset — nagdaragdag ng base plate na may fixture hole at isang hiwalay
na mount para sa light source. Tingnan ang
The Lamp Build Task Object para sa
hugis ng response.
Mga Parameter
Name
input_task_id
Type
string
Kinakailangan
Description
Ang task ID ng isang prototype task na ginawa gamit ang parehong OpenAPI endpoint na ito. Dapat ang prototype ay ginawa gamit ang parehong API key, dapat ay nakarating na sa SUCCEEDED, at dapat ay nakagawa ng 3D model.
Ang mga prototype task na ginawa sa pamamagitan ng webapp ay hindi tinatanggap — ang build endpoint ay tumatanggap lamang ng mga prototype task na ginawa ng POST /openapi/creative-lab/lamp/v1/prototype at tinatanggihan ang anumang ibang pinagmulan na may 404.
Name
name
Type
string
Description
Opsyonal na pangalan ng task para sa layuning pagpapakita. Maximum na 100 na character.
options
Opsyonal na mga parameter sa pag-tune para sa heometriya ng lampshade. Bawat field ay may makatwirang default — ipadala lamang ang mga gusto mong i-override.
Name
diameter_mm
Type
number
default 150
Description
Target na maximum na dimensyon ng bounding box ng lampshade, sa millimeters. Pantay na sinusukat ang mesh upang bumagay. Saklaw: [50, 400].
Name
thickness_mm
Type
number
default 1
Description
Kapal ng dingding ng hollow na lampshade, sa millimeters. Saklaw: (0, 10].
Name
cut_amount_percent
Type
number
default 1
Description
Porsyento ng taas ng model na tinatabas nang patag sa ilalim, upang ang lampshade ay nakaupo sa print bed at may bukas para sa fixture. Saklaw: [1, 100].
Name
light_source_preset
Type
string
default bambu_mh001_60mm
Description
Preset ng fixture ng light source na tumutukoy kung paano gagawin ang ilalim. Mga available na value:
bambu_mh001_60mm (default) — open-bottom na lampshade kasama ang isang base plate na may 60 mm na fixture hole, kapwa nasa model_urls.lamp_stl, at ang fixture mount bilang model_urls.base_stl.
none — isang solong naselyohang lampshade sa model_urls.lamp_stl; hindi isinasama ang model_urls.base_stl.
Name
fixture_offset_x_mm
Type
number
default 0
Description
X-axis offset ng fixture hole sa base plate, kaugnay sa gitna ng lampshade, sa millimeters. May kahulugan lamang kapag light_source_preset ≠ none. Saklaw: [-80, 80].
Name
fixture_offset_z_mm
Type
number
default 0
Description
Z-axis (lalim) offset ng fixture hole sa base plate, kaugnay sa gitna ng lampshade, sa millimeters. May kahulugan lamang kapag light_source_preset ≠ none. Saklaw: [-80, 80].
Name
rotate_x_deg
Type
number
default 0
Description
Pag-ikot sa paligid ng X axis na inilalapat sa model bago iproseso, sa degrees. Ang tatlong pag-ikot ay inilalapat bilang XYZ Euler angles sa paligid ng gitna ng model. Saklaw: [-360, 360].
Name
rotate_y_deg
Type
number
default 0
Description
Pag-ikot sa paligid ng Y axis na inilalapat sa na-import na mesh bago iproseso, sa degrees. Saklaw: [-360, 360].
Name
rotate_z_deg
Type
number
default 0
Description
Pag-ikot sa paligid ng Z axis na inilalapat sa na-import na mesh bago iproseso, sa degrees. Saklaw: [-360, 360].
Name
include_result_json
Type
boolean
default false
Description
Kapag true at ang output.format ay zip, isinasama ang result.json ng lamp processor (pangalan ng pipeline, mga babala, at mga landas ng artifact) sa loob ng bundle. Hindi pinapansin kapag ang output.format ay stl.
output
Opsyonal na pumipili ng wire-format. Default sa stl.
Name
format
Type
string
default stl
Description
Bundle ng artifact na ibinabalik ng build. Mga available na value:
stl (default) — ibinabalik ang model_urls.lamp_stl (ang lampshade, kasama ang base plate kapag may nakatakdang fixture preset), kasama ang model_urls.base_stl kapag light_source_preset ≠ none.
zip — pinapaloob ang bawat artifact na inilalabas ng processor (lamp.stl, opsyonal na base.stl, opsyonal na result.json) sa iisang zip at ibinabalik ito sa ilalim ng model_urls.bundle_zip.
Ibinabalik
Ang result property ng response ay naglalaman ng task id ng bagong-likhang lamp build task. I-poll ang Get a Task endpoint o mag-subscribe sa stream hanggang sa marating ng task ang SUCCEEDED, pagkatapos ay i-download ang mga artifact mula sa model_urls.
Mga Paraan ng Kabiguan
Name
400 - Bad Request
Description
Hindi katanggap-tanggap ang request. Karaniwang mga dahilan:
Nawawalang parameter: Kailangan ang input_task_id.
Invalid na UUID: Ang input_task_id ay hindi isang wastong UUID.
Hindi nagtagumpay ang parent: Ang tinutukoy na prototype task ay hindi pa nakarating sa SUCCEEDED.
Walang model: Nagtagumpay ang prototype task ngunit walang nagawang 3D model.
Options na labas sa saklaw: Isa sa mga field ng options ay lumabas sa pinapayagang saklaw o enum set nito.
Name
401 - Unauthorized
Description
Nabigo ang authentication. Pakisuri ang iyong API key.
Name
402 - Payment Required
Description
Kulang na credits upang maisagawa ang task na ito.
Name
404 - Not Found
Description
Ang tinutukoy na prototype task ay hindi umiiral, pag-aari ng ibang user, o ginawa sa pamamagitan ng webapp (mga prototype task lamang sa API-mode ang maaaring mag-chain patungo sa build).
Kunin ang isang prototype o build task gamit ang isang valid na task id. Ang URL path
ay dapat tumugma sa stage ng task — ang isang build task na kinuha sa pamamagitan ng
/prototype/:id ay magbabalik ng 404, at gayundin naman sa kabaligtaran.
Kanselahin ang isang lampara task. Kung ang task ay PENDING pa rin, ang mga
credits na nagamit sa oras ng paglikha ay i-rerefund. Ang mga task na IN_PROGRESS na
ay kinakansela nang walang refund (maaaring gumagamit na ng resources ang worker).
Ang mga task na nakarating na sa isang terminal state (SUCCEEDED, FAILED,
CANCELED) ay hindi na pwedeng kanselahin.
Ang URL path ay dapat tumugma sa stage ng task — ang DELETE sa
/prototype/:buildId ay nagbabalik ng 404.
Path Parameters
Name
id
Type
path
Description
Natatanging identifier para sa lampara task na kakanselahin.
Returns
Nagbabalik ng 204 No Content kapag matagumpay, na may walang laman na body.
Failure Modes
Name
400 - Bad Request
Description
Nasa terminal state na ang task at hindi na ito pwedeng kanselahin.
Name
404 - Not Found
Description
Hindi umiiral ang task, pag-aari ito ng ibang user, o hindi tumutugma ang stage nito sa URL path.
I-stream ang mga real-time na update para sa isang lamp task sa pamamagitan ng Server-Sent Events (SSE).
Ang URL path ay dapat tumugma sa stage ng task — ang pagbukas ng stream sa
/prototype/:buildId/stream ay maglalabas ng iisang event: error na payload na may
status_code: 404 at isasara ang stream.
Mga Parameter
Name
id
Type
path
Description
Natatanging identifier para sa lamp task na i-stream.
Mga Ibinabalik
Nagbabalik ng stream ng Lamp Prototype
o Lamp Build na mga task object bilang
Server-Sent Events. Para sa mga PENDING o IN_PROGRESS na task, ang response
stream ay isasama lamang ang mga kinakailangang field na progress at status.
// 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=***" }}
Kunin ang isang paginated na listahan ng iyong mga gawain sa lampara para sa isang stage. Ang URL
path ang pumipili ng stage — ang /prototype ay nagbabalik ng mga prototype task; ang /build
ay nagbabalik ng mga build task. Ang mga gawain mula sa kabilang stage ay hindi kasama sa alinman sa
response.
Mga Path Parameter
Name
stage
Type
path
Kinakailangan
Description
Alinman sa prototype o build. Ang koleksiyon ay nagbabalik lamang ng mga gawain
na ang stage ay tumutugma sa URL — ang pagkuha ng /prototype ay hindi kailanman nagbabalik ng
build task at vice versa.
Mga Query Parameter
Name
page_num
Type
integer
default 1
Description
Numero ng pahina para sa pagination.
Name
page_size
Type
integer
default 10
Description
Limitasyon sa laki ng pahina. Ang pinakamataas na pinapayagan ay 50 na item.
Name
sort_by
Type
string
default -created_at
Description
Field na gagamitin sa pag-uuri. Available na mga value:
+created_at: Pagbukud-bukurin ayon sa oras ng paglikha nang pataas.
-created_at: Pagbukud-bukurin ayon sa oras ng paglikha nang pababa.
Ang Lamp Prototype Task object ay isang work unit na sinusubaybayan ng Meshy upang bumuo ng isang stylized na matte-white concept image mula sa isang source photo at i-convert ito sa isang hollow 3D model. Ang output ng stage na ito ay naka-chain papunta sa the build stage sa pamamagitan ng input_task_id.
Mga Property
Name
id
Type
string
Description
Natatanging identifier para sa task. Bagama't gumagamit kami ng k-sortable UUID para sa mga task id bilang detalye ng implementasyon, hindi ka dapat gumawa ng anumang palagay tungkol sa format ng id.
Name
type
Type
string
Description
Uri ng task. Ang value ay creative-lab-lamp-prototype.
Name
name
Type
string
Description
Ang task name na ibinigay noong ginawa ang task. Empty string kung walang ibinigay na pangalan.
Name
status
Type
string
Description
Status ng task. Ang mga posibleng value ay isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress ng task. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging 0. Kapag matagumpay na ang task, ito ay magiging 100.
Name
created_at
Type
timestamp
Description
Timestamp kung kailan ginawa ang task, sa milliseconds.
Ang isang timestamp ay kumakatawan sa bilang ng mga millisecond na lumipas mula Enero 1, 1970 UTC, ayon
sa pamantayang RFC 3339.
Halimbawa, ang Biyernes, Setyembre 1, 2023 12:00:00 PM GMT ay kinakatawan bilang 1693569600000. Nalalapat ito
sa lahat ng timestamp sa Meshy API.
Name
started_at
Type
timestamp
Description
Timestamp kung kailan sinimulan ang task, sa milliseconds. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging 0.
Name
finished_at
Type
timestamp
Description
Timestamp kung kailan natapos ang task, sa milliseconds. Kung hindi pa tapos ang task, ang property na ito ay magiging 0.
Name
expires_at
Type
timestamp
Description
Timestamp kung kailan mag-e-expire ang resulta ng task, sa milliseconds.
Name
preceding_tasks
Type
integer
Description
Ang bilang ng mga naunang task.
Makabuluhan lamang ang value ng field na ito kung ang status ng task ay PENDING.
Name
task_error
Type
object
Description
Mga detalye ng error para sa mga nabigong task. Tingnan ang Errors para sa buong reference ng task_error object.
Name
consumed_credits
Type
integer
Description
Ang bilang ng credits na nagamit ng task na ito. Naroroon kapag ang status ng task ay PENDING, IN_PROGRESS, o SUCCEEDED. Nagbabalik ng 0 para sa mga FAILED na task (ang credits ay ire-refund kapag nabigo).
Name
model_urls
Type
object
Description
Mga URL na maaaring i-download para sa 3D model na nabuo mula sa concept image. Naroroon kapag matagumpay na ang task; {} bago iyon.
Name
glb
Type
string
Description
URL na maaaring i-download para sa hollow matte-white lampshade model sa format na GLB. Ito ang model na pinoproseso ng build stage.
Name
thumbnail_url
Type
string
Description
URL na maaaring i-download para sa isang na-render na preview ng 3D model. Empty string hanggang matagumpay ang task.
Name
image_urls
Type
array of strings
Description
Mga URL na maaaring i-download para sa mga kandidatong concept image na nabuo ng prototype task na ito. Sa kasalukuyan, palaging nagbabalik ang API ng eksaktong isang kandidato; ang field ay isang array upang ang mga susunod na revision ay makapaglabas ng maraming kandidato nang hindi nakakasira ng compatibility.
Ang Lampara Build Task object ay isang yunit ng trabaho na sinusubaybayan ng Meshy upang bumuo ng pinal na 3D-printable na lampshade mula sa isang matagumpay na prototype task. Pinapatakbo ng build ang lamp processor sa 3D model ng prototype upang hukayin ito, patagin at buksan ang ilalim, at (gamit ang fixture preset) idagdag ang base plate at ang fixture mount.
Mga Property
Name
id
Type
string
Description
Natatanging identifier para sa task.
Name
type
Type
string
Description
Uri ng task. Ang value ay creative-lab-lamp-build.
Name
name
Type
string
Description
Ang pangalan ng task na ibinigay noong ginawa ang task. Walang laman (empty string) kung walang pangalang ibinigay.
Name
status
Type
string
Description
Status ng task. Ang mga posibleng value ay isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress ng task. Kung hindi pa nasisimulan ang task, ang property na ito ay magiging 0. Kapag naging matagumpay na ang task, ito ay magiging 100.
Name
created_at
Type
timestamp
Description
Timestamp kung kailan ginawa ang task, sa milliseconds.
Name
started_at
Type
timestamp
Description
Timestamp kung kailan sinimulan ang task, sa milliseconds.
Name
finished_at
Type
timestamp
Description
Timestamp kung kailan natapos ang task, sa milliseconds.
Name
expires_at
Type
timestamp
Description
Timestamp kung kailan mag-e-expire ang resulta ng task, sa milliseconds.
Name
preceding_tasks
Type
integer
Description
Ang bilang ng mga naunang task. May kahulugan lamang kapag ang status ay PENDING.
Name
task_error
Type
object
Description
Mga detalye ng error para sa mga nabigong task. Tingnan ang Errors para sa kumpletong reference ng task_error object.
Name
consumed_credits
Type
integer
Description
Ang bilang ng credits na nagamit ng task na ito. Nagbabalik ng 0 para sa mga task na FAILED (irerefund ang credits kapag nabigo).
Name
model_urls
Type
object
Description
Mga URL na maaaring i-download para sa mga nabuong artifact, naka-key ayon sa pangalan ng artifact. Ang set ng mga key ay depende sa output.format at options.light_source_preset:
Name
lamp_stl
Type
string
Description
URL na maaaring i-download para sa lamp.stl: ang open-bottom na lampshade kasama ang base plate na may hawak sa fixture hole, o isang solong sealed lampshade kapag ang options.light_source_preset ay none. Naroroon kapag ang output.format ay stl (ang default).
Name
base_stl
Type
string
Description
URL na maaaring i-download para sa base.stl, ang fixture mount ng light-source. Naroroon kapag ang output.format ay stlat ang options.light_source_preset ay hindi none. Hindi isinasama kapag ang fixture preset ay none.
Name
bundle_zip
Type
string
Description
URL na maaaring i-download para sa isang zip bundle ng bawat artifact na inilalabas ng processor (lamp.stl, opsyonal na base.stl, at — kapag ang options.include_result_json ay true — result.json). Naroroon kapag ang output.format ay zip. Kapag naroroon ang bundle_zip, hindi isinasama ang lamp_stl / base_stl.