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ğ oluşturmanı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 sağlar.
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ür API ve Yeniden boyutlandır API kullanın. Aşağıdaki kullanımdan kaldırıldı parametreler çalışmaya devam edecektir, ancak yeni entegrasyonlar için yeni uç noktaları öneririz.
Parametreler
input_task_id veya model_url değerlerinden yalnızca biri gereklidir. İkisi de sağlanırsa input_task_id öncelik alır.
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
Yeniden ağ yapmak istediğiniz tamamlanmış Görselden 3D'ye veya Metinden 3D'ye görevinin ID'si. Bu görev şu görevlerden biri olmalıdır: Metinden 3D'ye Önizleme, Metinden 3D'ye İyileştirme, Görselden 3D'ye veya Yeniden dokulama. Ayrıca durumu
SUCCEEDEDolmalıdır.
- Name
- model_url
- Type
- string
- Zorunlu
- Description
Lütfen Meshy'nin yeniden ağ yapması için herkese açık erişilebilir bir URL veya data URI aracılığıyla bir 3D model sağlayın. Desteklenen formatlar:
.glb,.gltf,.obj,.fbx,.stl.Data URI'ler için MIME type kullanın:
application/octet-stream.
- Name
- target_formats
- Type
- string[]
- varsayılan ["glb"]
- Description
Yeniden ağ yapılmış model için hedef formatların bir listesi. Atlandığında yalnızca GLB oluşturulur.
Kullanılabilir değerler:
glb,fbx,obj,usdz,blend,stl,3mf.
- Name
- topology
- Type
- string
- varsayılan triangle
- Description
Oluşturulan modelin topology değerini belirtin.
Kullanılabilir değerler:
quad: Dörtgen ağırlıklı bir ağ oluşturur.triangle: Azaltılmış üçgen ağ oluşturur.
- Name
- target_polycount
- Type
- integer
- varsayılan 30,000
- Description
Oluşturulan modeldeki hedef poligon sayısını belirtin. Gerçek poligon sayısı, geometrinin karmaşıklığına bağlı olarak hedeften sapabilir.
Geçerli değer aralığı kullanıcı katmanına göre değişir:
- 100 ila 300.000 (dahil)
- Name
- decimation_mode
- Type
- integer
- Description
Bir poligon sayısı düzeyi ayarlayarak uyarlanabilir azaltmayı etkinleştirin. Ayarlandığında
target_polycountyok sayılır.Kullanılabilir değerler:
1: Uyarlanabilir — ultra poligon sayısı.2: Uyarlanabilir — yüksek poligon sayısı.3: Uyarlanabilir — orta poligon sayısı.4: Uyarlanabilir — 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ır 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ırlayıcı kutu boyutu metre cinsinden belirtilen değere eşit olacak şekilde yeniden boyutlandırın. Bunun yerine özel Yeniden boyutlandır 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 servis, nesnenin gerçek dünyadaki yüksekliğini otomatik olarak tahmin etmek ve modeli buna göre yeniden boyutlandırmak için AI vision kullanır. Bunun yerine özel Yeniden boyutlandır 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ır API kullanmanızı öneririz.
Kullanılabilir değerler:
bottom,center.
- Name
- convert_format_only
- Type
- boolean
- ⚠ kullanımdan kaldırıldı
- Description
trueise servis,topology,resize_heightvetarget_polycountgibi diğer girdileri yok sayarak yalnızca giriş model dosyasının formatını değiştirir. Bunun yerine özel Dönüştür API kullanmanızı öneririz.convert_format_only,trueolarak ayarlanırsatarget_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 sürümünü render eder ve GET yanıtında bunualpha_thumbnail_urlolarak döndürür. Mevcutthumbnail_urlalanı değişmez.
Döndürür
Yanıtın result özelliği, yeni oluşturulan yeniden ağ görevinin id değerini içerir.
Hata 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 başvurmalıdır. - Geçersiz model formatı:
model_url, desteklenmeyen bir uzantıya sahip bir dosyaya işaret eder. - Ulaşılamayan URL:
model_urlindirilemedi. - Geçersiz topology:
topologyparametresi geçersiz. - Birbirini dışlayan parametreler:
auto_sizeveresize_heightikisi birden 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.
Request
# 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
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Bir Yeniden ağ Görevini Al
Bu uç nokta, bir yeniden ağ görevini ID'sine göre 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.
Request
curl https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"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 Sil
Bu uç nokta, ilişkili tüm modeller ve veriler dahil olmak üzere bir yeniden ağ görevini 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öndürür
Başarılı olduğunda 200 OK döndürür.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Yeniden ağ Görevlerini Listele
Bu uç nokta, Yeniden ağ görevlerinin bir listesini almanızı sağlar.
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ı. İzin verilen maksimum değer
50öğedir.
- Name
- sort_by
- Type
- string
- 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.
Döndürür
Yeniden ağ Görev Nesneleri öğelerinin sayfalanmış bir listesini döndürür.
Request
curl https://api.meshy.ai/openapi/v1/remesh?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"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 Akışla
Bu uç nokta, Server-Sent Events (SSE) kullanarak bir Yeniden ağ görevi için gerçek zamanlı güncellemeleri akış olarak iletir.
Parametreler
- Name
- id
- Type
- path
- Description
Akış olarak iletilecek Yeniden ağ görevi için benzersiz tanımlayıcı.
Döndürür
Server-Sent Events olarak Yeniden ağ Görev Nesneleri 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.
Request
curl -N https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// 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örev Nesnesi
Yeniden ağ Görev nesnesi, Meshy'nin mevcut bir 3D modeli yeniden ağ işleminden geçirmek ve çeşitli biçimlere 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 uygulama detayı olarak k-sıralanabilir bir UUID kullansak da, id biçimi hakkında hiçbir varsayımda bulunmamalısınız.
- Name
- type
- Type
- string
- Description
Yeniden ağ görevinin türü. Değer
remesholur.
- Name
- model_urls
- Type
- object
- Description
Meshy tarafından oluşturulan texture uygulanmış 3D model dosyası için indirilebilir URL. Bir biçim oluşturulmadıysa, boş dize döndürmek yerine o biçime ait özellik atlanır.
- Name
glb- Type
- string
- Description
GLB dosyası için indirilebilir URL.
- Name
fbx- Type
- string
- Description
FBX dosyası için indirilebilir URL.
- Name
obj- Type
- string
- Description
OBJ dosyası için indirilebilir URL.
- Name
usdz- Type
- string
- Description
USDZ dosyası için indirilebilir URL.
- Name
blend- Type
- string
- Description
Blender dosyası için indirilebilir URL.
- Name
stl- Type
- string
- Description
STL dosyası için indirilebilir URL.
- Name
3mf- Type
- string
- Description
3MF dosyası için indirilebilir URL. Yalnızca
target_formatsaracılığıyla3mfistendiğinde bulunur.
- Name
- thumbnail_url
- Type
- string
- Description
Yeniden ağ uygulanmış modelden render edilen bir önizleme görüntüsü için indirilebilir URL.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
thumbnail_urlöğesinin şeffaf arka planlı (RGBA) sürümü için indirilebilir URL. Yalnızca görevalpha_thumbnail: trueile oluşturulduğunda ve şeffaf önizleme başarıyla render edildiğinde bulunur; aksi takdirde bu alan atlanır.
- Name
- progress
- Type
- integer
- Description
Görevin progress değeri. Görev henüz başlatılmadıysa bu özellik
0olur. Görev başarılı olduktan sonra bu değer100olur.
- Name
- status
- Type
- string
- Description
Görevin durumu. Olası değerler
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDdeğerlerinden biridir.
- Name
- preceding_tasks
- Type
- integer
- Description
Önceki görevlerin sayısı.
Bu alanın değeri yalnızca görev durumu
PENDINGise anlamlıdır.
- Name
- created_at
- Type
- timestamp
- Description
Görevin oluşturulduğu zaman damgası, milisaniye cinsinden.
- Name
- started_at
- Type
- timestamp
- Description
Görevin başlatıldığı zaman damgası, milisaniye cinsinden. Görev henüz başlatılmadıysa bu özellik
0olur.
- Name
- finished_at
- Type
- timestamp
- Description
Görevin tamamlandığı zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa bu özellik
0olur.
- Name
- task_error
- Type
- object
- Description
Başarısız görevler için hata ayrıntıları. 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 bulunur.FAILEDgörevler için0döndürür (kredi, başarısızlık durumunda iade edilir).
Example Remesh Task Object
{
"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
}