Basılabilirliği analiz et API'si
Bir 3D modeli FDM basılabilirliği açısından analiz edin — su geçirmezlik, hacim, delikler, manifold olmayan kenarlar ve bozuk yüzeyler.
Basılabilirliği analiz et görevi oluştur
Bu uç nokta yeni bir basılabilirliği analiz et görevi oluşturur. Görev, bir 3D modeli değerlendirir ve basılabilirlik metriklerini raporlar.
Girdi görevinin zaten önbelleğe alınmış basılabilirliği varsa, döndürülen görev hemen hazır olur ve üzerindeki ilk GET, worker üzerinden geçmeden analiz sonucunu döndürür.
Parametreler
input_task_id veya model_url değerlerinden yalnızca biri gereklidir. Her ikisi de sağlanırsa input_task_id öncelik alır.
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
Sahibi olduğunuz başarılı bir görevin ID'si. Desteklenen görev türleri: Görselden 3D'ye, Çoklu görselden 3D'ye, Metinden 3D'ye, Yeniden ağ ve Yeniden dokulama. Görev Meshy 6 (veya herhangi bir Preview model) kullanmalı ve durumu
SUCCEEDEDolmalıdır.
- Name
- model_url
- Type
- string
- Zorunlu
- Description
Analiz edilecek bir 3D modelin URL'si. Desteklenen biçimler:
.glb,.gltf,.obj,.fbx,.stl. Maksimum dosya boyutu: 100 MB.http,httpsveya birdata:URL'si kullanmalıdır (data URL'leri uzantı kontrollerini atlar).
Dönen değerler
Yanıtın result özelliği, yeni oluşturulan basılabilirliği analiz et görevinin id değerini içerir.
Hata Modları
- Name
400 - Bad Request- Description
İstek kabul edilemezdi. Yaygın nedenler:
- Eksik parametre: ne
input_task_idne demodel_urlsağlandı. - Geçersiz UUID:
input_task_idgeçerli bir UUID değil. - Geçersiz model URL'si:
model_urlhatalı biçimlendirilmiş, desteklenmeyen bir şema kullanıyor veya desteklenmeyen bir dosya uzantısına sahip. - Model dosyası çok büyük:
model_urlgövdesi 100 MB'ı aştı. - Görev başarılı değil: başvurulan görev hâlâ beklemede, progress durumunda veya başarısız olmuş.
- Eksik parametre: ne
- Name
401 - Unauthorized- Description
Kimlik doğrulama başarısız oldu. Lütfen API anahtarınızı kontrol edin.
- Name
403 - Forbidden- Description
Görev mevcut ancak farklı bir kullanıcıya ait.
- Name
404 - Not Found- Description
Yaygın nedenler:
- Görev mevcut değil veya silinmiş.
- Görev Meshy 6'dan daha eski bir model kullanıyor ya da mode değeri bir 3D asset üretmiyor.
- Altta yatan model dosyası artık depolamada mevcut değil.
- Name
429 - Too Many Requests- Description
Bekleyen görev kotanızı veya hız sınırını aştınız.
Request
# Analyze an existing task
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or analyze a model URL directly
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Bir Basılabilirliği analiz et görevini al
Bu uç nokta, bir analyze-printability görevini ID'sine göre alır.
Parametreler
- Name
- id
- Type
- path
- Description
Alınacak analyze-printability görevinin ID'si.
Döndürür
Basılabilirliği analiz et görev nesnesi. printability alanı, görev SUCCEEDED durumuna ulaşana kadar null olur.
Request
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
Bir Basılabilirliği analiz et Görevini Sil
Bu uç nokta, bir basılabilirliği analiz et görevini ve önbelleğe alınmış sonucunu kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
- Name
- id
- Type
- path
- Description
Silinecek basılabilirliği analiz et 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/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Basılabilirliği analiz et görevlerini listele
Bu uç nokta, basılabilirliği analiz et görevlerinin bir listesini almanıza olanak tanır.
Parametreler
İsteğe bağlı öznitelikler
- Name
- page_num
- Type
- integer
- Description
Sayfalama için sayfa numarası.
1ile başlar ve varsayılan olarak1kullanılır.
- Name
- page_size
- Type
- integer
- Description
Sayfa boyutu sınırı. Varsayılan olarak
10öğedir. İzin verilen maksimum değer50öğ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ırala.-created_at: Oluşturulma zamanına göre azalan sırada sırala.
Döndürür
Basılabilirliği analiz et görev nesnelerinin sayfalanmış bir listesini döndürür.
Request
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
]
Bir Basılabilirliği analiz et Görevini Akış Olarak Aktar
Bu uç nokta, Server-Sent Events (SSE) kullanarak bir Basılabilirliği analiz et görevi için gerçek zamanlı güncellemeleri akış olarak aktarır.
Parametreler
- Name
- id
- Type
- path
- Description
Akış olarak aktarılacak Basılabilirliği analiz et görevi için benzersiz tanımlayıcı.
Döndürülenler
Server-Sent Events olarak Basılabilirliği analiz et 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. printability bloğu yalnızca görev SUCCEEDED durumuna ulaştığında gönderilir.
Request
curl -N https://api.meshy.ai/openapi/v1/print/analyze/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": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}
Basılabilirliği analiz et görev nesnesi
- Name
- id
- Type
- string
- Description
Görev için benzersiz tanımlayıcı. Uygulama ayrıntısı olarak görev id'leri için k-sıralanabilir bir UUID kullansak da, id'nin formatı hakkında hiçbir varsayımda bulunmamalısınız.
- Name
- type
- Type
- string
- Description
Basılabilirliği analiz et görevinin türü. Değer
print-analyzeşeklindedir.
- Name
- status
- Type
- string
- Description
Görevin durumu. Olası değerler
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELEDdeğerlerinden biridir.
- 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ıyla tamamlandığında bu100olur.
- 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ın milisaniye cinsinden zaman damgası.
- Name
- started_at
- Type
- timestamp
- Description
Görevin başlatıldığı zamanın milisaniye cinsinden zaman damgası. Görev henüz başlatılmadıysa bu özellik
0olur.
- Name
- finished_at
- Type
- timestamp
- Description
Görevin tamamlandığı zamanın milisaniye cinsinden zaman damgası. Görev henüz tamamlanmadıysa bu özellik
0olur.
- Name
- expires_at
- Type
- timestamp
- Description
Görev sonucunun sistemden süresinin dolacağı zamanın milisaniye cinsinden zaman damgası. Görev henüz tamamlanmadıysa
0.
- Name
- task_error
- Type
- object
- Description
Görev başarısız olduysa hata bilgisi. Görev başarısız olmadıysa bu özellik
nullolur. Daha fazla ayrıntı için Hatalar bölümüne bakın.- Name
message- Type
- string
- Description
Neyin yanlış gittiğini açıklayan hata mesajı.
- Name
- printability
- Type
- object
- Description
Basılabilirlik değerlendirme sonucu. Görev
SUCCEEDEDdurumuna ulaşana kadarnull.- Name
_version- Type
- string
- Description
Basılabilirlik sonucunun şema sürümü. Şu anda
v1.
- Name
status- Type
- string
- Description
Genel durum. Şunlardan biri:
healthy: hata yok ve uyarı yok.warning: en az bir uyarı, hata yok.error: en az bir hata.unknown: model analiz edilemedi.
- Name
issue_count- Type
- integer
- Description
Sorunların toplam sayısı,
error_count + warning_countdeğerine eşittir.
- Name
error_count- Type
- integer
- Description
Hata düzeyindeki sorunların sayısı. Model su geçirmez değilse, pozitif olmayan hacme sahipse veya manifold olmayan kenarlar içeriyorsa hatalar oluşturulur.
- Name
warning_count- Type
- integer
- Description
Uyarı düzeyindeki sorunların sayısı. Model bozuk yüzeyler veya delikler içeriyorsa uyarılar oluşturulur.
- Name
metrics- Type
- object
- Description
Değerlendirici tarafından döndürülen ham geometri metrikleri.
- Name
is_watertight- Type
- boolean
- Description
Ağda sınır kenarları olmadığında (yani kapalı olduğunda)
true.
- Name
volume- Type
- number
- Description
Modelin metreküp cinsinden hacmi.
- Name
non_manifold_edges- Type
- integer
- Description
Manifold olmayan kenarların sayısı.
- Name
degenerate_faces- Type
- integer
- Description
Bozuk yüzeylerin sayısı (sıfır alanlı veya geçersiz yüzeyler).
- Name
holes- Type
- integer
- Description
Ağdaki deliklerin (sınır döngülerinin) sayısı.
- Name
evaluated_at- Type
- timestamp
- Description
Analizin hesaplandığı zamanın, epoch'tan bu yana milisaniye cinsinden zaman damgası.
- Name
- consumed_credits
- Type
- integer
- Description
Her zaman
0. Bu uç nokta ücretsizdir.
The Analyze Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-analyze",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"expires_at": 1715725401000,
"task_error": null,
"printability": {
"_version": "v1",
"status": "warning",
"issue_count": 1,
"error_count": 0,
"warning_count": 1,
"metrics": {
"is_watertight": true,
"volume": 1.316167354292668,
"non_manifold_edges": 0,
"degenerate_faces": 43242,
"holes": 0
},
"evaluated_at": 1700000001000
},
"consumed_credits": 0
}