Basılabilirliği onar API'si
Bir 3D modeli FDM basılabilirliği için onarın — ağın baskıya hazır olması için manifold olmayan kenarları, bozuk yüzeyleri, delikleri ve diğer topology sorunlarını düzeltin.
Basılabilirliği onar görevi oluştur
Bu uç nokta yeni bir basılabilirliği onarma görevi oluşturur. Görev, bir 3D model üzerinde topology onarımı çalıştırır ve su geçirmez, baskıya hazır bir sürüm döndürür.
Çıktı biçimi, girdi biçimiyle eşleşir. model_url aracılığıyla bir .stl gönderirseniz, yanıtın model_urls.stl alanı onarılmış ağı içerir ve diğer biçim alanları boş olur. input_task_id yolu her zaman kaynak görevin GLB'sini okur, bu nedenle çıktı .glb olur.
Parametreler
input_task_id veya model_url değerlerinden yalnızca biri gereklidir. İkisi de sağlanırsa, input_task_id öncelik alır.
Mevcut dokular, geometri değişiklikleri nedeniyle onarım sırasında kaldırılır. Dokuları geri eklemek için onarılmış model üzerinde Yeniden dokulama API kullanın.
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
Sahip 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örevin durumu
SUCCEEDEDolmalı ve bir GLB varlığı üretmiş olmalıdır.
- Name
- model_url
- Type
- string
- Zorunlu
- Description
Onarılacak 3D modelin URL'si. Desteklenen biçimler:
.glb,.stl,.obj. Maksimum dosya boyutu: 100 MB.http,httpsveya birdata:URL'si kullanmalıdır (veri URL'leri uzantı kontrollerini atlar).
- 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 basılabilirliği onarma 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 oldu.
- Eksik GLB: başvurulan görevin onarılacak bir GLB varlığı yok.
- Eksik parametre: ne
- 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
Yaygın nedenler:
- Ücretsiz plan: görev oluşturma ücretli bir plan gerektirir. Abonelik sayfasından yükseltin.
- Yetersiz kredi: çalışma alanı kredi sınırına ulaşıldı.
- Name
404 - Not Found- Description
Başvurulan görev mevcut değil veya farklı bir kullanıcıya ait.
- Name
429 - Too Many Requests- Description
Bekleyen görev kotanızı veya hız sınırını aştınız.
Request
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.stl"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Bir Basılabilirliği onar Görevini Al
Bu uç nokta, bir Basılabilirliği onar görevini ID'sine göre alır.
Parametreler
- Name
- id
- Type
- path
- Description
Alınacak Basılabilirliği onar görevinin ID'si.
Döndürür
Basılabilirliği onar Görev Nesnesi. model_urls bloğu, görev SUCCEEDED durumuna ulaşana kadar boştur. Yalnızca giriş biçimiyle eşleşen model_urls alanı doldurulur.
Request
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "",
"fbx": "",
"obj": "",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
Bir Basılabilirliği onar Görevini Sil
Bu uç nokta, bir basılabilirliği onar görevini ve onarılmış çıktısını kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
- Name
- id
- Type
- path
- Description
Silinecek basılabilirliği onar görevinin kimliği.
Dönenler
Başarılı olduğunda 200 OK döndürür.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Basılabilirliği onar Görevlerini Listele
Bu uç nokta, basılabilirliği onarma görevlerinin bir listesini almanızı sağlar.
Parametreler
İsteğe bağlı öznitelikler
- Name
- page_num
- Type
- integer
- Description
Sayfalama için sayfa numarası.
1ile başlar ve varsayılan değeri1dir.
- 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ş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
Sayfalanmış bir Basılabilirliği onar Görev Nesneleri listesi döndürür.
Request
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
]
Bir Basılabilirliği onar Görevini Akışla Aktar
Bu uç nokta, Server-Sent Events (SSE) kullanarak bir basılabilirliği onarma görevi için gerçek zamanlı güncellemeleri akışla aktarır.
Parametreler
- Name
- id
- Type
- path
- Description
Akışla aktarılacak basılabilirliği onarma görevinin benzersiz tanımlayıcısı.
Döndürür
Basılabilirliği onar Görev Nesneleri akışını Server-Sent Events olarak 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. model_urls bloğu yalnızca görev SUCCEEDED durumuna ulaştığında gönderilir.
Request
curl -N https://api.meshy.ai/openapi/v1/print/repair/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-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
Basılabilirliği onar Görev Nesnesi
- 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 biçimi hakkında herhangi bir varsayımda bulunmamalısınız.
- Name
- type
- Type
- string
- Description
Basılabilirliği onar görevinin türü. Değer
print-repairş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şlamadıysa bu özellik
0olur. Görev başarıyla tamamlandığında bu değer100olur.
- 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 ne zaman oluşturulduğunun zaman damgası, milisaniye cinsinden.
- Name
- started_at
- Type
- timestamp
- Description
Görevin ne zaman başlatıldığının zaman damgası, milisaniye cinsinden. Görev henüz başlamadıysa bu özellik
0olur.
- Name
- finished_at
- Type
- timestamp
- Description
Görevin ne zaman tamamlandığının zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa bu özellik
0olur.
- Name
- expires_at
- Type
- timestamp
- Description
Görev sonucunun sistemden ne zaman sona ereceğinin zaman damgası, milisaniye cinsinden. 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
- model_urls
- Type
- object
- Description
Onarılmış 3D modele indirilebilir URL'ler. Yalnızca girdi biçimiyle eşleşen alan doldurulur; diğer biçim alanları boş dizelerdir.
- Name
glb- Type
- string
- Description
Onarılmış GLB için indirilebilir URL. Girdi bir GLB olduğunda veya
input_task_idkullanıldığında doldurulur.
- Name
fbx- Type
- string
- Description
FBX çıktısı için ayrılmıştır. Basılabilirliği onar görevleri için her zaman boş dizedir.
- Name
obj- Type
- string
- Description
Onarılmış OBJ için indirilebilir URL. Girdi bir OBJ yüklemesi olduğunda doldurulur.
- Name
stl- Type
- string
- Description
Onarılmış STL için indirilebilir URL. Girdi bir STL yüklemesi olduğunda doldurulur.
- Name
usdz- Type
- string
- Description
USDZ çıktısı için ayrılmıştır. Basılabilirliği onar görevleri için her zaman boş dizedir.
- Name
3mf- Type
- string
- Description
3MF çıktısı için ayrılmıştır. Basılabilirliği onar görevleri için her zaman boş dizedir.
- Name
mtl- Type
- string
- Description
MTL çıktısı için ayrılmıştır. Basılabilirliği onar görevleri için her zaman boş dizedir.
- Name
- thumbnail_url
- Type
- string
- Description
Onarılmış modelden işlenen bir önizleme görselinin URL'si.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
thumbnail_urldeğerinin saydam arka planlı (RGBA) bir sürümüne indirilebilir URL. Yalnızca görevalpha_thumbnail: trueile oluşturulduğunda ve saydam önizleme başarıyla işlendiğinde bulunur; aksi takdirde bu alan atlanır.
- Name
- texture_urls
- Type
- array
- Description
Her zaman boş bir dizi. Onarım yalnızca girdi geometrisini korur ve dokuları yeniden bake etmez.
- Name
- consumed_credits
- Type
- integer
- Description
Bu görev tarafından tüketilen kredi sayısı. Görev
SUCCEEDEDdurumuna ulaştığında10.FAILEDgörevler için0döndürür (başarısızlık durumunda krediler iade edilir).
The Repair Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}