Yeniden Ağ API'si
Yeniden Ağ API'si, diğer Meshy API'leri (Görselden 3D'ye veya Metinden 3D'ye gibi) tarafından oluşturulan mevcut 3D modelleri yeniden ağ yapmanıza ve çeşitli formatlara dışa aktarmanıza olanak tanır. Bu bölüm, Yeniden Ağ API'sinin nasıl kullanılacağına dair ayrıntılar sunar.
Yeniden Ağ Görevi Oluştur
Bu uç nokta yeni bir yeniden ağ görevi oluşturur.
Format dönüştürme ve yeniden boyutlandırma için, özel Dönüştürme API ve Yeniden Boyutlandırma API kullanın. Aşağıdaki kullanımdan kaldırılmış parametreler çalışmaya devam edecek, ancak yeni entegrasyonlar için yeni uç noktaları öneriyoruz.
Parametreler
input_task_id veya model_url'den yalnızca biri gereklidir. Her ikisi de sağlanırsa, input_task_id önceliklidir.
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
Yeniden ağ yapmak 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'ye Önizleme, Metinden 3D'ye İyileştirme, Görselden 3D'ye veya Yeniden dokulama. Ayrıca,
SUCCEEDEDdurumuna sahip olmalıdır.
- Name
- model_url
- Type
- string
- Zorunlu
- Description
Meshy'nin yeniden ağ yapması için genel olarak erişilebilir bir URL veya veri URI aracılığıyla bir 3D model sağlayın. Desteklenen formatlar:
.glb,.gltf,.obj,.fbx,.stl.Veri URI'leri için MIME türü:
application/octet-streamkullanın.
- Name
- target_formats
- Type
- string[]
- varsayılan ["glb"]
- Description
Yeniden ağ yapılan model için hedef formatların bir listesi. Atlanırsa, yalnızca GLB üretilir.
Mevcut değerler:
glb,fbx,obj,usdz,blend,stl,3mf.
- Name
- topology
- Type
- string
- varsayılan triangle
- Description
Üretilen modelin topolojisini belirtin.
Mevcut değerler:
quad: Dörtgen ağırlıklı bir ağ oluşturun.triangle: Azaltılmış üçgen ağı oluşturun.
- Name
- target_polycount
- Type
- integer
- varsayılan 30,000
- Description
Üretilen modeldeki hedef poligon sayısını belirtin. Geometrinin karmaşıklığına bağlı olarak gerçek poligon sayısı hedeften sapabilir.
Geçerli değer aralığı kullanıcı katmanına bağlı olarak değişir:
- 100 ile 300,000 (dahil)
- Name
- decimation_mode
- Type
- integer
- Description
Poligon sayısı seviyesini ayarlayarak adaptif azaltmayı etkinleştirin. Ayarlandığında,
target_polycountgöz ardı edilir.Mevcut değerler:
1: Adaptif — ultra poligon sayısı.2: Adaptif — yüksek poligon sayısı.3: Adaptif — orta poligon sayısı.4: Adaptif — düşük poligon sayısı.
- Name
- resize_height
- Type
- number
- ⚠ kullanımdan kaldırıldı
- varsayılan 0
- Description
Modeli metre cinsinden ölçülen belirli bir yüksekliğe yeniden boyutlandırın. Bunun yerine özel Yeniden Boyutlandırma API kullanmanızı öneririz.
auto_size,resize_heightveresize_longest_sidebirbirini dışlar.
- Name
- resize_longest_side
- Type
- number
- ⚠ kullanımdan kaldırıldı
- varsayılan 0
- Description
Modeli, en uzun sınır kutusu boyutunun belirtilen değere eşit olacağı şekilde yeniden boyutlandırın. Bunun yerine özel Yeniden Boyutlandırma API kullanmanızı öneririz.
auto_size,resize_heightveresize_longest_sidebirbirini dışlar.
- Name
- auto_size
- Type
- boolean
- ⚠ kullanımdan kaldırıldı
- varsayılan false
- Description
trueolarak ayarlandığında, hizmet AI görselini kullanarak nesnenin gerçek dünya yüksekliğini otomatik olarak tahmin eder ve modeli buna göre yeniden boyutlandırır. Bunun yerine özel Yeniden Boyutlandırma API kullanmanızı öneririz.auto_size,resize_heightveresize_longest_sidebirbirini dışlar.
auto_size = true- Name
- origin_at
- Type
- string
- ⚠ kullanımdan kaldırıldı
- varsayılan bottom
- Description
Orijinin konumu. Bunun yerine özel Yeniden Boyutlandırma API kullanmanızı öneririz.
Mevcut değerler:
bottom,center.
- Name
- convert_format_only
- Type
- boolean
- ⚠ kullanımdan kaldırıldı
- Description
trueise, hizmet yalnızca giriş model dosyasının formatını değiştirir,topology,resize_heightvetarget_polycountgibi diğer girdileri göz ardı eder. Bunun yerine özel Dönüştürme API kullanmanızı öneririz.convert_format_onlyayarlandığındatarget_formatssağlanmalıdır.
- Name
- alpha_thumbnail
- Type
- boolean
- varsayılan false
- Description
trueolarak ayarlandığında, görev ayrıca önizlemenin şeffaf arka planlı (RGBA) bir versiyonunu oluşturur ve GET yanıtındaalpha_thumbnail_urlolarak döndürür. Mevcutthumbnail_urlalanı değişmeden kalır.
Dönüşler
Yanıtın result özelliği, yeni oluşturulan yeniden ağ görevinin id'sini içerir.
Başarısızlık Modları
- Name
400 - Bad Request- Description
İstek kabul edilemezdi. Yaygın nedenler:
- Eksik parametre:
model_urlveyainput_task_idsağlanmalıdır. - Geçersiz giriş görevi:
input_task_id, desteklenen bir modelden başarılı bir göreve atıfta bulunmalıdır. - Geçersiz model formatı:
model_url, desteklenmeyen bir uzantıya sahip bir dosyaya işaret ediyor. - Erişilemez URL:
model_urlindirilemedi. - Geçersiz topoloji:
topologyparametresi geçersiz. - Birbirini dışlayan parametreler:
auto_sizeveresize_heighther ikisi de ayarlanamaz.
- Eksik parametre:
- 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
# Basic remesh with custom formats and resize
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["glb", "fbx"],
"topology": "quad",
"target_polycount": 50000,
"resize_height": 1.0,
"origin_at": "bottom"
}'
# Quad remesh with auto-size
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["glb", "fbx"],
"topology": "quad",
"target_polycount": 50000,
"auto_size": true
}'
Yanıt
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Yeniden Ağ Görevini Al
Bu uç nokta, bir yeniden ağ görevini ID'si ile alır.
Parametreler
- Name
- id
- Type
- path
- Description
Alınacak yeniden ağ görevinin ID'si.
Dönen Değerler
Yeniden Ağ Görevi nesnesi.
İstek
curl https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Yanıt
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "remesh",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
"blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
}
Bir Yeniden Ağ Görevini Sil
Bu uç nokta, bir yeniden ağ görevini, ilgili tüm modeller ve verilerle birlikte kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
- Name
- id
- Type
- path
- Description
Silinecek yeniden ağ görevinin ID'si.
Dönen Değerler
Başarı durumunda 200 OK döner.
İstek
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Yanıt
// Returns 200 Ok on success.
Yeniden Ağ Görevlerini Listele
Bu uç nokta, Yeniden Ağ görevlerinin bir listesini almanıza olanak tanır.
Parametreler
- 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ı. Maksimum izin verilen
50öğedir.
- Name
- sort_by
- Type
- string
- Description
Sıralama yapılacak alan.
Kullanılabilir değerler:
+created_at: Oluşturulma zamanına göre artan sırada sıralama.-created_at: Oluşturulma zamanına göre azalan sırada sıralama.
Dönen Değerler
Yeniden Ağ Görev Nesneleri listesini sayfalı olarak döndürür.
İstek
curl https://api.meshy.ai/openapi/v1/remesh?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Yanıt
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "remesh",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
"blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null
}
]
Yeniden Ağ Görevini Yayınla
Bu uç nokta, Server-Sent Events (SSE) kullanarak bir Yeniden Ağ görevi için gerçek zamanlı güncellemeleri yayınlar.
Parametreler
- Name
- id
- Type
- path
- Description
Yayınlanacak Yeniden Ağ görevi için benzersiz tanımlayıcı.
Dönen Değerler
Server-Sent Events olarak Yeniden Ağ Görev Nesneleri akışını döndürür.
PENDING veya IN_PROGRESS görevleri için, yanıt akışı yalnızca gerekli progress ve status alanlarını içerecektir.
İstek
curl -N https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Yanıt Akışı
// Error event example
event: error
data: {
"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: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "remesh",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
"blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
}
Yeniden Ağ Görevi Nesnesi
Yeniden Ağ Görevi nesnesi, Meshy'nin mevcut bir 3D modeli çeşitli formatlara yeniden ağ ve dışa aktarmak için kullandığı bir iş birimini temsil eder. Nesne aşağıdaki özelliklere sahiptir:
Özellikler
- Name
- id
- Type
- string
- Description
Görev için benzersiz tanımlayıcı. Görev kimlikleri için k-sıralanabilir UUID kullanıyoruz, ancak id formatı hakkında herhangi bir varsayımda bulunmamalısınız.
- Name
- type
- Type
- string
- Description
Yeniden Ağ görevinin türü. Değer
remesholarak belirlenmiştir.
- Name
- model_urls
- Type
- object
- Description
Meshy tarafından üretilen dokulu 3D model dosyasının indirilebilir URL'si. Bir format üretilmediğinde, boş bir dize döndürmek yerine o format için özellik atlanacaktır.
- Name
glb- Type
- string
- Description
GLB dosyasının indirilebilir URL'si.
- Name
fbx- Type
- string
- Description
FBX dosyasının indirilebilir URL'si.
- Name
obj- Type
- string
- Description
OBJ dosyasının indirilebilir URL'si.
- Name
usdz- Type
- string
- Description
USDZ dosyasının indirilebilir URL'si.
- Name
blend- Type
- string
- Description
Blender dosyasının indirilebilir URL'si.
- Name
stl- Type
- string
- Description
STL dosyasının indirilebilir URL'si.
- Name
3mf- Type
- string
- Description
3MF dosyasının indirilebilir URL'si. Sadece
3mftarget_formatsaracılığıyla istendiğinde mevcut olur.
- Name
- thumbnail_url
- Type
- string
- Description
Yeniden ağlanmış modelden render edilmiş bir önizleme görüntüsünün indirilebilir URL'si.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
thumbnail_url'un şeffaf arka planlı (RGBA) versiyonunun indirilebilir URL'si. Sadece görevalpha_thumbnail: trueile oluşturulduğunda ve şeffaf önizleme başarıyla render edildiğinde mevcut olur; aksi takdirde bu alan atlanır.
- Name
- progress
- Type
- integer
- Description
Görevin ilerleme durumu. Görev henüz başlamadıysa, bu özellik
0olacaktır. Görev başarıyla tamamlandığında, bu100olur.
- Name
- status
- Type
- string
- Description
Görevin durumu. Olası değerler
PENDING,IN_PROGRESS,SUCCEEDED,FAILED'den biridir.
- Name
- preceding_tasks
- Type
- integer
- Description
Önceki görevlerin sayısı.
Bu alanın değeri sadece görev durumu
PENDINGolduğunda anlamlıdı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. Görev henüz başlamadıysa, bu özellik
0olacaktır.
- Name
- finished_at
- Type
- timestamp
- Description
Görevin tamamlandığı zamanın zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa, bu özellik
0olacaktır.
- Name
- task_error
- Type
- object
- Description
Başarısız görevler için hata detayları. Tam
task_errornesne 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_PROGRESSveyaSUCCEEDEDolduğunda mevcut olur.FAILEDgörevler için0döner (başarısızlık durumunda krediler iade edilir).
Örnek Yeniden Ağ Görevi Nesnesi
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "remesh",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
"blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": {
"message": ""
},
"consumed_credits": 5
}