Retexture API, Meshy'nin AI yeniden dokulama yeteneklerini kendi uygulamanıza entegre etmenizi sağlayan bir özelliktir. Bu bölümde, bu API'ye başlamak için ihtiyaç duyduğunuz tüm bilgileri bulacaksınız.
Bu uç nokta, yeni bir Yeniden Dokulama görevi oluşturmanıza olanak tanır. Yeniden Dokulama görev nesnesine hangi özelliklerin dahil olduğunu görmek için Yeniden Dokulama Görev Nesnesi bölümüne bakın.
Parametreler
input_task_id veya model_url'den sadece birinin gerekli olduğunu unutmayın. Her ikisi de sağlanıyorsa, input_task_id önceliklidir.
Name
input_task_id
Type
string
Zorunlu
Description
Yeniden dokulamak istediğiniz tamamlanmış Görselden 3D'ye veya Metinden 3D'ye görevinin kimliği. Bu görev aşağıdaki görevlerden biri olmalıdır: Metinden 3D Ön İzleme, Metinden 3D Geliştirme, Görselden 3D veya Yeniden Ağ. Ayrıca, SUCCEEDED durumunda olmalıdır.
Name
model_url
Type
string
Zorunlu
Description
Meshy'e doku oluşturması için bir 3D model sağlayın. Desteklenen formatlar: .glb, .gltf, .obj, .fbx, .stl.
Modeli sağlamak için iki yol vardır:
Herkese açık erişilebilir URL: Herkese açık internetten erişilebilen bir URL.
Data URI: Modelin base64 ile kodlanmış bir veri URI'si. MIME type application/octet-stream kullanın. Örnek: data:application/octet-stream;base64,<your base64-encoded model data>.
Kesinlikle bir stil girişi gereklidir: text_style_prompt, image_style_url veya multiview_image_urls. multiview_image_urls, diğer ikiyle birleştirilemez; hem text_style_prompt hem de image_style_url sağlanmışsa image_style_url önceliklidir.
Name
text_style_prompt
Type
string
Zorunlu
Description
Nesnenin istediğiniz doku stilini metin kullanarak tanımlayın. Maksimum 600 karakter.
Name
image_style_url
Type
string
Zorunlu
Description
Dokulama sürecine rehberlik edecek bir 2D görsel sağlayın. Şu anda .jpg, .jpeg ve .png formatlarını destekliyoruz.
Görseli sağlamak için iki yol vardır:
Herkese açık erişilebilir URL: Herkese açık internetten erişilebilen bir URL
Data URI: Görselin base64 ile kodlanmış bir veri URI'si. Bir veri URI örneği: data:image/jpeg;base64,<your base64-encoded image data>
Eğer orijinal varlık ve yüklenen görsel arasında önemli geometri farklılıkları varsa, görüntü doku oluşturması optimal çalışmayabilir.
Name
multiview_image_urls
Type
string[]
Zorunlu
Description
Aynı nesneyi farklı görüş açılarından gösteren 1 ila 4 görsel sağlayarak dokulamaya rehberlik edin. İlk görsel, birincil (ön) görünüm; geri kalan görüntülerin (sol, arka, sağ) sırası önemli değil.
Her bir eleman image_style_url'ün formatlarını (herkese açık erişim URL'si veya base64 veri URI'si, .jpg/.jpeg/.png) kabul eder.
ai_model: "meshy-7" (veya latest) gerektirir.
Name
ai_model
Type
string
varsayılan latest
Description
Yeniden dokulama için kullanılacak AI modelinin kimliği. Mevcut değerler: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
varsayılan false
Description
Modelin mevcut UV yerleşimini yeni bir tane oluşturmadan tutun.
Meshy tarafından oluşturulan bir modeli yeniden dokuluyorsanız (input_task_id aracılığıyla veya bir Meshy çıktısına işaret eden bir model_url ile), optimize edilmiş UV yerleşimini yeniden kullanmak için bunu true olarak ayarlayın.
Yüklediğiniz üçüncü taraf bir modeli yeniden dokuluyorsanız, zaten iyi UV'ler varsa ve korumak istiyorsanız true olarak ayarlayın veya Meshy'nin yeni UV'ler ayırmasına izin vermek için false olarak bırakın (uygun UV eşlemesi olmayan modeller için en iyisi).
Name
enable_pbr
Type
boolean
varsayılan false
Description
Ana renge ek olarak PBR Haritaları (metallic, pürüzlülük, normal) oluşturun. Bir emisyon haritası da ai_modelmeshy-6 olduğunda dahil edilir, texture_resolution: 8k hariç. meshy-7 ve latest bir emisyon haritası üretmez.
Name
texture_resolution
Type
string
varsayılan 2k
Description
Ana renk doku çözünürlüğü. Biri 2k (2048×2048), 4k (4096×4096) veya 8k (8192×8192). Daha yüksek çözünürlükler daha fazla yüzey ayrıntısı yakalar.
4k ve 8k, ai_modelmeshy-6, meshy-7 veya latest gerektirir. 8k'de emisyon haritası üretilmez.
Name
hd_texture
Type
boolean
⚠ kullanımdan kaldırıldı
varsayılan false
Description
Bunun yerine texture_resolution kullanın — texture_resolution: "4k"'ye eşdeğer. Her ikisi de ayarlandığında, texture_resolution önceliklidir.
Name
remove_lighting
Type
boolean
varsayılan true
Description
Ana renk dokusundan ışıklandırmaları ve gölgeleri kaldırarak, özel ışıklandırma düzenlerinde daha iyi çalışan daha temiz bir sonuç elde etmenizi sağlar.
Sadece ai_modelmeshy-6 olduğunda desteklenir.
Name
target_formats
Type
string[]
Description
Çıktıya hangi 3D dosya formatlarının dahil edileceğini belirtir. Sadece istenen formatlar oluşturulup iade edilir, bu da görev tamamlama süresini kısaltabilir. Atlanırsa, tüm desteklenen formatlar dahil edilir.
Mevcut değerler: glb, obj, fbx, stl, usdz, 3mf
Atlanırsa, tüm formatlar 3mf hariç üretilir. 3mf sadece açıkça belirtildiğinde dahil edilir.
Name
alpha_thumbnail
Type
boolean
varsayılan false
Description
true olarak ayarlandığında, görev ayrıca ön izleme ve yanıtı alpha_thumbnail_url olarak döndürülen bir şeffaf arka plan (RGBA) sürümlerini render eder. Mevcut thumbnail_url alanı değişmeden kalır.
Dönen Değerler
Yanıtın result özelliği, yeni oluşturulan Yeniden Dokulama görevinin görev idsini içerir.
Başarısızlık Modları
Name
400 - Bad Request
Description
İstek kabul edilemez durumda. Yaygın sebepler:
Eksik parametre: model_url veya input_task_id sağlanmalıdır.
Eksik stil: text_style_prompt, image_style_url veya multiview_image_urls'den biri sağlanmalıdır.
Çelişen stil girişleri: multiview_image_urls, text_style_prompt veya image_style_url ile birleştirilemez.
Çoklu görünüm için desteklenmeyen model: multiview_image_urls, ai_model: "meshy-7" (veya latest) gerektirir.
Model mevcut değil: ai_model: "meshy-7", aşamalı olarak kullanıma sunulmakta olup henüz hesabınız için etkinleştirilmemiştir.
Geçersiz giriş görevi: input_task_id, desteklenen bir modelden gelen başarılı bir görevi belirtmelidir.
Geçersiz model formatı: model_url, desteklenmeyen bir uzantıya sahip bir dosyaya işaret ediyor.
Erişilemeyen URL: model_url, image_style_url veya bir multiview_image_urls öğesi indirilemedi.
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
429 - Too Many Requests
Description
Hız limitinizi aştınız.
İstek
POST
/openapi/v1/retexture
# Metin promptu ile yeniden dokulamacurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style", "enable_original_uv": true, "enable_pbr": true }'# Görüntü stili ve PBR ile yeniden dokulamacurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "image_style_url": "https://cdn.meshy.ai/image/example_image.jpg", "ai_model": "latest", "enable_pbr": true, "enable_original_uv": true }'
Bu uç nokta, geçerli bir görev idsi verildiğinde Yeniden Dokulama görevini almanızı sağlar. Yeniden Dokulama görev nesnesine hangi özelliklerin dahil olduğunu görmek için Yeniden Dokulama Görev Nesnesi bölümüne bakın.
Parametreler
Name
id
Type
path
Description
Alınacak Yeniden Dokulama görevinin benzersiz kimliği.
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","texture_image_url":"","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"task_error": {"message":"" },"consumed_credits":10}
[ {"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":10 }]
Yeniden Dokulama Görev nesnesi, Meshy'nin metin veya görsel girdilerden bir 3D doku oluşturmak için kullandığı bir iş birimidir.
Model aşağıdaki özelliklere sahiptir:
Özellikler
Name
id
Type
string
Description
Görevin benzersiz kimliği. Uygulama detayı olarak görev kimlikleri için k-sıralı UUID kullanıyoruz, ancak id'nin formatı hakkında hiçbir varsayımda bulunmamalısınız.
Name
type
Type
string
Description
Yeniden dokulama görevinin türü. Değer retexture.
Name
model_urls
Type
object
Description
Meshy tarafından üretilen dokulu 3D model dosyasının indirilebilir URL'si.
3MF dosyasının indirilebilir URL'si. Sadece target_formats ile 3mf talep edildiğinde mevcut.
Name
text_style_prompt
Type
string
Description
Dokulama görevi oluşturmak için kullanılan metin promptu budur.
Name
image_style_url
Type
string
Description
Dokulama görevi oluşturmak için kullanılan görsel girdisidir.
Name
multiview_image_urls
Type
string[]
Description
Dokulama görevinin oluşturulmasında kullanılan çoklu görünüm referans görsellerinin indirilebilir URL'leri. Sadece multiview_image_urls ile oluşturulduğunda mevcut.
Name
thumbnail_url
Type
string
Description
Model dosyasının küçük resminin indirilebilir URL'si.
Name
alpha_thumbnail_url
Type
string
Description
thumbnail_url'nin bir şeffaf arka plan (RGBA) sürümünün indirilebilir URL'si. Sadece alpha_thumbnail: true ile oluşturulduğunda ve şeffaf ön izleme başarıyla render edildiğinde mevcut; aksi halde bu alan atlanır.
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 100 olacaktır.
Name
started_at
Type
timestamp
Description
Görevin başladığı zamanın zaman damgası, milisaniye cinsinden. Görev henüz başlamadıysa, bu özellik 0 olacaktır.
Bir zaman damgası, 1 Ocak 1970 UTC'den bu yana geçen milisaniye sayısını temsil eder ve
RFC 3339 standardına uygun olarak çalışır.
Ö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
created_at
Type
timestamp
Description
Görevin oluşturulduğu zamanın zaman damgası, milisaniye cinsinden.
Name
expires_at
Type
timestamp
Description
Görev sonucunun sona ereceği zamanın zaman damgası, milisaniye cinsinden.
Name
finished_at
Type
timestamp
Description
Görevin tamamlandığı zamanın zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa, bu özellik 0 olacaktır.
Görev enable_pbr: false ile oluşturulmuşsa veya ai_modelmeshy-5 ise, bu özellik atlanır.
Name
preceding_tasks
Type
integer
Description
Önceki görevlerin sayısı.
Bu özellik sadece görev durumu PENDING olduğunda mevcuttur.
Name
task_error
Type
object
Description
Başarısız görevler için hata detayları. Tam task_error nesnesi 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 (hata durumunda krediler iade edilir).
Örnek Yeniden Dokulama Görevi Modeli
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***" },"text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","image_style_url":"https://assets.meshy.ai/***/image/example_image.jpg?Expires=***","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":10}