Tukar foto sumber kepada medalion rantai kunci yang boleh dicetak dalam 3D — relief kedalaman berwarna berbentuk lencana — dalam dua peringkat: prototaip menghasilkan imej konsep berwarna daripada foto input anda, kemudian bina menukar imej konsep tersebut kepada model 3D relief. Kedua-dua peringkat ini dihubungkan melalui input_task_id.
Menjana satu imej konsep berwarna daripada foto sumber. ID tugasan yang dikembalikan ialah nilai yang anda hantar sebagai input_task_id kepada endpoint build. Rujuk
The Keychain Prototype Task Object
untuk bentuk respons.
Parameter
Name
image_url
Type
string
Diperlukan
Description
Foto sumber untuk Meshy warnakan menjadi imej konsep sedia untuk keychain. Kami buat masa ini menyokong format .jpg, .jpeg, .png, dan .webp.
Terdapat dua cara untuk menyediakan imej:
URL yang boleh diakses secara awam: URL yang boleh diakses daripada internet awam.
Data URI: Data URI imej yang dikodkan base64. Contoh data URI: data:image/jpeg;base64,<data imej anda yang dikodkan base64>.
Name
name
Type
string
Description
Nama tugasan pilihan untuk tujuan paparan. Maksimum 100 aksara.
Ini melabelkan tugasan dalam papan pemuka dan senarai tugasan anda. Ia bukan diukir pada keychain — gunakan name_text untuk itu.
Name
name_text
Type
string
Description
Teks untuk diukir pada keychain, seperti nama haiwan peliharaan atau nama seseorang. Maksimum 10 aksara, dikira sebagai aksara Unicode dan bukannya bait, jadi nama Cina, Jepun, atau Korea sepanjang 10 aksara diterima. Tinggalkan kosong untuk menghasilkan keychain tanpa ukiran.
Ruang putih di sekeliling akan dipangkas dan aksara pemformatan tidak kelihatan akan dibuang sebelum teks digunakan. Nilai hasil dikembalikan sebagai name_text pada objek tugasan prototaip, supaya anda boleh mengesahkan dengan tepat apa yang akan diukir sebelum membayar peringkat build.
Ukiran dikenakan di sini, pada peringkat prototaip. Peringkat build mewarisinya secara automatik dan tidak menerima name_text sendiri.
Apabila teks bukan ASCII biasa, hantar badan permintaan sebagai UTF-8 dan tetapkan Content-Type: application/json; charset=utf-8. Sesetengah klien HTTP — termasuk Invoke-RestMethod Windows PowerShell — mengekod badan sebagai ISO-8859-1 secara lalai, yang secara senyap menukar setiap aksara bukan Latin kepada ? sebelum ia sampai ke Meshy. API tidak dapat membezakan itu daripada ukiran yang sebenarnya anda minta.
Name
remove_background
Type
boolean
lalai false
Description
Apabila ditetapkan kepada true, imej prototaip dikembalikan sebagai PNG RGBA lutsinar dengan latar belakang dibuang, supaya anda boleh menggabungkan subjek ke atas mana-mana latar belakang.
Ini hanya mengawal imej yang dikembalikan oleh endpoint ini. Ia berasingan daripada pilihan build dengan nama yang sama (lalai true), yang mengawal pembuangan latar belakang sebelum relief.
Kembalian
Sifat result pada respons mengandungi id tugasan bagi tugasan prototaip keychain 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. Punca biasa:
Parameter hilang: image_url diperlukan.
Format imej tidak sah: image_url yang diberikan bukan format yang disokong (.jpg, .jpeg, .png, .webp).
Dimensi imej di luar julat: Imej terlalu kecil, melebihi saiz fail maksimum, atau melebihi bilangan piksel maksimum.
URL tidak boleh dicapai: image_url tidak dapat dimuat turun (404 atau timeout).
Data URI tidak sah: Rentetan base64 tidak sah bentuknya.
Ukiran terlalu panjang: name_text lebih panjang daripada 10 aksara. Permintaan ditolak dan bukannya dipendekkan, jadi anda tidak akan sekali-kali dikenakan bayaran untuk keychain yang diukir dengan nama yang dipendekkan.
Kandungan ditandai: Imej input ditandai oleh moderation NSFW atau harta intelek, atau ukiran name_text ditandai oleh moderation NSFW. Ukiran hanya disaring untuk kandungan NSFW — penyaringan harta intelek terpakai pada imej.
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/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; charset=utf-8' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>", "name_text": "Luna" }'
Response
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototype example
Start with a source photo, then generate the prototype image used by the keychain build stage.
Jana medali rantai kunci 3D yang boleh dicetak akhir daripada tugas
prototaip yang berjaya. Pembinaan ini menjalankan saluran paip relief
peta kedalaman pada imej konsep berwarna prototaip dan menghantar satu
artifak jejaring dalam format yang anda minta. Rujuk
The Keychain Build Task Object untuk
bentuk respons.
Parameter
Name
input_task_id
Type
string
Diperlukan
Description
ID tugas bagi tugas 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 tepat satu imej calon.
Tugas prototaip yang dicipta melalui webapp tidak diterima — endpoint pembinaan hanya menerima tugas prototaip yang dihasilkan oleh POST /openapi/creative-lab/keychain/v1/prototype dan menolak mana-mana sumber lain dengan 404.
Name
name
Type
string
Description
Nama tugas pilihan untuk tujuan paparan. Maksimum 100 aksara.
options
Parameter penalaan pilihan untuk geometri relief. Setiap medan mempunyai lalai yang sesuai — hantar hanya yang anda ingin ubah suai.
Name
badge_shape
Type
string
lalai circle
Description
Bentuk garis luar medali rantai kunci. Nilai yang tersedia:
circle (lalai)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
lalai 40
Description
Panjang sisi segi empat sama sempadan rantai kunci, dalam milimeter. Julat: (0, 400].
Name
relief_height_mm
Type
number
lalai 2.2
Description
Ketinggian maksimum relief di atas asas, dalam milimeter. Julat: [0, 20].
Name
relief_offset_mm
Type
number
lalai 0
Description
Ofset menegak yang dikenakan pada relief sebelum penyemperitan, dalam milimeter. Julat: [0, 20].
Name
base_thickness_mm
Type
number
lalai 0.1
Description
Ketebalan plat asas rata di belakang relief, dalam milimeter. Julat: [0, 20].
Name
has_closed_back
Type
boolean
lalai true
Description
Sama ada bahagian belakang medali dimeteraikan sebagai permukaan tertutup. Tetapkan kepada false untuk cengkerang terbuka.
Name
relief_curve
Type
string
lalai linear
Description
Lengkung pemindahan yang memetakan nilai peta kedalaman kepada ketinggian relief. Nilai yang tersedia:
linear (lalai)
gamma
s-curve
Name
curve_param
Type
number
lalai 1.0
Description
Parameter bentuk untuk lengkung pemindahan (hanya bermakna apabila relief_curve ialah gamma). Julat: (0, 10].
Name
invert_depth
Type
boolean
lalai false
Description
Songsangkan tafsiran peta kedalaman supaya kawasan yang lebih gelap menjadi relief yang lebih tinggi.
Name
smoothing
Type
number
lalai 0.24
Description
Kekuatan pelicinan yang dikenakan pada peta kedalaman sebelum pengekstrakan relief. Julat: [0, 10].
Name
relief_scale
Type
number
lalai 1.0
Description
Pengganda skala menegak yang dikenakan di atas relief_height_mm. Julat: (0, 10].
Name
depth_threshold
Type
number
lalai 0.1
Description
Ambang tapisan-rendah untuk nilai peta kedalaman; apa-apa di bawah ini dijepit kepada sifar. Julat: [0, 1].
Name
remove_background
Type
boolean
lalai true
Description
Buang latar belakang imej konsep prototaip secara automatik sebelum proses relief.
Berasingan daripada parameter prototaip dengan nama yang sama (lalai false), yang mengawal sama ada imej prototaip itu sendiri dikembalikan dengan ketelusan.
Name
export_resolution
Type
integer
lalai 512
Description
Resolusi jejaring yang digunakan untuk eksport. Julat: [64, 2048].
output
Pemilih format wayar pilihan. Lalai kepada glb.
Name
format
Type
string
lalai glb
Description
Kumpulan artifak yang dikembalikan oleh pembinaan. Nilai yang tersedia:
glb (lalai) — mengembalikan satu model.glb di bawah model_urls.glb.
obj — melakukan zip pada model.obj + model.mtl + texture.png dan mengembalikan kumpulan tersebut di bawah model_urls.obj.
zip — melakukan zip pada setiap artifak yang dihasilkan oleh penjana dan mengembalikan kumpulan tersebut di bawah model_urls.bundle_zip.
Kembalian
Sifat result bagi respons mengandungi id tugas bagi tugas pembinaan rantai kunci yang baru dicipta. Tinjau endpoint Get a Task atau langgan stream sehingga tugas mencapai SUCCEEDED, kemudian muat turun artifak daripada satu-satunya entri dalam model_urls.
Mod Kegagalan
Name
400 - Bad Request
Description
Permintaan tidak boleh diterima. Punca biasa:
Parameter tiada: input_task_id diperlukan.
UUID tidak sah: input_task_id bukan UUID yang sah.
Induk belum berjaya: Tugas prototaip yang dirujuk belum lagi mencapai SUCCEEDED.
Tiada calon: Tugas prototaip berjaya tetapi tidak menghasilkan imej calon.
Options di luar julat: Salah satu medan options berada di luar julat atau set enum yang dibenarkan.
Name
401 - Unauthorized
Description
Pengesahan gagal. Sila semak kunci API anda.
Name
402 - Payment Required
Description
Kredit tidak mencukupi untuk melaksanakan tugas ini.
Name
404 - Not Found
Description
Tugas prototaip yang dirujuk tidak wujud, dimiliki oleh pengguna lain, atau dicipta melalui webapp (hanya tugas prototaip mod API yang berantai ke pembinaan).
Dapatkan semula tugasan prototaip atau binaan berdasarkan id tugasan yang sah. Laluan URL
mesti sepadan dengan peringkat tugasan tersebut — tugasan binaan yang diambil melalui
/prototype/:id akan mengembalikan 404, dan begitu juga sebaliknya.
Batalkan tugas rantai kunci. Jika tugas masih PENDING, kredit yang
digunakan pada masa 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 rantai kunci yang akan dibatalkan.
Pulangan
Mengembalikan 204 No Content apabila berjaya dengan badan yang kosong.
Mod Kegagalan
Name
400 - Bad Request
Description
Tugas sudah 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 rantai kunci melalui Server-Sent Events (SSE).
Laluan URL mestilah sepadan dengan peringkat tugas — membuka aliran di
/prototype/:buildId/stream akan menghasilkan satu payload event: error tunggal
dengan status_code: 404 dan menutup aliran tersebut.
Parameter
Name
id
Type
path
Description
Pengecam unik untuk tugas rantai kunci yang akan dialirkan.
Pulangan
Mengembalikan aliran objek tugas Keychain Prototype
atau Keychain 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 adalah 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-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=***" }}
Dapatkan senarai penomboran halaman bagi tugas rantai kunci anda untuk satu peringkat sahaja. Laluan URL
memilih peringkat tersebut — /prototype mengembalikan tugas prototaip; /build
mengembalikan tugas binaan. Tugas daripada peringkat lain 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 — mendapatkan /prototype tidak akan pernah mengembalikan
tugas binaan 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 adalah 100 item.
Name
sort_by
Type
string
lalai -created_at
Description
Medan untuk diisih. Nilai yang tersedia:
+created_at: Isih mengikut masa penciptaan secara menaik.
-created_at: Isih mengikut masa penciptaan secara menurun.
Objek Tugasan Prototaip Rantai Kunci adalah unit kerja yang dijejaki oleh Meshy untuk
menghasilkan imej konsep berwarna daripada foto sumber. Output daripada
peringkat ini disambungkan ke peringkat pembinaan
melalui input_task_id.
Sifat
Name
id
Type
string
Description
Pengecam unik untuk tugasan. Walaupun kami menggunakan UUID yang boleh diisih-k (k-sortable) untuk id tugasan sebagai butiran pelaksanaan, anda tidak seharusnya membuat sebarang andaian tentang format id tersebut.
Name
type
Type
string
Description
Jenis tugasan. Nilainya ialah creative-lab-keychain-prototype.
Name
name
Type
string
Description
Nama tugasan yang diberikan semasa tugasan dicipta. Rentetan kosong jika tiada nama diberikan.
Name
name_text
Type
string
Description
Ukiran yang digunakan pada rantai kunci ini, setelah dipangkas dan aksara pemformatan tidak kelihatan dibuang. Tidak wujud apabila tugasan dicipta tanpa name_text. Bandingkan dengan apa yang anda hantar untuk mengesahkan teks tersebut kekal utuh selepas pengekodan oleh klien HTTP anda.
Name
status
Type
string
Description
Status tugasan. Nilai yang mungkin adalah salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress tugasan. Jika tugasan belum bermula, sifat ini akan menjadi 0. Setelah tugasan berjaya, ini akan menjadi 100.
Name
created_at
Type
timestamp
Description
Cap masa bila tugasan 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 terpakai
kepada semua cap masa dalam Meshy API.
Name
started_at
Type
timestamp
Description
Cap masa bila tugasan dimulakan, dalam milisaat. Jika tugasan belum bermula, sifat ini akan menjadi 0.
Name
finished_at
Type
timestamp
Description
Cap masa bila tugasan selesai, dalam milisaat. Jika tugasan belum selesai, sifat ini akan menjadi 0.
Name
expires_at
Type
timestamp
Description
Cap masa bila hasil tugasan akan tamat tempoh, dalam milisaat.
Name
preceding_tasks
Type
integer
Description
Bilangan tugasan yang mendahului.
Nilai medan ini hanya bermakna jika status tugasan adalah PENDING.
Name
task_error
Type
object
Description
Butiran ralat untuk tugasan yang gagal. Lihat Ralat untuk rujukan lengkap objek task_error.
Name
consumed_credits
Type
integer
Description
Bilangan kredit yang digunakan oleh tugasan ini. Wujud apabila status tugasan adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk tugasan FAILED (kredit dikembalikan semula apabila gagal).
Name
image_urls
Type
array of strings
Description
URL yang boleh dimuat turun untuk calon imej konsep yang dihasilkan oleh tugasan prototaip ini. Pada masa ini API sentiasa mengembalikan tepat satu calon; medan ini adalah tatasusunan supaya semakan masa depan boleh memaparkan beberapa calon tanpa perubahan yang memecahkan keserasian.
Objek Tugasan Binaan Rantai Kunci ialah unit kerja yang dijejaki oleh Meshy untuk
menjana jejaring rantai kunci 3D akhir daripada tugasan prototaip yang berjaya. Binaan
ini menjalankan saluran paip relief peta kedalaman (depth-map) pada imej konsep prototaip dan
menerbitkan satu artifak jejaring dalam format yang diminta oleh pemanggil.
Ciri-ciri
Name
id
Type
string
Description
Pengecam unik untuk tugasan.
Name
type
Type
string
Description
Jenis tugasan. Nilainya ialah creative-lab-keychain-build.
Name
name
Type
string
Description
Nama tugasan yang diberikan semasa tugasan dicipta. Rentetan kosong jika tiada nama diberikan.
Name
status
Type
string
Description
Status tugasan. Nilai yang mungkin ialah salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress tugasan. Jika tugasan belum bermula lagi, ciri ini akan menjadi 0. Setelah tugasan berjaya, nilai ini akan menjadi 100.
Name
created_at
Type
timestamp
Description
Cap masa bila tugasan dicipta, dalam milisaat.
Name
started_at
Type
timestamp
Description
Cap masa bila tugasan dimulakan, dalam milisaat.
Name
finished_at
Type
timestamp
Description
Cap masa bila tugasan selesai, dalam milisaat.
Name
expires_at
Type
timestamp
Description
Cap masa bila hasil tugasan luput, dalam milisaat.
Name
preceding_tasks
Type
integer
Description
Bilangan tugasan terdahulu. Hanya bermakna apabila status ialah PENDING.
Name
task_error
Type
object
Description
Butiran ralat untuk tugasan yang gagal. Lihat Ralat untuk rujukan penuh objek task_error.
Name
consumed_credits
Type
integer
Description
Bilangan kredit yang digunakan oleh tugasan ini. Mengembalikan 0 untuk tugasan FAILED (kredit dikembalikan apabila gagal).
Name
model_urls
Type
object
Description
URL yang boleh dimuat turun untuk artifak yang dijana, dikunci mengikut nama artifak. Sentiasa mengandungi tepat satu entri — format yang diminta melalui output.format permintaan binaan. Kunci ini sepadan dengan format yang diminta:
Name
glb
Type
string
Description
URL yang boleh dimuat turun untuk fail GLB. Wujud apabila output.format ialah glb (lalai).
Name
obj
Type
string
Description
URL yang boleh dimuat turun untuk bungkusan zip yang mengandungi model.obj, model.mtl, dan texture.png. Wujud apabila output.format ialah obj.
Name
bundle_zip
Type
string
Description
URL yang boleh dimuat turun untuk bungkusan zip bagi setiap artifak yang dihasilkan oleh penjana. Wujud apabila output.format ialah zip.