Bir kaynak fotoğrafı 3D yazdırılabilir bir anahtarlık madalyonuna — rozet şeklinde
renklendirilmiş bir derinlik rölyefine — iki aşamada dönüştürün: prototip, girdi fotoğrafınızdan renklendirilmiş
bir konsept görseli oluşturur, ardından oluşturma bu konsept görselini
bir rölyef 3D modele dönüştürür. İki aşama input_task_id üzerinden bağlanır.
Kaynak fotoğraftan tek bir renklendirilmiş konsept görsel oluşturun.
Döndürülen görev ID'si, oluşturma uç noktasına input_task_id
olarak ileteceğiniz değerdir. Yanıt yapısı için
Anahtarlık Prototip Görev Nesnesi
bölümüne bakın.
Parametreler
Name
image_url
Type
string
Zorunlu
Description
Meshy tarafından anahtarlığa hazır bir konsept görsele renklendirilecek kaynak fotoğraf. Şu anda .jpg, .jpeg, .png ve .webp formatlarını destekliyoruz.
Görseli sağlamanın iki yolu vardır:
Herkese açık erişilebilir URL: Herkese açık internetten erişilebilen bir URL.
Data URI: Görselin base64 ile kodlanmış Data URI'si. Bir data URI örneği: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Görüntüleme amacıyla isteğe bağlı görev adı. Maksimum 100 karakter.
Döndürür
Yanıtın result özelliği, yeni oluşturulan anahtarlık prototip görevinin görev id değerini içerir. Görev SUCCEEDED durumuna ulaşana kadar Bir Görev Al uç noktasını yoklayın veya stream öğesine abone olun, ardından bu ID'yi oluşturma uç noktasınainput_task_id olarak iletin.
Hata Modları
Name
400 - Bad Request
Description
İstek kabul edilemez durumdaydı. Yaygın nedenler:
Eksik parametre: image_url gereklidir.
Geçersiz görsel formatı: Sağlanan image_url desteklenen bir formatta değil (.jpg, .jpeg, .png, .webp).
Görsel boyutları aralık dışında: Görsel çok küçük, maksimum dosya boyutunu aşıyor veya maksimum piksel sayısını aşıyor.
Ulaşılamayan URL: image_url indirilemedi (404 veya timeout).
Geçersiz Data URI: Base64 dizesi hatalı biçimlendirilmiş.
İşaretlenen içerik: Girdi görseli NSFW veya fikri mülkiyet moderation tarafından işaretlendi.
Name
401 - Unauthorized
Description
Kimlik doğrulama başarısız oldu. Lütfen API anahtarınızı kontrol edin.
Name
402 - Payment Required
Description
Bu görevi gerçekleştirmek için yetersiz kredi.
Name
429 - Too Many Requests
Description
Hız sınırınızı aştınız.
Request
POST
/openapi/creative-lab/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept imagecurl https://api.meshy.ai/openapi/creative-lab/keychain/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>" }'
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.
Başarılı olmuş bir prototip görevinden nihai 3D yazdırılabilir anahtarlık
madalyonunu oluşturun. Derleme, prototipin renklendirilmiş konsept
görüntüsü üzerinde bir derinlik haritası kabartma hattı çalıştırır ve
istediğiniz formatta tek bir ağ yapıtı gönderir. Yanıt biçimi için
Anahtarlık Derleme Görevi Nesnesi
bölümüne bakın.
Parametreler
Name
input_task_id
Type
string
Zorunlu
Description
Aynı OpenAPI uç noktası üzerinden oluşturulmuş bir prototip görevinin görev ID'si. Prototip aynı API anahtarı ile oluşturulmuş, SUCCEEDED durumuna ulaşmış ve tam olarak bir aday görüntü üretmiş olmalıdır.
Web uygulaması aracılığıyla oluşturulan prototip görevleri kabul edilmez — derleme uç noktası yalnızca POST /openapi/creative-lab/keychain/v1/prototype tarafından üretilen prototip görevlerini kabul eder ve diğer tüm kaynakları 404 ile reddeder.
Name
name
Type
string
Description
Görüntüleme amacıyla isteğe bağlı görev adı. En fazla 100 karakter.
options
Kabartma geometrisi için isteğe bağlı ayar parametreleri. Her alanın makul bir varsayılanı vardır — yalnızca geçersiz kılmak istediklerinizi gönderin.
Name
badge_shape
Type
string
varsayılan circle
Description
Anahtarlık madalyonunun dış hat silüeti. Kullanılabilir değerler:
circle (varsayılan)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
varsayılan 40
Description
Anahtarlığın sınırlayıcı kare kenar uzunluğu, milimetre cinsinden. Aralık: (0, 400].
Name
relief_height_mm
Type
number
varsayılan 2.2
Description
Tabanın üzerindeki maksimum kabartma yüksekliği, milimetre cinsinden. Aralık: [0, 20].
Name
relief_offset_mm
Type
number
varsayılan 0
Description
Ekstrüzyondan önce kabartmaya uygulanan dikey ofset, milimetre cinsinden. Aralık: [0, 20].
Daha koyu bölgelerin daha yüksek kabartma olması için derinlik haritası yorumunu tersine çevirin.
Name
smoothing
Type
number
varsayılan 0.24
Description
Kabartma çıkarımından önce derinlik haritasına uygulanan yumuşatma gücü. Aralık: [0, 10].
Name
relief_scale
Type
number
varsayılan 1.0
Description
relief_height_mm üzerine uygulanan dikey ölçek çarpanı. Aralık: (0, 10].
Name
depth_threshold
Type
number
varsayılan 0.1
Description
Derinlik haritası değerleri için düşük geçiş eşiği; bunun altındaki her şey sıfıra sabitlenir. Aralık: [0, 1].
Name
remove_background
Type
boolean
varsayılan true
Description
Kabartma işleminden önce prototipin konsept görüntüsünün arka planını otomatik olarak kaldırır.
Name
export_resolution
Type
integer
varsayılan 512
Description
Dışa aktarma için kullanılan ağ çözünürlüğü. Aralık: [64, 2048].
output
İsteğe bağlı aktarım formatı seçici. Varsayılan olarak glb kullanılır.
Name
format
Type
string
varsayılan glb
Description
Derleme tarafından döndürülen yapıt paketi. Kullanılabilir değerler:
glb (varsayılan) — model_urls.glb altında tek bir model.glb döndürür.
obj — model.obj + model.mtl + texture.png dosyalarını zipler ve paketi model_urls.obj altında döndürür.
zip — oluşturucunun yaydığı her yapıtı zipler ve paketi model_urls.bundle_zip altında döndürür.
Döndürür
Yanıtın result özelliği, yeni oluşturulan anahtarlık derleme görevinin görev id değerini içerir. Görev SUCCEEDED durumuna ulaşana kadar Bir Görev Al uç noktasını yoklayın veya akışa abone olun, ardından yapıtı model_urls içindeki tek girdiden indirin.
Hata Modları
Name
400 - Bad Request
Description
İstek kabul edilemezdi. Yaygın nedenler:
Eksik parametre: input_task_id gereklidir.
Geçersiz UUID: input_task_id geçerli bir UUID değil.
Üst görev başarılı değil: Başvurulan prototip görevi henüz SUCCEEDED durumuna ulaşmadı.
Aday yok: Prototip görevi başarılı oldu ancak aday görüntü üretmedi.
Seçenekler aralık dışında: options alanlarından biri izin verilen aralığın veya enum kümesinin dışına çıktı.
Name
401 - Unauthorized
Description
Kimlik doğrulama başarısız oldu. Lütfen API anahtarınızı kontrol edin.
Name
402 - Payment Required
Description
Bu görevi gerçekleştirmek için yeterli kredi yok.
Name
404 - Not Found
Description
Başvurulan prototip görevi mevcut değil, farklı bir kullanıcıya ait veya web uygulaması aracılığıyla oluşturulmuş (yalnızca API-mode prototip görevleri derlemeye zincirlenir).
Geçerli bir görev id değeri verilerek bir prototip veya derleme görevini alın. URL yolu
görevin aşamasıyla eşleşmelidir — /prototype/:id üzerinden alınan bir derleme görevi
404 döndürür ve tersi de geçerlidir.
Bir anahtarlık görevini iptal edin. Görev hâlâ PENDING durumundaysa, oluşturma
sırasında tüketilen kredi iade edilir. Zaten
IN_PROGRESS durumunda olan görevler iadesiz iptal edilir (çalışan zaten
kaynak tüketiyor olabilir). Zaten son duruma ulaşmış görevler
(SUCCEEDED, FAILED, CANCELED) iptal edilemez.
URL yolu görevin aşamasıyla eşleşmelidir — /prototype/:buildId üzerinde
DELETE işlemi 404 döndürür.
Yol Parametreleri
Name
id
Type
path
Description
İptal edilecek anahtarlık görevi için benzersiz tanımlayıcı.
Döndürür
Başarılı olduğunda boş bir gövdeyle 204 No Content döndürür.
Hata Modları
Name
400 - Bad Request
Description
Görev zaten son durumdadır ve iptal edilemez.
Name
404 - Not Found
Description
Görev mevcut değildir, farklı bir kullanıcıya aittir veya aşaması URL yoluyla eşleşmiyordur.
Server-Sent Events (SSE) aracılığıyla bir anahtarlık görevi için gerçek zamanlı güncellemeleri akışla aktarın.
URL yolu görevin aşamasıyla eşleşmelidir — /prototype/:buildId/stream konumunda
bir akış açmak, status_code: 404 ile tek bir event: error yükü yayar ve akışı kapatır.
Parametreler
Name
id
Type
path
Description
Akışla aktarılacak anahtarlık görevi için benzersiz tanımlayıcı.
Döndürür
Server-Sent Events olarak Anahtarlık Prototipi
veya Anahtarlık Derlemesi görev nesnelerinden oluşan bir akış döndürür.
PENDING veya IN_PROGRESS görevleri için yanıt
akışı yalnızca gerekli progress ve status alanlarını içerir.
// 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=***" }}
Tek bir aşama için anahtarlık görevlerinizin sayfalanmış bir listesini alın. URL
yolu aşamayı seçer — /prototype prototip görevlerini döndürür; /build
derleme görevlerini döndürür. Diğer aşamadaki görevler hiçbir
yanıta dahil edilmez.
Yol Parametreleri
Name
stage
Type
path
Zorunlu
Description
prototype veya build. Koleksiyon yalnızca aşaması URL ile
eşleşen görevleri döndürür — /prototype almak asla
derleme görevlerini döndürmez ve bunun tersi de geçerlidir.
Sorgu Parametreleri
Name
page_num
Type
integer
varsayılan 1
Description
Sayfalama için sayfa numarası.
Name
page_size
Type
integer
varsayılan 10
Description
Sayfa boyutu sınırı. İzin verilen maksimum değer 50 öğedir.
Name
sort_by
Type
string
varsayılan -created_at
Description
Sıralama yapılacak alan. Kullanılabilir değerler:
+created_at: Oluşturma zamanına göre artan sırada sırala.
-created_at: Oluşturma zamanına göre azalan sırada sırala.
Anahtarlık Prototip Görev nesnesi, Meshy'nin bir kaynak fotoğraftan renklendirilmiş bir konsept görseli
oluşturmak için takip ettiği bir iş birimidir. Bu aşamanın çıktısı,
input_task_id aracılığıyla oluşturma aşamasına
zincirlenir.
Özellikler
Name
id
Type
string
Description
Görev için benzersiz tanımlayıcı. Uygulama ayrıntısı olarak görev id'leri için k-sıralanabilir bir UUID kullansak da id'nin biçimi hakkında herhangi bir varsayımda bulunmamalısınız.
Name
type
Type
string
Description
Görevin türü. Değer creative-lab-keychain-prototype şeklindedir.
Name
name
Type
string
Description
Görev oluşturulurken sağlanan görev adı. Ad sağlanmadıysa boş dizedir.
Görevin progress değeri. Görev henüz başlatılmadıysa bu özellik 0 olur. Görev başarıyla tamamlandığında bu değer 100 olur.
Name
created_at
Type
timestamp
Description
Görevin oluşturulduğu zamanın milisaniye cinsinden zaman damgası.
Bir zaman damgası, 1 Ocak 1970 UTC'den bu yana geçen milisaniye sayısını temsil eder ve
RFC 3339 standardını izler.
Örneğin, Cuma, 1 Eylül 2023 12:00:00 PM GMT 1693569600000 olarak temsil edilir. Bu,
Meshy API'deki tüm zaman damgaları için geçerlidir.
Name
started_at
Type
timestamp
Description
Görevin başlatıldığı zamanın milisaniye cinsinden zaman damgası. Görev henüz başlatılmadıysa bu özellik 0 olur.
Name
finished_at
Type
timestamp
Description
Görevin tamamlandığı zamanın milisaniye cinsinden zaman damgası. Görev henüz tamamlanmadıysa bu özellik 0 olur.
Name
expires_at
Type
timestamp
Description
Görev sonucunun süresinin dolduğu zamanın milisaniye cinsinden zaman damgası.
Name
preceding_tasks
Type
integer
Description
Önceki görevlerin sayısı.
Bu alanın değeri yalnızca görev durumu PENDING ise anlamlıdır.
Name
task_error
Type
object
Description
Başarısız görevler için hata ayrıntıları. Tam task_error nesne referansı için Hatalar bölümüne bakın.
Name
consumed_credits
Type
integer
Description
Bu görev tarafından tüketilen kredi sayısı. Görev durumu PENDING, IN_PROGRESS veya SUCCEEDED olduğunda bulunur. FAILED görevler için 0 döndürür (krediler başarısızlık durumunda iade edilir).
Name
image_urls
Type
array of strings
Description
Bu prototip görev tarafından oluşturulan konsept görüntüsü adayları için indirilebilir URL'ler. API şu anda her zaman tam olarak bir aday döndürür; alan bir dizidir, böylece gelecekteki revizyonlar bozucu bir değişiklik olmadan birden fazla adayı sunabilir.
Anahtarlık Oluşturma Görevi nesnesi, Meshy'nin başarılı bir prototip görevinden
nihai 3D anahtarlık ağını oluşturmak için takip ettiği bir iş birimidir.
Oluşturma, prototipin konsept görüntüsü üzerinde bir derinlik haritası rölyef işlem hattı çalıştırır ve
çağıranın talep ettiği formatta tek bir ağ yapıtı yayımlar.
Özellikler
Name
id
Type
string
Description
Görev için benzersiz tanımlayıcı.
Name
type
Type
string
Description
Görevin türü. Değer creative-lab-keychain-build şeklindedir.
Name
name
Type
string
Description
Görev oluşturulurken sağlanan görev adı. Ad sağlanmadıysa boş dizedir.
Görevin progress değeri. Görev henüz başlatılmadıysa bu özellik 0 olur. Görev başarıyla tamamlandığında bu değer 100 olur.
Name
created_at
Type
timestamp
Description
Görevin oluşturulduğu zamanın zaman damgası, milisaniye cinsinden.
Name
started_at
Type
timestamp
Description
Görevin başlatıldığı zamanın zaman damgası, milisaniye cinsinden.
Name
finished_at
Type
timestamp
Description
Görevin tamamlandığı zamanın zaman damgası, milisaniye cinsinden.
Name
expires_at
Type
timestamp
Description
Görev sonucunun süresinin dolduğu zamanın zaman damgası, milisaniye cinsinden.
Name
preceding_tasks
Type
integer
Description
Önceki görevlerin sayısı. Yalnızca durum PENDING olduğunda anlamlıdır.
Name
task_error
Type
object
Description
Başarısız görevler için hata ayrıntıları. Tam task_error nesne referansı için Hatalar bölümüne bakın.
Name
consumed_credits
Type
integer
Description
Bu görev tarafından tüketilen kredi sayısı. FAILED görevler için 0 döndürür (kredi hata durumunda iade edilir).
Name
model_urls
Type
object
Description
Oluşturulan artefakt için indirilebilir URL'ler; artefakt adına göre anahtarlanır. Her zaman tam olarak bir giriş içerir — oluşturma isteğinin output.format alanı üzerinden istenen format. Anahtar, istenen formatla eşleşir:
Name
glb
Type
string
Description
GLB dosyasına indirilebilir URL. output.formatglb olduğunda bulunur (varsayılan).
Name
obj
Type
string
Description
model.obj, model.mtl ve texture.png içeren bir zip paketine indirilebilir URL. output.formatobj olduğunda bulunur.
Name
bundle_zip
Type
string
Description
Üretecin yaydığı her artefaktın zip paketine indirilebilir URL. output.formatzip olduğunda bulunur.