Gawing 3D-printable na keychain medalyon ang isang source na larawan — isang badge-shaped na colorized depth relief — sa dalawang yugto: ang prototype ay bumubuo ng colorized na concept image mula sa iyong input na larawan, pagkatapos ang build ay ginagawang relief 3D model ang concept image na iyon. Ang dalawang yugto ay konektado sa pamamagitan ng input_task_id.
Bumuo ng isang kulay na concept image mula sa source photo. Ang ibinalik na task ID ay ang ipapasa mo bilang input_task_id sa build endpoint. Tingnan ang
The Keychain Prototype Task Object
para sa anyo ng tugon.
Mga Parameter
Name
image_url
Type
string
Kinakailangan
Description
Source photo para sa Meshy upang gawing kulay na concept image na handa para sa keychain. Sinusuportahan namin ang mga format na .jpg, .jpeg, .png, at .webp.
May dalawang paraan upang ibigay ang imahe:
Publicly accessible URL: Isang URL na naa-access mula sa pampublikong internet.
Data URI: Isang base64-encoded na data URI ng imahe. Halimbawa ng isang data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Opsyonal na pangalan ng task para sa pagpapakita. Maximum na 100 karakter.
Name
remove_background
Type
boolean
default false
Description
Kapag nakatakda sa true, ang prototype image ay ibinabalik bilang isang transparent RGBA PNG na may tinanggal na background, upang maikomposisyon mo ang subject sa anumang background.
Kinokontrol lamang nito ang imahe na ibinabalik ng endpoint na ito. Ito ay hiwalay mula sa opsyon sa build ng parehong pangalan (default true), na kumokontrol sa pagtanggal ng background bago ang reliefing.
Mga Ibinabalik
Ang result na property ng tugon ay naglalaman ng task id ng bagong likhang keychain prototype task. I-poll ang Get a Task endpoint o mag-subscribe sa stream hanggang ang task ay umabot sa SUCCEEDED, pagkatapos ay ipasa ang ID na iyon sa build endpoint bilang input_task_id.
Mga Mode ng Pagkabigo
Name
400 - Bad Request
Description
Ang kahilingan ay hindi katanggap-tanggap. Karaniwang mga sanhi:
Missing parameter: Kinakailangan ang image_url.
Invalid image format: Ang ibinigay na image_url ay hindi suportadong format (.jpg, .jpeg, .png, .webp).
Image dimensions out of range: Ang imahe ay masyadong maliit, lumampas sa maximum na laki ng file, o lumampas sa maximum na bilang ng pixel.
Unreachable URL: Ang image_url ay hindi ma-download (404 o timeout).
Invalid Data URI: Ang base64 string ay mali ang pagkakabuo.
Content flagged: Ang input na imahe ay na-flag ng NSFW o intellectual property moderation.
Name
401 - Unauthorized
Description
Nabigo ang authentication. Pakisuri ang iyong API key.
Name
402 - Payment Required
Description
Kulang ang credits upang maisagawa ang task na ito.
Name
429 - Too Many Requests
Description
Lumampas ka sa iyong rate limit.
Request
POST
/openapi/creative-lab/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/keychain/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>" }'
Response
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Halimbawa ng Prototype
Magsimula sa isang source photo, pagkatapos ay bumuo ng prototype image na ginagamit sa keychain build stage.
Bumuo ng panghuling 3D-printable keychain medallion mula sa isang matagumpay na prototype task. Ang build ay nagpapatakbo ng depth-map relief pipeline sa colorized concept image ng prototype at naglalabas ng isang mesh artifact sa format na iyong hinihiling. Sumangguni sa
The Keychain Build Task Object para sa hugis ng tugon.
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. Ang prototype ay dapat na nilikha gamit ang parehong API key, dapat ay umabot sa SUCCEEDED, at dapat ay nakagawa ng eksaktong isang candidate image.
Ang mga prototype task na nilikha sa pamamagitan ng webapp ay hindi tinatanggap — ang build endpoint ay tumatanggap lamang ng mga prototype task na ginawa ng POST /openapi/creative-lab/keychain/v1/prototype at tinatanggihan ang anumang ibang pinagmulan gamit ang 404.
Name
name
Type
string
Description
Opsyonal na pangalan ng task para sa layunin ng pagpapakita. Maximum na 100 karakter.
options
Opsyonal na mga tuning parameter para sa relief geometry. Ang bawat field ay may makatuwirang default — ipadala lamang ang mga nais mong palitan.
Name
badge_shape
Type
string
default circle
Description
Outline silhouette ng keychain medallion. Mga magagamit na halaga:
circle (default)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
default 40
Description
Haba ng gilid ng bounding square ng keychain, sa millimeters. Saklaw: (0, 400].
Name
relief_height_mm
Type
number
default 2.2
Description
Maximum na taas ng relief mula sa base, sa millimeters. Saklaw: [0, 20].
Name
relief_offset_mm
Type
number
default 0
Description
Vertical offset na inilapat sa relief bago ang extrusion, sa millimeters. Saklaw: [0, 20].
Name
base_thickness_mm
Type
number
default 0.1
Description
Kapal ng flat base plate sa likod ng relief, sa millimeters. Saklaw: [0, 20].
Name
has_closed_back
Type
boolean
default true
Description
Kung ang likod ng medallion ay selyado bilang isang saradong ibabaw. Itakda sa false para sa isang bukas na shell.
Name
relief_curve
Type
string
default linear
Description
Transfer curve na nagmamapa ng depth-map values sa relief height. Mga magagamit na halaga:
linear (default)
gamma
s-curve
Name
curve_param
Type
number
default 1.0
Description
Shape parameter para sa transfer curve (makabuluhan lamang kapag relief_curve ay gamma). Saklaw: (0, 10].
Name
invert_depth
Type
boolean
default false
Description
Baligtarin ang interpretasyon ng depth-map upang ang mas madilim na mga rehiyon ay maging mas mataas na relief.
Name
smoothing
Type
number
default 0.24
Description
Lakas ng smoothing na inilapat sa depth map bago ang relief extraction. Saklaw: [0, 10].
Name
relief_scale
Type
number
default 1.0
Description
Vertical scale multiplier na inilapat sa ibabaw ng relief_height_mm. Saklaw: (0, 10].
Name
depth_threshold
Type
number
default 0.1
Description
Low-pass threshold para sa depth-map values; anumang mas mababa dito ay naka-clamp sa zero. Saklaw: [0, 1].
Name
remove_background
Type
boolean
default true
Description
Awtomatikong alisin ang background ng concept image ng prototype bago ang reliefing.
Hiwalay mula sa prototype parameter ng parehong pangalan (default false), na kumokontrol kung ang prototype image mismo ay ibinabalik na may transparency.
Name
export_resolution
Type
integer
default 512
Description
Mesh resolution na ginamit para sa export. Saklaw: [64, 2048].
output
Opsyonal na wire-format selector. Default sa glb.
Name
format
Type
string
default glb
Description
Artifact bundle na ibinalik ng build. Mga magagamit na halaga:
glb (default) — nagbabalik ng isang model.glb sa ilalim ng model_urls.glb.
obj — zip model.obj + model.mtl + texture.png at ibinalik ang bundle sa ilalim ng model_urls.obj.
zip — zip ang bawat artifact na inilalabas ng generator at ibinalik ang bundle sa ilalim ng model_urls.bundle_zip.
Mga Pagbabalik
Ang result property ng tugon ay naglalaman ng task id ng bagong nilikhang keychain build task. I-poll ang Get a Task endpoint o mag-subscribe sa stream hanggang ang task ay umabot sa SUCCEEDED, pagkatapos ay i-download ang artifact mula sa nag-iisang entry sa model_urls.
Mga Mode ng Pagkabigo
Name
400 - Bad Request
Description
Ang kahilingan ay hindi katanggap-tanggap. Karaniwang mga sanhi:
Nawawalang parameter: input_task_id ay kinakailangan.
Di-wastong UUID: Ang input_task_id ay hindi isang wastong UUID.
Parent not succeeded: Ang tinutukoy na prototype task ay hindi pa umabot sa SUCCEEDED.
No candidate: Ang prototype task ay nagtagumpay ngunit walang nagawang candidate image.
Options out of range: Isa sa mga options fields ay lumabas sa pinapayagang saklaw o enum set.
Name
401 - Unauthorized
Description
Nabigo ang authentication. Paki-check ang iyong API key.
Name
402 - Payment Required
Description
Kulang ang credits upang isagawa ang task na ito.
Name
404 - Not Found
Description
Ang tinutukoy na prototype task ay hindi umiiral, pag-aari ng ibang user, o nilikha sa pamamagitan ng webapp (tanging API-mode prototype tasks lamang ang nagcha-chain sa build).
Kunin ang isang prototype o build task gamit ang isang wastong task id. Ang URL path
ay dapat tumugma sa yugto ng task — ang isang build task na kinuha sa pamamagitan ng
/prototype/:id ay magbabalik ng 404, at kabaligtaran.
Kanselahin ang isang keychain task. Kung ang task ay nasa PENDING pa, ang credits
na nagamit sa oras ng paglikha ay ibabalik. Ang mga task na nasa
IN_PROGRESS ay kinansela nang walang refund (maaaring gumagamit na ang worker ng resources). Ang mga task na umabot na sa terminal state
(SUCCEEDED, FAILED, CANCELED) ay hindi na maaaring kanselahin.
Ang URL path ay dapat tumugma sa yugto ng task — ang DELETE sa
/prototype/:buildId ay magbabalik ng 404.
Mga Parameter ng Path
Name
id
Type
path
Description
Natatanging pagkakakilanlan para sa keychain task na kakanselahin.
Mga Ibinabalik
Nagbabalik ng 204 No Content sa tagumpay na may walang laman na katawan.
Mga Paraan ng Pagkabigo
Name
400 - Bad Request
Description
Ang task ay nasa terminal state na at hindi na maaaring kanselahin.
Name
404 - Not Found
Description
Ang task ay hindi umiiral, pagmamay-ari ng ibang user, o ang yugto nito ay hindi tumutugma sa URL path.
I-stream ang mga real-time na update para sa isang keychain task sa pamamagitan ng Server-Sent Events (SSE).
Ang URL path ay dapat tumugma sa yugto ng task — ang pagbubukas ng stream sa
/prototype/:buildId/stream ay maglalabas ng isang event: error payload na may
status_code: 404 at isasara ang stream.
Mga Parameter
Name
id
Type
path
Description
Natatanging pagkakakilanlan para sa keychain task na i-stream.
Mga Ibinabalik
Nagbabalik ng stream ng mga Keychain Prototype
o Keychain Build task objects bilang
Server-Sent Events. Para sa mga PENDING o IN_PROGRESS na tasks, ang response
stream ay maglalaman lamang ng kinakailangang progress at status na mga field.
// 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-keychain-build","status": "SUCCEEDED","progress": 100,"created_at": 1729123500000,"started_at": 1729123510000,"finished_at": 1729123535000,"expires_at": 1729382735000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***" }}
Kunin ang isang listahan ng iyong mga gawain sa keychain para sa isang yugto na may pagination. Ang URL
path ay pumipili ng yugto — /prototype ay nagbabalik ng mga gawain sa prototype; /build
ay nagbabalik ng mga gawain sa build. Ang mga gawain mula sa ibang yugto ay hindi kasama sa alinmang tugon.
Mga Parameter ng Path
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 mga gawain sa build at kabaliktaran.
Mga Parameter ng Query
Name
page_num
Type
integer
default 1
Description
Numero ng pahina para sa pagination.
Name
page_size
Type
integer
default 10
Description
Limitasyon ng laki ng pahina. Ang maximum na pinapayagan ay 50 na item.
Name
sort_by
Type
string
default -created_at
Description
Patlang na gagamitin sa pag-uuri. Mga magagamit na halaga:
+created_at: Ayusin ayon sa oras ng paglikha sa pataas na pagkakasunod-sunod.
-created_at: Ayusin ayon sa oras ng paglikha sa pababang pagkakasunod-sunod.
Ang Keychain Prototype Task object ay isang yunit ng trabaho na sinusubaybayan ng Meshy upang makabuo ng isang kulay na konsepto ng imahe mula sa isang source na larawan. Ang output ng yugtong ito ay ikinakadena sa yugtong pagbuo sa pamamagitan ng input_task_id.
Mga Katangian
Name
id
Type
string
Description
Natatanging identifier para sa gawain. Habang gumagamit kami ng k-sortable UUID para sa mga task id bilang detalye ng implementasyon, hindi ka dapat gumawa ng anumang mga pagpapalagay tungkol sa format ng id.
Name
type
Type
string
Description
Uri ng gawain. Ang halaga ay creative-lab-keychain-prototype.
Name
name
Type
string
Description
Ang pangalan ng gawain na ibinigay noong nilikha ang gawain. Walang laman na string kung walang ibinigay na pangalan.
Name
status
Type
string
Description
Katayuan ng gawain. Ang mga posibleng halaga ay isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Pag-unlad ng gawain. Kung ang gawain ay hindi pa nasisimulan, ang katangiang ito ay magiging 0. Kapag ang gawain ay nagtagumpay, ito ay magiging 100.
Name
created_at
Type
timestamp
Description
Timestamp kung kailan nilikha ang gawain, sa milliseconds.
Ang timestamp ay kumakatawan sa bilang ng milliseconds na lumipas mula noong Enero 1, 1970 UTC, ayon sa
RFC 3339 na pamantayan.
Halimbawa, Biyernes, Setyembre 1, 2023 12:00:00 PM GMT ay kinakatawan bilang 1693569600000. Ito ay naaangkop
sa lahat ng timestamps sa Meshy API.
Name
started_at
Type
timestamp
Description
Timestamp kung kailan sinimulan ang gawain, sa milliseconds. Kung ang gawain ay hindi pa nasisimulan, ang katangiang ito ay magiging 0.
Name
finished_at
Type
timestamp
Description
Timestamp kung kailan natapos ang gawain, sa milliseconds. Kung ang gawain ay hindi pa natatapos, ang katangiang ito ay magiging 0.
Name
expires_at
Type
timestamp
Description
Timestamp kung kailan mag-e-expire ang resulta ng gawain, sa milliseconds.
Name
preceding_tasks
Type
integer
Description
Ang bilang ng mga naunang gawain.
Ang halaga ng patlang na ito ay makabuluhan lamang kung ang katayuan ng gawain ay PENDING.
Name
task_error
Type
object
Description
Mga detalye ng error para sa mga nabigong gawain. Tingnan ang Errors para sa buong sanggunian ng task_error na object.
Name
consumed_credits
Type
integer
Description
Ang bilang ng credits na nagamit ng gawain na ito. Kasalukuyan kapag ang katayuan ng gawain ay PENDING, IN_PROGRESS, o SUCCEEDED. Nagbabalik ng 0 para sa mga FAILED na gawain (ang credits ay ibinabalik kapag nabigo).
Name
image_urls
Type
array of strings
Description
Mga maida-download na URL para sa mga kandidato ng konsepto ng imahe na nabuo ng prototype na gawain na ito. Sa kasalukuyan, ang API ay palaging nagbabalik ng eksaktong isang kandidato; ang patlang ay isang array upang ang mga susunod na bersyon ay maaaring magpakita ng maraming kandidato nang walang pagbabago.
Ang Keychain Build Task object ay isang yunit ng trabaho na sinusubaybayan ng Meshy upang makabuo ng panghuling 3D keychain mesh mula sa isang nagtagumpay na prototype task. Ang build ay nagpapatakbo ng depth-map relief pipeline sa concept image ng prototype at naglalathala ng isang mesh artifact sa format na hiniling ng tumatawag.
Mga Katangian
Name
id
Type
string
Description
Natatanging pagkakakilanlan para sa gawain.
Name
type
Type
string
Description
Uri ng gawain. Ang halaga ay creative-lab-keychain-build.
Name
name
Type
string
Description
Ang pangalan ng gawain na ibinigay noong nilikha ang gawain. Walang laman na string kung walang pangalan na ibinigay.
Name
status
Type
string
Description
Katayuan ng gawain. Ang mga posibleng halaga ay isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Pag-unlad ng gawain. Kung ang gawain ay hindi pa nasisimulan, ang katangiang ito ay magiging 0. Kapag ang gawain ay nagtagumpay na, ito ay magiging 100.
Name
created_at
Type
timestamp
Description
Timestamp kung kailan nilikha ang gawain, sa milliseconds.
Name
started_at
Type
timestamp
Description
Timestamp kung kailan sinimulan ang gawain, sa milliseconds.
Name
finished_at
Type
timestamp
Description
Timestamp kung kailan natapos ang gawain, sa milliseconds.
Name
expires_at
Type
timestamp
Description
Timestamp kung kailan mag-e-expire ang resulta ng gawain, sa milliseconds.
Name
preceding_tasks
Type
integer
Description
Ang bilang ng mga naunang gawain. Makabuluhan lamang kapag ang status ay PENDING.
Name
task_error
Type
object
Description
Mga detalye ng error para sa mga nabigong gawain. Tingnan ang Errors para sa buong sanggunian ng task_error object.
Name
consumed_credits
Type
integer
Description
Ang bilang ng credits na nagamit ng gawain na ito. Nagbabalik ng 0 para sa mga FAILED na gawain (ang credits ay ibinabalik kapag may pagkabigo).
Name
model_urls
Type
object
Description
Mga mada-download na URL para sa nalikhang artifact, na naka-key sa pangalan ng artifact. Palaging naglalaman ng eksaktong isang entry — ang format na hiniling sa pamamagitan ng build request's output.format. Ang key ay tumutugma sa hiniling na format:
Name
glb
Type
string
Description
Mada-download na URL sa GLB file. Naroroon kapag ang output.format ay glb (ang default).
Name
obj
Type
string
Description
Mada-download na URL sa isang zip bundle na naglalaman ng model.obj, model.mtl, at texture.png. Naroroon kapag ang output.format ay obj.
Name
bundle_zip
Type
string
Description
Mada-download na URL sa isang zip bundle ng bawat artifact na inilalabas ng generator. Naroroon kapag ang output.format ay zip.