Bir kaynak fotoğrafı, 3D yazdırılabilir bir anahtarlık madalyonuna — rozet şeklinde renklendirilmiş bir derinlik rölyefi — iki aşamada dönüştürün: prototip aşaması, giriş fotoğrafınızdan renklendirilmiş bir konsept görüntü oluşturur, ardından yapı aşaması bu konsept görüntüyü bir rölyef 3D modeline dönüştürür. İki aşama input_task_id aracılığıyla bağlantılıdır.
Kaynak fotoğraftan tek bir renklendirilmiş konsept görüntüsü oluşturun. Döndürülen görev kimliği, input_task_id olarak oluşturma uç noktasına ilettiğiniz kimliktir. 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'nin anahtarlık için hazır bir konsept görüntüsüne renklendireceği kaynak fotoğraf. Şu anda .jpg, .jpeg, .png ve .webp formatlarını destekliyoruz.
Görüntüyü sağlamak için iki yol vardır:
Herkese açık erişilebilir URL: Genel internetten erişilebilen bir URL.
Data URI: Görüntünün base64 ile kodlanmış bir veri URI'si. Bir veri URI örneği: data:image/jpeg;base64,<base64 ile kodlanmış görüntü veriniz>.
Name
name
Type
string
Description
Görüntüleme amacıyla isteğe bağlı görev adı. Maksimum 100 karakter.
Name
remove_background
Type
boolean
varsayılan false
Description
true olarak ayarlandığında, prototip görüntü arka planı kaldırılmış şeffaf RGBA PNG olarak döndürülür, böylece konuyu herhangi bir arka plana yerleştirebilirsiniz.
Bu, yalnızca bu uç noktanın döndürdüğü görüntüyü kontrol eder. Aynı ada sahip oluşturma seçeneğinden (varsayılan true) ayrı olup, kabartmadan önce arka planın kaldırılmasını kontrol eder.
Dönüşler
Yanıtın result özelliği, yeni oluşturulan anahtarlık prototip görevinin görev id'sini içerir. Görev SUCCEEDED durumuna ulaşana kadar Bir Görev Al uç noktasını sorgulayın veya akışa abone olun, ardından bu kimliği input_task_id olarak oluşturma uç noktasına iletin.
Başarısızlık Modları
Name
400 - Bad Request
Description
İstek kabul edilemezdi. Yaygın nedenler:
Eksik parametre: image_url gereklidir.
Geçersiz görüntü formatı: Sağlanan image_url desteklenen bir format değil (.jpg, .jpeg, .png, .webp).
Görüntü boyutları aralık dışında: Görüntü çok küçük, maksimum dosya boyutunu aşıyor veya maksimum piksel sayısını aşıyor.
Erişilemez URL: image_url indirilemedi (404 veya timeout).
Geçersiz Data URI: Base64 dizesi hatalı.
İçerik işaretlendi: Girdi görüntüsü NSFW veya fikri mülkiyet moderasyonu 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.
İstek
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>" }'
Yanıt
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototip örneği
Bir kaynak fotoğrafla başlayın, ardından anahtarlık oluşturma aşamasında kullanılan prototip görüntüyü oluşturun.
Başarılı bir prototip görevinden nihai 3D baskıya uygun anahtarlık madalyonu oluşturun. Yapı, prototipin renklendirilmiş konsept görüntüsünde bir derinlik haritası rölyef hattı çalıştırır ve istediğiniz formatta tek bir ağ eseri gönderir. Yanıt yapısı için Anahtarlık Yapı Görevi Nesnesi bölümüne bakın.
Parametreler
Name
input_task_id
Type
string
Zorunlu
Description
Bu aynı OpenAPI uç noktası aracılığıyla oluşturulmuş bir prototip görevinin görev kimliği. Prototip aynı API anahtarı ile oluşturulmuş olmalı, SUCCEEDED durumuna ulaşmış olmalı ve tam olarak bir aday görüntü üretmiş olmalıdır.
Web uygulaması aracılığıyla oluşturulan prototip görevler kabul edilmez — yapı uç noktası yalnızca POST /openapi/creative-lab/keychain/v1/prototype tarafından üretilen prototip görevleri kabul eder ve diğer kaynakları 404 ile reddeder.
Name
name
Type
string
Description
Görüntüleme amaçlı isteğe bağlı görev adı. Maksimum 100 karakter.
options
Rölyef geometrisi için isteğe bağlı ayar parametreleri. Her alanın mantıklı bir varsayılanı vardır — yalnızca değiştirmek istediğiniz alanları gönderin.
Name
badge_shape
Type
string
varsayılan circle
Description
Anahtarlık madalyonunun dış hat silueti. Mevcut değerler:
Madalyonun arkasının kapalı bir yüzey olarak mühürlenip mühürlenmediği. Açık bir kabuk için false olarak ayarlayın.
Name
relief_curve
Type
string
varsayılan linear
Description
Derinlik haritası değerlerini rölyef yüksekliğine eşleyen transfer eğrisi. Mevcut değerler:
linear (varsayılan)
gamma
s-curve
Name
curve_param
Type
number
varsayılan 1.0
Description
Transfer eğrisi için şekil parametresi (relief_curvegamma olduğunda anlamlıdır). Aralık: (0, 10].
Name
invert_depth
Type
boolean
varsayılan false
Description
Derinlik haritası yorumunu ters çevirerek daha koyu bölgelerin daha yüksek rölyef olmasını sağlar.
Name
smoothing
Type
number
varsayılan 0.24
Description
Rölyef çı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
Rölyef işleminden önce prototipin konsept görüntüsünün arka planını otomatik olarak kaldırır.
Aynı adı taşıyan prototip parametresinden ayrı (varsayılan false), bu prototip görüntüsünün şeffaflıkla geri dönüp dönmeyeceğini kontrol eder.
Name
export_resolution
Type
integer
varsayılan 512
Description
İhracat için kullanılan ağ çözünürlüğü. Aralık: [64, 2048].
output
İsteğe bağlı tel formatı seçici. Varsayılan glb.
Name
format
Type
string
varsayılan glb
Description
Yapı tarafından döndürülen eser paketi. Mevcut 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ı sıkıştırır ve paketi model_urls.obj altında döndürür.
zip — jeneratörün ürettiği her eseri sıkıştırır ve paketi model_urls.bundle_zip altında döndürür.
Dönüşler
Yanıtın result özelliği, yeni oluşturulan anahtarlık yapı görevinin görev id değerini içerir. Görev SUCCEEDED durumuna ulaşana kadar Bir Görev Al uç noktasını sorgulayın veya akışa abone olun, ardından model_urls içindeki tek girişten eseri indirin.
Başarısızlık 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.
Ebeveyn 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ık veya enum setinin 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 yetersiz kredi.
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-modu prototip görevleri yapıya zincirlenir).
Geçerli bir görev idsi verilen bir prototip veya derleme görevini getirir. URL yolu
görevin aşamasıyla eşleşmelidir — /prototype/:id üzerinden getirilen bir derleme görevi
404 döndürür ve tersi de geçerlidir.
Bir anahtarlık görevini iptal edin. Görev hala PENDING durumundaysa, oluşturma sırasında tüketilen krediler iade edilir. Zaten IN_PROGRESS olan görevler iade yapılmadan iptal edilir (çalışan zaten kaynakları tüketiyor olabilir). Zaten bir son duruma ulaşmış görevler (SUCCEEDED, FAILED, CANCELED) iptal edilemez.
URL yolu, görevin aşamasıyla eşleşmelidir — /prototype/:buildId üzerinde DELETE404 döndürür.
Yol Parametreleri
Name
id
Type
path
Description
İptal edilecek anahtarlık görevi için benzersiz tanımlayıcı.
Dönen Değerler
Başarı durumunda boş bir gövde ile 204 No Content döner.
Hata Modları
Name
400 - Bad Request
Description
Görev zaten bir son durumda ve iptal edilemez.
Name
404 - Not Found
Description
Görev mevcut değil, farklı bir kullanıcıya ait veya aşaması URL yoluyla eşleşmiyor.
Anahtarlık görevi için Gerçek Zamanlı güncellemeleri Server-Sent Events (SSE) aracılığıyla yayınla.
URL yolu, görevin aşamasıyla eşleşmelidir — /prototype/:buildId/stream adresinde 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
Yayınlanacak anahtarlık görevi için benzersiz tanımlayıcı.
Dönen Değerler
Anahtarlık Prototipi veya Anahtarlık Yapısı görev nesnelerinin
Server-Sent Events olarak bir akışını döndürür. PENDING veya IN_PROGRESS görevler için, yanıt akışı yalnızca gerekli progress ve status alanlarını içerecektir.
// 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 sayfalı bir listesini alın. URL
yolu aşamayı seçer — /prototype prototip görevlerini döndürür; /build
inşa görevlerini döndürür. Diğer aşamadan görevler hiçbir yanıtın içinde yer almaz.
Yol Parametreleri
Name
stage
Type
path
Zorunlu
Description
Ya prototype ya da build. Koleksiyon yalnızca aşaması URL ile
eşleşen görevleri döndürür — /prototype çağrısı asla inşa görevlerini
döndürmez ve tam tersi.
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 50 öğedir.
Name
sort_by
Type
string
varsayılan -created_at
Description
Sıralama yapılacak alan. Mevcut değerler:
+created_at: Oluşturulma zamanına göre artan sırada sıralar.
-created_at: Oluşturulma zamanına göre azalan sırada sıralar.
Anahtarlık Prototip Görev nesnesi, Meshy'nin bir kaynak fotoğraftan renklendirilmiş bir konsept görüntü oluşturmak için takip ettiği bir iş birimidir. Bu aşamanın çıktısı, input_task_id aracılığıyla yapı aşamasına zincirlenir.
Özellikler
Name
id
Type
string
Description
Görev için benzersiz tanımlayıcı. Görev kimlikleri için k-sıralı UUID kullanıyoruz, ancak kimlik formatı 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 olarak belirlenmiştir.
Name
name
Type
string
Description
Görev oluşturulurken sağlanan görev adı. Eğer bir ad sağlanmadıysa boş bir dize olur.
Name
status
Type
string
Description
Görevin durumu. Olası değerler PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED olabilir.
Name
progress
Type
integer
Description
Görevin ilerlemesi. Görev henüz başlamadıysa, bu özellik 0 olacaktır. Görev başarıyla tamamlandığında bu 100 olur.
Name
created_at
Type
timestamp
Description
Görevin oluşturulduğu zaman damgası, milisaniye cinsinden.
Bir zaman damgası, 1 Ocak 1970 UTC'den itibaren geçen milisaniye sayısını temsil eder ve
RFC 3339 standardını takip eder.
Ö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şladığı zaman damgası, milisaniye cinsinden. Görev henüz başlamadıysa, bu özellik 0 olacaktır.
Name
finished_at
Type
timestamp
Description
Görevin tamamlandığı zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa, bu özellik 0 olacaktır.
Name
expires_at
Type
timestamp
Description
Görev sonucunun sona erdiği zaman damgası, milisaniye cinsinden.
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 detayları. 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 mevcuttur. FAILED görevler için 0 döner (başarısızlık durumunda krediler iade edilir).
Name
image_urls
Type
array of strings
Description
Bu prototip görev tarafından üretilen konsept görüntü adaylarının indirilebilir URL'leri. Şu anda API her zaman tam olarak bir aday döndürür; alan bir dizi olarak tanımlanmıştır, böylece gelecekteki revizyonlar birden fazla adayı kırılma olmadan yüzeye çıkarabilir.
Anahtarlık Oluşturma Görev 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 hattı çalıştırır ve
çağıranın talep ettiği formatta tek bir ağ eseri yayınlar.
Ö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'dir.
Name
name
Type
string
Description
Görev oluşturulduğunda sağlanan görev adı. Ad sağlanmadıysa boş dize.
Name
status
Type
string
Description
Görevin durumu. Olası değerler PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED'dan biridir.
Name
progress
Type
integer
Description
Görevin ilerlemesi. Görev henüz başlamadıysa, bu özellik 0 olacaktır. Görev başarıyla tamamlandığında, bu 100 olacaktır.
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şladığı 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 sona erdiği zamanın zaman damgası, milisaniye cinsinden.
Name
preceding_tasks
Type
integer
Description
Önceki görevlerin sayısı. Anlamlı sadece durum PENDING olduğunda.
Name
task_error
Type
object
Description
Başarısız görevler için hata detayları. 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öner (başarısızlık durumunda krediler iade edilir).
Name
model_urls
Type
object
Description
Üretilen eserin indirilebilir URL'leri, eser adına göre anahtarlanmıştır. Her zaman tam olarak bir giriş içerir — oluşturma isteğinin output.format'ı üzerinden talep edilen format. Anahtar, talep edilen formatla eşleşir:
Name
glb
Type
string
Description
GLB dosyasının indirilebilir URL'si. output.formatglb olduğunda mevcut (varsayılan).
Name
obj
Type
string
Description
model.obj, model.mtl ve texture.png içeren bir zip paketinin indirilebilir URL'si. output.formatobj olduğunda mevcut.
Name
bundle_zip
Type
string
Description
Üreticinin çıkardığı her eserin bir zip paketinin indirilebilir URL'si. output.formatzip olduğunda mevcut.