Gawing 3D-printable na lampshade ng lampara ang isang text prompt o pinagmulang larawan sa dalawang
yugto: ang prototype ay bumubuo ng stylized na matte-white na konseptong larawan, pagkatapos ay
ginagawang hollow STL lampshade ng build ang konseptong larawang iyon (opsyonal na
ipinares sa base disk para sa light-source fixture). Nakaugnay ang dalawang yugto
sa pamamagitan ng input_task_id.
Bumuo ng isang matte-white na concept image para sa lampshade — alinman
mula sa text prompt (text-to-3D) o mula sa reference photo (image-to-3D).
Ang ibinalik na task ID ang ipapasa mo bilang input_task_id sa build
endpoint. Sumangguni sa
The Lamp Prototype Task Object
para sa anyo ng response.
Parameters
Eksaktong isa sa text o image_url ang kinakailangan. Ang pagpasa ng pareho, o wala ni isa, ay nagbabalik ng 400.
Name
text
Type
string
Kinakailangan
Description
Text prompt na naglalarawan sa nais na paksa ng lampshade. Kinakailangan kapag inalis ang image_url. Maximum na 800 character.
Name
image_url
Type
string
Kinakailangan
Description
Source photo na ginagamit ng Meshy bilang visual reference para sa lampshade. Kinakailangan kapag inalis ang text. Kasalukuyan naming sinusuportahan ang mga format na .jpg, .jpeg, .png, at .webp.
May dalawang paraan para ibigay ang image:
Publicly accessible URL: Isang URL na naa-access mula sa pampublikong internet.
Data URI: Isang base64-encoded na Data URI ng image. 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 para sa image-to-3D path. Mga available na value:
character (default) — iisang character / object subject (figurine, hayop, mascot, atbp.).
Opsyonal na pangalan ng task para sa display purposes. Maximum na 100 character.
Returns
Ang result property ng response ay naglalaman ng task id ng bagong nalikhang 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.
Failure Modes
Name
400 - Bad Request
Description
Hindi katanggap-tanggap ang request. Mga karaniwang dahilan:
Missing parameter: Eksaktong isa sa text o image_url ang kinakailangan.
Both provided: Tinatanggihan ang pagpasa ng parehong text at image_url — mutually exclusive ang mga ito.
Invalid image format: Ang ibinigay na image_url ay hindi suportadong format (.jpg, .jpeg, .png, .webp).
Image dimensions out of range: Masyadong maliit ang image, lumalampas sa maximum file size, o lumalampas sa maximum pixel count.
Unreachable URL: Hindi ma-download ang image_url (404 o timeout).
Invalid Data URI: Mali ang porma ng base64 string.
Content flagged: Na-flag ang input image ng NSFW o intellectual property moderation.
Text too long: Lumalampas ang text sa 800 character.
Invalid 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
Lumampas ka na sa iyong rate limit.
Request
POST
/openapi/creative-lab/lamp/v1/prototype
# Stage 1 (image-to-3D): generate a matte-white lampshade concept imagecurl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype \ -X POST \ -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" }'# Stage 1 (text-to-3D): generate from a text promptcurl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "text": "a stylized owl perched on a tree branch under moonlight" }'
Response
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototype example
Start with a source photo, then generate the prototype image used by the lamp build stage.
Bumuo ng panghuling 3D-printable na lampshade mula sa isang nagtagumpay na prototype
task. Pinapatakbo ng build ang image-to-3D pipeline sa concept
image ng prototype, pagkatapos ay pini-post-process ang mesh sa pamamagitan ng lamp processor upang gawing hollow
ito, i-flatten ang itaas, opsyonal na mag-cut ng base, at (kapag pumili ng fixture preset)
maglabas ng hiwalay na base disk para sa light source. Sumangguni sa
The Lamp Build Task Object para sa
anyo ng response.
Mga Parameter
Name
input_task_id
Type
string
Kinakailangan
Description
Ang task ID ng isang prototype task na ginawa sa pamamagitan ng kaparehong OpenAPI endpoint na ito. Dapat ginawa ang prototype gamit ang parehong API key, dapat umabot sa SUCCEEDED, at dapat nakagawa ng eksaktong isang candidate image.
Ang mga prototype task na ginawa sa pamamagitan ng webapp ay hindi tinatanggap — tumatanggap lamang ang build endpoint ng mga prototype task na ginawa ng POST /openapi/creative-lab/lamp/v1/prototype at tinatanggihan ang anumang ibang source gamit ang 404.
Name
name
Type
string
Description
Opsyonal na pangalan ng task para sa pagpapakita. Maximum na 100 character.
options
Opsyonal na mga tuning parameter 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 80
Description
Target na maximum dimension ng bounding box ng lampshade, sa millimeters. Pare-parehong ini-scale ang mesh upang magkasya. Range: [50, 400].
Name
thickness_mm
Type
number
default 1.5
Description
Kapal ng dingding ng hollow na lampshade, sa millimeters. Range: (0, 10].
Name
cut_amount_percent
Type
number
default 35
Description
Porsyento ng taas ng lampshade na i-flatten sa itaas upang ang print ay maaaring umupo sa bed. Range: [1, 100].
Name
light_source_preset
Type
string
default bambu_mh001_60mm
Description
Light-source fixture preset na tumutukoy kung (at ano) na base disk ang ilalabas kasabay ng lampshade. Mga available na value:
bambu_mh001_60mm (default) — maglabas ng 60 mm na base disk na sukat para sa compatible na light-source fixture. Kasama sa resulta ang model_urls.base_stl.
none — walang fixture, walang base disk. Inaalis ang model_urls.base_stl.
Name
fixture_offset_x_mm
Type
number
default 0
Description
Horizontal na X-axis offset ng fixture cutout kaugnay ng gitna ng lampshade, sa millimeters. Makabuluhan lamang kapag light_source_preset ≠ none. Range: [-80, 80].
Name
fixture_offset_z_mm
Type
number
default 0
Description
Vertical na Z-axis offset ng fixture cutout kaugnay ng ilalim ng lampshade, sa millimeters. Range: [-80, 80].
Name
rotate_x_deg
Type
number
default 0
Description
Rotation sa paligid ng X axis na inilalapat sa na-import na mesh bago ang processing, sa degrees. Range: [-360, 360].
Name
rotate_y_deg
Type
number
default 0
Description
Rotation sa paligid ng Y axis na inilalapat sa na-import na mesh bago ang processing, sa degrees. Range: [-360, 360].
Name
rotate_z_deg
Type
number
default 0
Description
Rotation sa paligid ng Z axis na inilalapat sa na-import na mesh bago ang processing, sa degrees. Range: [-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 (na naglalaman ng nasukat na mesh metrics + ang na-resolve na option set) sa loob ng bundle. Binabalewala kapag ang output.format ay stl.
output
Opsyonal na wire-format selector. Default ay stl.
Name
format
Type
string
default stl
Description
Artifact bundle na ibinabalik ng build. Mga available na value:
stl (default) — ibinabalik ang lampshade bilang model_urls.lamp_stl, plus model_urls.base_stl kapag light_source_preset ≠ none.
zip — ipinapackage ang bawat artifact na inilalabas ng processor (lamp.stl, opsyonal na base.stl, opsyonal na result.json) sa isang zip at ibinabalik ito sa ilalim ng model_urls.bundle_zip.
Mga 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 umabot ang task sa SUCCEEDED, pagkatapos ay i-download ang mga artifact mula sa model_urls.
Mga Mode ng Pagkabigo
Name
400 - Bad Request
Description
Hindi katanggap-tanggap ang request. Mga karaniwang sanhi:
Nawawalang parameter: Kinakailangan ang input_task_id.
Invalid UUID: Ang input_task_id ay hindi valid na UUID.
Hindi nagtagumpay ang parent: Hindi pa umaabot sa SUCCEEDED ang tinukoy na prototype task.
Walang candidate: Nagtagumpay ang prototype task ngunit walang nalikhang candidate image.
Options out of range: Isa sa mga field ng options ang lumampas sa pinapayagang range o enum set nito.
Name
401 - Unauthorized
Description
Nabigo ang authentication. Pakisuri ang iyong API key.
Name
402 - Payment Required
Description
Hindi sapat ang credits upang maisagawa ang task na ito.
Name
404 - Not Found
Description
Hindi umiiral ang tinukoy na prototype task, kabilang ito sa ibang user, o ginawa ito sa pamamagitan ng webapp (tanging mga API-mode prototype task lang ang puwedeng mag-chain sa build).
Kunin ang isang prototype o build na gawain gamit ang valid na task id. Ang URL path
ay dapat tumugma sa yugto ng gawain — ang build task na kinuha sa pamamagitan ng
/prototype/:id ay nagbabalik ng 404, at kabaliktaran.
Kanselahin ang isang task ng lampara. Kung ang task ay PENDING pa rin, ang credits na nagamit
sa oras ng paggawa ay ibinabalik. 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 panghuling estado (SUCCEEDED, FAILED,
CANCELED) ay hindi na maaaring kanselahin.
Dapat tumugma ang URL path sa stage ng task — ang DELETE sa
/prototype/:buildId ay nagbabalik ng 404.
Mga Parameter ng Path
Name
id
Type
path
Description
Natatanging identifier para sa task ng lampara na kakanselahin.
Mga Ibinabalik
Nagbabalik ng 204 No Content kapag matagumpay na may walang laman na body.
Mga Mode ng Pagkabigo
Name
400 - Bad Request
Description
Ang task ay nasa panghuling estado na at hindi na maaaring kanselahin.
Name
404 - Not Found
Description
Ang task ay hindi umiiral, pag-aari ng ibang user, o ang stage nito ay hindi tumutugma sa URL path.
Mag-stream ng mga real-time update para sa isang gawain ng lampara sa pamamagitan ng Server-Sent Events (SSE).
Dapat tumugma ang URL path sa stage ng gawain — ang pagbubukas ng stream sa
/prototype/:buildId/stream ay naglalabas ng isang event: error payload na may
status_code: 404 at isinasara ang stream.
Mga Parameter
Name
id
Type
path
Description
Natatanging identifier para sa gawain ng lampara na i-stream.
Mga Ibinabalik
Nagbabalik ng stream ng mga object ng gawain na Prototype ng lampara
o Build ng lampara bilang
Server-Sent Events. Para sa mga gawaing PENDING o IN_PROGRESS, isasama lang ng response
stream ang kinakailangang mga 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": 30,"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 listahang may pagination ng iyong mga gawain sa lampara para sa iisang yugto. Pinipili ng URL
path ang yugto — ang /prototype ay nagbabalik ng mga prototype na gawain; ang /build
ay nagbabalik ng mga build na gawain. Ang mga gawain mula sa ibang yugto ay hindi kasama sa alinmang
response.
Mga Path Parameter
Name
stage
Type
path
Kinakailangan
Description
Alinman sa prototype o build. Nagbabalik lamang ang collection ng mga gawain
na ang yugto ay tumutugma sa URL — ang pagkuha sa /prototype ay hindi kailanman nagbabalik ng
mga build na gawain at kabaliktaran.
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 item.
Name
sort_by
Type
string
default -created_at
Description
Field na pagsasaayusan. Mga available na halaga:
+created_at: Ayusin ayon sa oras ng paggawa sa pataas na pagkakasunod-sunod.
-created_at: Ayusin ayon sa oras ng paggawa sa pababang pagkakasunod-sunod.
Ang object na Gawain sa Prototype ng lampara ay isang work unit na sinusubaybayan ng Meshy upang
makabuo ng estilong matte na puting larawang konsepto mula sa alinman sa isang text prompt
o isang pinagmulang larawan. Ang output ng yugtong ito ay ikinakadena sa
ang yugto ng build 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 pangalan ng task na ibinigay noong ginawa ang task. Empty string kung walang ibinigay na pangalan.
Name
status
Type
string
Description
Katayuan 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 nagtagumpay na ang task, magiging 100 ito.
Name
created_at
Type
timestamp
Description
Timestamp kung kailan ginawa ang task, sa milliseconds.
Ang timestamp ay kumakatawan sa bilang ng milliseconds na lumipas mula Enero 1, 1970 UTC, alinsunod sa
pamantayang RFC 3339.
Halimbawa, ang 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 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 object na task_error.
Name
consumed_credits
Type
integer
Description
Ang bilang ng credits na nakonsumo ng task na ito. Makikita kapag ang status ng task ay PENDING, IN_PROGRESS, o SUCCEEDED. Nagbabalik ng 0 para sa mga FAILED na task (ibinabalik ang credits kapag nabigo).
Name
image_urls
Type
array of strings
Description
Mga nada-download na URL para sa mga candidate na concept image na ginawa ng prototype task na ito. Sa kasalukuyan, palaging eksaktong isang candidate ang ibinabalik ng API; array ang field upang sa mga susunod na revision ay maaaring magpakita ng maraming candidate nang walang breaking change.
Ang Lamp Build Task object ay isang work unit na sinusubaybayan ng Meshy upang
bumuo ng pinal na lampshade na maaaring i-3D print mula sa isang prototype task na nagtagumpay.
Pinapatakbo ng build ang isang image-to-3D draft + texture pipeline sa concept image
ng prototype, pagkatapos ay post-process ang mesh sa pamamagitan ng lamp processor upang
butasan ang loob, patagin, at (opsyonal) putulin ang fixture base.
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. 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, magiging 0 ang property na ito. Kapag nagtagumpay na ang task, magiging 100 ito.
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. Makabuluhan 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 buong reference ng object na task_error.
Name
consumed_credits
Type
integer
Description
Ang bilang ng credits na nakonsumo ng task na ito. Nagbabalik ng 0 para sa mga task na FAILED (ibinabalik ang credits kapag nabigo).
Name
model_urls
Type
object
Description
Mga nada-download na URL para sa mga nabuong artifact, naka-key ayon sa pangalan ng artifact. Nakadepende ang set ng mga key sa output.format at options.light_source_preset:
Name
lamp_stl
Type
string
Description
Nada-download na URL papunta sa lampshade na lamp.stl. Naroroon kapag ang output.format ay stl (ang default).
Name
base_stl
Type
string
Description
Nada-download na URL papunta sa fixture-base na base.stl. Naroroon kapag ang output.format ay stlat ang options.light_source_preset ay hindi none. Inaalis kapag ang fixture preset ay none.
Name
bundle_zip
Type
string
Description
Nada-download na URL papunta sa 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, inaalis ang lamp_stl / base_stl.