Gawing 3D-print-able na shade ng lampara ang isang source photo sa dalawang yugto:
ang prototype ay gumagawa ng stylized na matte-white na concept image at ginagawa
itong hollow na 3D model (GLB), pagkatapos nito ay pinapatakbo ng build ang lamp
processor sa modelong iyon upang makabuo ng mga printable na STL parts — isang
open-bottom na shade ng lampara na may base plate para sa light-source fixture,
kasama na rin 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 dalang parehong
concept image (image_urls) at 3D model (model_urls.glb na may
thumbnail_url). Ang ibinalik na task ID ang 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 ni Meshy bilang visual reference para sa lampshade. Kasalukuyan naming sinusuportahan ang mga format na .jpg, .jpeg, .png, at .webp.
Mayroong dalawang paraan para maghatid ng imahe:
Publicly accessible URL: Isang URL na naa-access mula sa pampublikong internet.
Data URI: Isang base64-encoded data URI ng imahe. Halimbawa ng isang data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
image_subject
Type
string
default character
Description
Subject category hint na pumipili ng stylization prompt. Mga available na value:
character (default) — solong character / object subject (figurine, hayop, mascot, atbp.).
Opsyonal na pangalan ng task para sa layuning pagpapakita. Maximum na 100 characters.
Name
remove_background
Type
boolean
default false
Description
Kapag naka-set sa true, ang prototype image ay ibabalik bilang isang transparent na RGBA PNG na tinanggal ang background, para maaari mong i-composite ang subject sa kahit anong background.
Ibinabalik
Ang property na result ng response ay naglalaman ng id ng task 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 ipasa ang ID na iyon sa build endpoint bilang input_task_id.
Mga Paraan ng Pagkabigo
Name
400 - Bad Request
Description
Hindi katanggap-tanggap ang request. Karaniwang mga sanhi:
Nawawalang parameter: kinakailangan ang image_url.
Di-wastong format ng imahe: Ang ibinigay na image_url ay hindi isang suportadong format (.jpg, .jpeg, .png, .webp).
Wala sa saklaw ang dimensyon ng imahe: Masyadong maliit ang imahe, lumalampas sa maximum na laki ng file, o lumalampas sa maximum na bilang ng pixel.
Hindi maabot na URL: Hindi ma-download ang image_url (404 o timeout).
Di-wastong Data URI: Malformed ang base64 string.
Naflag ang nilalaman: Naflag ang input image ng NSFW o intellectual property moderation.
Di-wastong image_subject: Hindi isa sa character / landscape.
Name
401 - Unauthorized
Description
Nabigo ang authentication. Pakisuri ang iyong API key.
Name
402 - Payment Required
Description
Hindi sapat ang credits para isagawa 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"}
Prototype example
Start with a source photo; the prototype returns the concept image and a hollow 3D model that the build stage processes.
Bumuo ng mga panghuling 3D-printable na parte 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 base sa cut_amount_percent,
hinuhukay ito hanggang sa thickness_mm, binubuksan ang ilalim, at — kapag pinili ang isang
fixture preset — nagdaragdag ng base plate na may fixture hole at hiwalay
na mount para sa light source. Sumangguni sa
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 sa pamamagitan ng parehong OpenAPI endpoint na ito. Dapat nagawa ang prototype gamit ang parehong API key, dapat nakaabot ito sa SUCCEEDED, at dapat nakabuo ito 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 source na may 404.
Name
name
Type
string
Description
Opsyonal na pangalan ng task para sa layuning pagpapakita. Maximum na 100 karakter.
options
Opsyonal na mga parameter para sa pag-tuning ng heometriya ng lampshade. Ang bawat field ay may makatuwirang 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. Ang mesh ay pantay na sinusukat upang bumagay dito. 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 pinuputol nang patag sa ilalim, para ang lampshade ay nakapatong sa print bed at may pagbubukas para sa fixture. Saklaw: [1, 100].
Name
light_source_preset
Type
string
default bambu_mh001_60mm
Description
Preset ng fixture ng light source na nagtatakda kung paano binubuo ang ilalim. Mga available na value:
bambu_mh001_60mm (default) — open-bottom na lampshade kasama ang base plate na may dalang 60 mm na fixture hole, pareho sa model_urls.lamp_stl, at ang fixture mount bilang model_urls.base_stl.
none — iisang naka-seal na 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, na may kaugnayan 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, na may kaugnayan 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 palibot 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 palibot ng Y axis na inilalapat sa naka-import na mesh bago iproseso, sa degrees. Saklaw: [-360, 360].
Name
rotate_z_deg
Type
number
default 0
Description
Pag-ikot sa palibot ng Z axis na inilalapat sa naka-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 path ng artifact) sa loob ng bundle. Hindi ito pinapansin kapag ang output.format ay stl.
output
Opsyonal na pumipili ng wire-format. Default ay stl.
Name
format
Type
string
default stl
Description
Artifact bundle na ibinabalik ng build. Mga available na value:
stl (default) — ibinabalik ang model_urls.lamp_stl (ang lampshade, kasama ang base plate kapag may naitakdang fixture preset), kasama ang model_urls.base_stl kapag light_source_preset ≠ none.
zip — pinagsasama-sama ang bawat artifact na ibinubuga 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 ginawang lamp build task. I-poll ang Get a Task endpoint o mag-subscribe sa stream hanggang sa maabot 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:
Missing parameter: Kailangan ang input_task_id.
Invalid UUID: Ang input_task_id ay hindi valid na UUID.
Parent not succeeded: Ang tinutukoy na prototype task ay hindi pa nakakaabot sa SUCCEEDED.
No model: Nagtagumpay ang prototype task ngunit walang nabuong 3D model.
Options out of range: Isa sa mga field ng options ay lumagpas 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 ang credits para 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 naka-chain 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 gamit ang
/prototype/:id ay magbabalik ng 404, at vice versa.
Kanselahin ang isang lamp task. Kung ang task ay PENDING pa rin, ang mga
credits na nagamit noong sandali ng paglikha ay ire-refund. Ang mga task
na IN_PROGRESS na ay kinakansela nang walang refund (posibleng
ginagamit na ng worker ang mga resources). Ang mga task na nasa terminal
state na (SUCCEEDED, FAILED, CANCELED) ay hindi na maaaring
kanselahin.
Dapat tumugma ang URL path sa stage ng task — ang DELETE sa
/prototype/:buildId ay magbabalik ng 404.
Path Parameters
Name
id
Type
path
Description
Natatanging identifier para sa lamp task na kakanselahin.
Returns
Nagbabalik ng 204 No Content kapag matagumpay, na may walang laman na body.
Failure Modes
Name
400 - Bad Request
Description
Ang task ay nasa terminal state na at hindi na maaaring kanselahin.
Name
404 - Not Found
Description
Hindi umiiral ang task, pag-aari ito ng ibang user, o ang stage nito ay hindi tumutugma sa URL path.
Mag-stream ng mga real-time na update para sa isang lamp task sa pamamagitan ng Server-Sent Events (SSE).
Ang URL path ay dapat tumugma sa yugto (stage) ng task — ang pagbukas ng stream sa
/prototype/:buildId/stream ay maglalabas ng isang solong 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.
Ibinabalik
Nagbabalik ng stream ng Lamp Prototype
o Lamp Build na mga task object bilang
Server-Sent Events. Bawat frame ay nagdadala ng buong task object para sa yugtong iyon — ang parehong hugis na
ibinabalik ng Get endpoint — kaya habang ang task ay PENDING o IN_PROGRESS, ang mga
output field ay hindi pa lang napopopulate (null, [] o {}) at ang
finished_at ay 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=***" }}
Kunin ang isang paginated na listahan ng iyong mga gawain ng lampara para sa isang yugto (stage). Ang path
ng URL ang pumipili ng yugto — /prototype ay nagbabalik ng mga prototype task; /build
ay nagbabalik ng mga build task. Ang mga gawain mula sa kabilang yugto ay hindi kasama sa alinman
sa mga tugon.
Path Parameters
Name
stage
Type
path
Kinakailangan
Description
Alinman sa prototype o build. Ang koleksyon ay nagbabalik lamang ng mga gawain
na ang yugto ay tumutugma sa URL — ang pagkuha ng /prototype ay hindi kailanman nagbabalik ng
build task at vice versa.
Query Parameters
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 100 item.
Name
sort_by
Type
string
default -created_at
Description
Field na gagamitin sa pag-uuri. Mga magagamit na halaga:
+created_at: Iuri ayon sa oras ng paglikha nang pataas (ascending).
-created_at: Iuri ayon sa oras ng paglikha nang pababa (descending).
Ang Lamp Prototype Task object ay isang work unit na sinusubaybayan ng Meshy upang
buuin ang isang stylized matte-white concept image mula sa isang source photo at
i-convert ito papuntang hollow 3D model. Ang output ng stage na ito ay naka-chain sa
build stage gamit ang input_task_id.
Properties
Name
id
Type
string
Description
Ang natatanging identifier para sa task. Bagamat gumagamit kami ng k-sortable UUID para sa mga task id bilang implementation detail, hindi ka dapat gumawa ng anumang palagay tungkol sa format ng id.
Name
type
Type
string
Description
Ang uri ng task. Ang value ay creative-lab-lamp-prototype.
Name
name
Type
string
Description
Ang pangalan ng task na ibinigay noong ginawa ang task. Empty string kung walang pangalang ibinigay.
Name
status
Type
string
Description
Status ng task. Ang posibleng values ay isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Ang progress ng task. Kung hindi pa nasisimulan ang task, ang property na ito ay 0. Kapag nagtagumpay na ang task, ito ay magiging 100.
Name
created_at
Type
timestamp
Description
Timestamp ng kailan ginawa ang task, sa milliseconds.
Ang isang timestamp ay kumakatawan sa bilang ng milliseconds na lumipas mula Enero 1, 1970 UTC, ayon
sa RFC 3339 standard.
Halimbawa, Biyernes, Setyembre 1, 2023 12:00:00 PM GMT ay kinakatawan bilang 1693569600000. Nalalapat ito
sa lahat ng timestamps sa Meshy API.
Name
started_at
Type
timestamp
Description
Timestamp ng kailan sinimulan ang task, sa milliseconds. Kung hindi pa nasisimulan ang task, ang property na ito ay 0.
Name
finished_at
Type
timestamp
Description
Timestamp ng kailan natapos ang task, sa milliseconds. Kung hindi pa natatapos ang task, ang property na ito ay 0.
Name
expires_at
Type
timestamp
Description
Timestamp ng kailan mag-expire ang resulta ng task, sa milliseconds.
Name
preceding_tasks
Type
integer
Description
Ang bilang ng mga nauunang 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 ginamit 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 (nire-refund ang credits kapag nabigo).
Name
model_urls
Type
object
Description
Mga URL na maidodownload para sa 3D model na nabuo mula sa concept image. Naroroon kapag nagtagumpay na ang task; {} bago iyon.
Name
glb
Type
string
Description
URL na maidodownload 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 maidodownload para sa isang na-render na preview ng 3D model. Empty string hanggang magtagumpay ang task.
Name
image_urls
Type
array of strings
Description
Mga URL na maidodownload para sa mga candidate ng concept image na nabuo ng prototype task na ito. Sa kasalukuyan, palaging isang candidate lamang ang ibinabalik ng API; ang field ay isang array upang sa mga susunod na revisions ay maipakita ang maraming candidate nang hindi masisira ang compatibility.
Ang Lamp Build Task object ay isang work unit 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 gawin itong hollow, patagin at buksan ang ilalim, at (gamit ang isang 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 halaga ay creative-lab-lamp-build.
Name
name
Type
string
Description
Ang pangalan ng task na ibinigay noong ginawa ang task. Empty string kung walang ibinigay na pangalan.
Name
status
Type
string
Description
Status ng task. Ang mga posibleng halaga 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, magiging 100 ito.
Name
created_at
Type
timestamp
Description
Timestamp kung kailan nagawa 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
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. Nagbabalik ng 0 para sa mga FAILED na task (nire-refund ang credits kapag nabigo).
Name
model_urls
Type
object
Description
Mga downloadable URL para sa mga nabuong artifact, na 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
Downloadable URL sa lamp.stl: ang open-bottom na lampshade kasama ang base plate na may hawak na butas ng fixture, o isang solong sealed na lampshade kapag ang options.light_source_preset ay none. Naroroon kapag ang output.format ay stl (ang default).
Name
base_stl
Type
string
Description
Downloadable URL sa base.stl, ang light-source fixture mount. 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
Downloadable URL sa isang zip bundle ng bawat artifact na inilalabas ng processor (lamp.stl, opsyonal na base.stl, at — kapag 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.