Retexture API, Meshy'nin yapay zeka destekli yeniden dokulama yeteneklerini kendi uygulamanıza entegre etmenizi sağlayan bir özelliktir. Bu bölümde, bu API'ye başlamak için ihtiyacınız olan tüm bilgileri
bulabilirsiniz.
Bu uç nokta, yeni bir Retexture görevi oluşturmanızı sağlar. Retexture görev nesnesiyle birlikte hangi özelliklerin
yer aldığını görmek için Retexture Görev Nesnesi bölümüne bakın.
Parametreler
input_task_id veya model_url parametrelerinden yalnızca biri zorunludur. İkisi de sağlanırsa, 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 (ID).
Bu görev şu görevlerden biri olmalıdır: Metinden 3D'ye Preview, Metinden 3D'ye Refine, Görselden 3D'ye veya Yeniden ağ. Ayrıca, durumunun SUCCEEDED olması gerekir.
Name
model_url
Type
string
Zorunlu
Description
Meshy'nin doku uygulaması için bir 3D model sağlayın. Desteklenen formatlar: .glb, .gltf, .obj, .fbx, .stl.
Modeli sağlamanın iki yolu vardır:
Herkese açık erişilebilir URL: Genel internetten erişilebilen bir URL.
Data URI: Modelin base64 ile kodlanmış bir data URI'si. MIME type olarak application/octet-stream kullanın. Örnek: data:application/octet-stream;base64,<base64 ile kodlanmış model verileriniz>.
Tam olarak bir stil girdisi zorunludur: text_style_prompt, image_style_url veya multiview_image_urls. multiview_image_urls, diğer ikisinden herhangi biriyle birlikte kullanılamaz; hem text_style_prompt hem de image_style_url sağlanırsa, image_style_url önceliklidir.
Name
text_style_prompt
Type
string
Zorunlu
Description
Nesnenin istediğiniz doku stilini metinle açıklayın. En fazla 800 karakter.
Name
image_style_url
Type
string
Zorunlu
Description
Doku uygulama sürecine rehberlik etmesi için 2 boyutlu bir görsel sağlayın. Şu anda .jpg, .jpeg ve .png formatlarını destekliyoruz.
Görseli sağlamanın iki yolu vardır:
Herkese açık erişilebilir URL: Genel internetten erişilebilen bir URL
Data URI: Görselin base64 ile kodlanmış bir data URI'si. Data URI örneği: data:image/jpeg;base64,<base64 ile kodlanmış görsel verileriniz>
Orijinal asset ile yüklenen görsel arasında önemli geometri farklılıkları varsa, görsel tabanlı doku uygulaması en iyi şekilde çalışmayabilir.
Name
multiview_image_urls
Type
string[]
Zorunlu
Description
Doku uygulamaya rehberlik etmesi için aynı nesneyi farklı açılardan gösteren 1 ila 4 görsel sağlayın. İlk görsel birincil (ön) görünümdür; kalan görünümlerin (sol, arka, sağ) sırası önemli değildir.
Her bir öğe, image_style_url ile aynı formatları kabul eder (herkese açık erişilebilir bir URL veya bir base64 data URI, .jpg/.jpeg/.png).
Açıkça belirtilmiş bir ai_model: "meshy-7" gerektirir.
Name
ai_model
Type
string
varsayılan latest
Description
Yeniden dokulama için kullanılacak AI modelinin kimliği. Kullanılabilir değerler: meshy-6-lite, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
varsayılan false
Description
Yeni bir UV yerleşimi oluşturmak yerine modelin mevcut UV yerleşimini koruyun.
Meshy tarafından oluşturulmuş bir modeli (input_task_id üzerinden veya bir Meshy çıktısına işaret eden model_url üzerinden) yeniden dokuluyorsanız, optimize edilmiş UV yerleşimini yeniden kullanmak için bunu true olarak ayarlayın.
Yüklediğiniz üçüncü taraf bir modeli yeniden dokuluyorsanız, korumak istediğiniz iyi UV'lere zaten sahipse true olarak ayarlayın veya Meshy'nin yeni UV'ler açmasına izin vermek için false bırakın (uygun UV eşlemesi olmayan modeller için en iyisidir).
Name
enable_pbr
Type
boolean
varsayılan false
Description
Temel renge ek olarak PBR haritaları (metallic, roughness, normal) oluşturur. ai_modelmeshy-6 olduğunda, texture_resolution: 8k dışında bir emission haritası da dahil edilir. meshy-6-lite, meshy-7 ve latest emission haritası üretmez.
Name
texture_resolution
Type
string
varsayılan 2k
Description
Temel renk dokusu çözünürlüğü. 2k (2048×2048), 4k (4096×4096) veya 8k (8192×8192) değerlerinden biri. Daha yüksek çözünürlükler daha fazla yüzey ayrıntısı yakalar.
4k ve 8k, ai_model olarak meshy-6, meshy-7 veya latest gerektirir. 8k çözünürlükte, emission 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" ile eşdeğerdir. İkisi de ayarlandığında, texture_resolution önceliklidir.
Name
remove_lighting
Type
boolean
varsayılan true
Description
Temel renk dokusundan vurguları ve gölgeleri kaldırarak, özel aydınlatma kurulumlarında daha iyi çalışan daha temiz bir sonuç üretir.
Yalnızca ai_modelmeshy-6 olduğunda desteklenir.
Name
target_formats
Type
string[]
Description
Çıktıya hangi 3D dosya formatlarının dahil edileceğini belirtir. Yalnızca istenen formatlar oluşturulup döndürülür; bu da görev tamamlanma süresini azaltabilir. Belirtilmediğinde, desteklenen tüm formatlar dahil edilir.
Belirtilmediğinde, 3mf dışındaki tüm formatlar oluşturulur. 3mf yalnızca açıkça belirtildiğinde dahil edilir.
Name
alpha_thumbnail
Type
boolean
varsayılan false
Description
true olarak ayarlandığında, görev ayrıca önizlemenin şeffaf arka planlı (RGBA) bir sürümünü oluşturur ve GET yanıtında bunu alpha_thumbnail_url olarak döndürür. Mevcut thumbnail_url alanı değişmeden kalır.
Dönüş Değerleri
Yanıtın result özelliği, yeni oluşturulan Retexture görevinin id değerini içerir.
Hata Durumları
Name
400 - Bad Request
Description
İstek kabul edilemedi. Yaygın nedenler:
Eksik parametre: model_url veya input_task_id parametrelerinden biri sağlanmalıdır.
Eksik stil: text_style_prompt, image_style_url veya multiview_image_urls parametrelerinden biri sağlanmalıdır.
Çakışan stil girdileri: multiview_image_urls, text_style_prompt veya image_style_url ile birlikte kullanılamaz.
Çoklu görünüm için desteklenmeyen model: multiview_image_urls, açıkça belirtilmiş bir ai_model: "meshy-7" gerektirir.
Model kullanılamıyor: ai_model: "meshy-7" ve ai_model: "meshy-6-lite" kademeli olarak kullanıma sunuluyor ve hesabınız için henüz etkinleştirilmemiş olabilir.
Geçersiz girdi görevi: input_task_id, desteklenen bir modelden başarılı bir göreve işaret etmelidir.
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 yetersiz kredi.
Name
429 - Too Many Requests
Description
Hız sınırınızı aştınız.
Request
POST
/openapi/v1/retexture
# Retexture with text promptcurlhttps://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 }'# Retexture with image style and PBRcurlhttps://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 id'si verildiğinde bir Yeniden dokulama görevini getirmenizi sağlar.
Yeniden dokulama görev nesnesinde hangi özelliklerin bulunduğunu görmek için
Yeniden Dokulama Görev Nesnesi bölümüne bakın.
Parametreler
Name
id
Type
path
Description
Getirilecek Yeniden dokulama görevi için benzersiz tanımlayıcı.
{"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}
Bu uç nokta, ilişkili tüm modeller ve veriler dahil olmak üzere bir yeniden dokulama görevini kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
Name
id
Type
path
Description
Silinecek yeniden dokulama görevinin ID'si.
Görev Durumu
Hâlâ PENDING durumunda olan bir görev silinir ve oluşturma sırasında
harcanan krediler iade edilir.
Zaten IN_PROGRESS durumunda olan bir görev silinemez: istek
409 Conflict ile reddedilir ve görev çalışmaya devam eder. Worker'ın
zaten başlattığı bir görev için krediler iade edilemez, bu nedenle
çalışma sırasında bunu silmek size hem kredilerinize hem de sonuca mal
olur. Görevin SUCCEEDED, FAILED veya CANCELED durumuna ulaşmasını
bekleyin, ardından silin.
Sonlanmış bir durumdaki (SUCCEEDED, FAILED veya CANCELED) bir görev
iade yapılmadan silinir.
Dönüş Değerleri
Başarılı olduğunda 200 OK, görev IN_PROGRESS durumundayken ise
409 Conflict döndürür.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left running:{"message":"Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."}
[ {"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 girdilerinden 3D doku üretmek için kullandığı bir iş birimidir.
Model aşağıdaki özelliklere sahiptir:
Özellikler
Name
id
Type
string
Description
Görev için benzersiz tanımlayıcı. Uygulama detayı olarak görev id'leri için k-sıralanabilir bir UUID kullansak da,
id'nin formatı hakkında herhangi bir varsayımda bulunmamalısınız.
Name
type
Type
string
Description
Yeniden Dokulama görevinin türü. Değer retexture'dır.
Name
model_urls
Type
object
Description
Meshy tarafından üretilen dokulanmış 3D model dosyasına indirilebilir URL.
Name
glb
Type
string
Description
GLB dosyasına indirilebilir URL.
Name
fbx
Type
string
Description
FBX dosyasına indirilebilir URL.
Name
obj
Type
string
Description
OBJ dosyasına indirilebilir URL.
Name
usdz
Type
string
Description
USDZ dosyasına indirilebilir URL.
Name
mtl
Type
string
Description
Dokular mevcut olduğunda OBJ dışa aktarımlarıyla birlikte döndürülen MTL dosyasına indirilebilir URL.
Name
stl
Type
string
Description
STL dosyasına indirilebilir URL.
Name
3mf
Type
string
Description
3MF dosyasına indirilebilir URL. Yalnızca target_formats aracılığıyla 3mf talep edildiğinde mevcuttur.
Name
text_style_prompt
Type
string
Description
Bu, dokulama görevini oluşturmak için kullanılan metin prompt'udur.
Name
image_style_url
Type
string
Description
Bu, dokulama görevini oluşturmak için kullanılan görsel girdidir.
Name
multiview_image_urls
Type
string[]
Description
Dokulama görevini oluşturmak için kullanılan çoklu görünüm referans görsellerine indirilebilir URL'ler. Yalnızca görev multiview_image_urls ile oluşturulduğunda mevcuttur.
Name
thumbnail_url
Type
string
Description
Model dosyasının küçük resim görseline indirilebilir URL.
Name
alpha_thumbnail_url
Type
string
Description
thumbnail_url'in şeffaf arka planlı (RGBA) sürümüne indirilebilir URL. Yalnızca görev alpha_thumbnail: true ile oluşturulduğunda ve şeffaf önizleme başarıyla işlendiğinde mevcuttur; aksi takdirde 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ılı olduğunda bu, 100 olacaktır.
Name
started_at
Type
timestamp
Description
Görevin başladığı zamanın milisaniye cinsinden zaman damgası. Görev henüz başlamadıysa, bu özellik 0 olacaktır.
Bir zaman damgası, RFC 3339 standardını
takip ederek, 1 Ocak 1970 UTC'den bu yana geçen milisaniye sayısını temsil eder.
Örneğin, 1 Eylül 2023 Cuma günü GMT 12:00:00, 1693569600000 olarak temsil edilir. Bu, Meshy API'sindeki
tüm zaman damgaları için geçerlidir.
Name
created_at
Type
timestamp
Description
Görevin oluşturulduğu zamanın milisaniye cinsinden zaman damgası.
Name
expires_at
Type
timestamp
Description
Görev sonucunun süresinin dolacağı zamanın milisaniye cinsinden zaman damgası.
Name
finished_at
Type
timestamp
Description
Görevin tamamlandığı zamanın milisaniye cinsinden zaman damgası. Görev henüz tamamlanmadıysa, bu özellik 0 olacaktır.
Name
status
Type
string
Description
Görevin durumu. Olası değerler PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED'dan biridir.
Name
texture_urls
Type
array
Description
Görevden üretilen doku URL nesnelerinin bir dizisi. Normalde bu yalnızca bir doku URL nesnesi içerir. Her doku URL'si aşağıdaki özelliklere sahiptir:
Name
base_color
Type
string
Description
Temel renk haritası görseline indirilebilir URL.
Name
metallic
Type
string
Description
Metalik harita görseline indirilebilir URL.
Görev enable_pbr: false ile oluşturulduysa, bu özellik atlanır.
Name
normal
Type
string
Description
Normal harita görseline indirilebilir URL.
Görev enable_pbr: false ile oluşturulduysa, bu özellik atlanır.
Name
roughness
Type
string
Description
Pürüzlülük haritası görseline indirilebilir URL.
Görev enable_pbr: false ile oluşturulduysa, bu özellik atlanır.
Name
emission
Type
string
Description
Emisyon haritası görseline indirilebilir URL.
Görev enable_pbr: false ile oluşturulduysa veya ai_model, meshy-6-lite ise, bu özellik atlanır.
Name
preceding_tasks
Type
integer
Description
Önceki görevlerin sayısı.
Bu özellik yalnızca 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 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öndürür (başarısızlık durumunda krediler iade edilir).
Example Retexture Task Model
{"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}