Dönüştür API
Dönüştür API, mevcut 3D modelleri farklı dosya formatlarına dönüştürmenize olanak tanır.
Dönüştürme Görevi Oluştur
Bu uç nokta yeni bir format dönüştürme görevi oluşturur.
Görev arka planda çalışır. Genellikle ne kadar sürdüğü hakkında bilgi için İşlem Süreleri sayfasına bakın.
Parametreler
input_task_id veya model_url parametrelerinden yalnızca biri gereklidir. Her ikisi de sağlanırsa, input_task_id önceliklidir.
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
Dönüştürmek istediğiniz modele sahip, tamamlanmış bir Meshy görevinin ID'si. Görevin durumu
SUCCEEDEDolmalıdır.
- Name
- model_url
- Type
- string
- Zorunlu
- Description
Bir 3D model dosyasına işaret eden, herkese açık erişilebilir bir URL veya data URI. Desteklenen formatlar:
.glb,.gltf,.obj,.fbx,.stl. Data URI'ler için, MIME type olarak şunu kullanın:application/octet-stream.Maksimum dosya boyutu:
httpveyahttpsURL için 400 MB,data:URI için 100 MB.100 MB'ı aşan bir GLB, glTF, FBX veya OBJ dosyası en fazla 10.000.000 yüzeye sahip olabilir. Yüzeyler üçgen olarak sayılır: bir dörtgen 2 olarak sayılır ve birden fazla kez çizilen bir ağ her kopya için bir kez sayılır. 100 MB'ın üzerinde, bir FBX dosyası ikili (binary) FBX 7.1 veya daha yenisi olmalıdır ve bir GLB veya glTF dosyası Draco sıkıştırması kullanmamalıdır.
- Name
- target_formats
- Type
- string[]
- Zorunlu
- Description
Dönüştürülen model için çıktı formatlarının bir listesi. Kullanılabilir değerler:
glb,fbx,obj,usdz,blend,stl,3mf.
Dönüş Değerleri
Yanıtın result özelliği, yeni oluşturulan dönüştürme görevinin id'sini içerir.
Hata Modları
400 - Bad Request
İstek kabul edilemedi. Yaygın nedenler:
- Eksik parametre:
model_urlveyainput_task_idsağlanmalıdır. - Eksik target_formats: En az bir hedef format belirtilmelidir.
- Geçersiz giriş görevi:
input_task_id, 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_urlindirilemedi. - Model dosyası çok büyük:
model_urldosyası 400 MB'ı (httpveyahttpsURL) veya 100 MB'ı (data:URI) aşıyor. - Çok fazla yüzey:
model_urldosyası 100 MB'ın üzerinde ve 10.000.000'dan fazla yüzeye sahip. Yüzey sayısını azaltın, ardından dosyayı tekrar gönderin. - 100 MB'ın üzerinde ASCII FBX:
model_urldosyası 100 MB'ın üzerinde bir ASCII FBX. Dosyayı ikili (binary) FBX veya GLB olarak gönderin. - Okunamayan model dosyası:
model_urldosyası 100 MB'ın üzerinde ve başlığı okunamıyor, örneğin Draco ile sıkıştırılmış bir GLB veya glTF, ya da 7.1'den eski bir ikili FBX. - Model başlığı çok karmaşık:
model_urldosyası 100 MB'ın üzerinde ve başlığı kontrol edilemeyecek kadar çok ağ, düğüm veya kayıt içeriyor. Dosyadaki nesne sayısını azaltın, ardından tekrar gönderin.
401 - Unauthorized
Kimlik doğrulama başarısız oldu. Lütfen API anahtarınızı kontrol edin.
402 - Payment Required
Bu görevi gerçekleştirmek için yetersiz kredi.
429 - Too Many Requests
Hız sınırınızı aştınız.
Request
curl https://api.meshy.ai/openapi/v1/convert \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["fbx", "stl"]
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Bir Dönüştürme Görevini Getir
Bu uç nokta, kimliğine göre bir dönüştürme görevini getirir.
Parametreler
- Name
- id
- Type
- path
- Description
Getirilecek dönüştürme görevinin kimliği.
Dönüş Değerleri
Dönüştürme Görevi nesnesi.
Request
curl https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"glb": "",
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"obj": "",
"usdz": "",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Bir Dönüştürme Görevini Sil
Bu uç nokta, ilişkili tüm modeller ve veriler dahil olmak üzere bir dönüştürme görevini kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
- Name
- id
- Type
- path
- Description
Silinecek dönüştürme 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 görevi çalışma
sırasında silmek 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öner.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 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."
}
Dönüştürme Görevlerini Listele
Bu uç nokta, dönüştürme 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
100öğedir.
- Name
- sort_by
- Type
- string
- Description
Sıralanacak alan. Kullanılabilir değerler:
+created_at: Oluşturulma zamanına göre artan sırada sıralar.-created_at: Oluşturulma zamanına göre azalan sırada sıralar.
Dönüş Değerleri
Sayfalanmış bir Dönüştürme Görevi Nesneleri listesi döndürür.
Request
curl https://api.meshy.ai/openapi/v1/convert?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Dönüştürme Görevini Akışa Al (Stream)
Bu uç nokta, Server-Sent Events (SSE) kullanarak bir dönüştürme görevi için gerçek zamanlı güncellemeleri akışa alır.
Parametreler
- Name
- id
- Type
- path
- Description
Akışa alınacak dönüştürme görevi için benzersiz tanımlayıcı.
Dönüş Değerleri
Server-Sent Events olarak Dönüştürme Görevi Nesnelerinin bir akışını döndürür.
PENDING veya IN_PROGRESS durumundaki görevler için yanıt akışı yalnızca gerekli progress ve status alanlarını içerecektir.
Request
curl -N https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Convert Task Nesnesi
Convert Task nesnesi, bir format dönüştürme işini temsil eder.
Özellikler
id· string
Görev için benzersiz tanımlayıcı.
type· string
Görevin türü. Değer convert şeklindedir.
model_urls· object
Dönüştürülen model dosyaları için indirilebilir URL'ler. Yalnızca target_formats içinde belirtilen formatlar URL'lere sahip olacaktır. Diğer format özellikleri boş dize olacaktır.
progress· integer
Görevin ilerlemesi (0-100).
status· string
Görevin durumu. Olası değerler: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Önceki görevlerin sayısı. Yalnızca durum PENDING olduğunda anlamlıdır.
created_at· timestamp
Görevin oluşturulduğu zaman damgası, milisaniye cinsinden.
started_at· timestamp
Görevin başladığı zaman damgası, milisaniye cinsinden. Başlamadıysa 0.
finished_at· timestamp
Görevin bittiği zaman damgası, milisaniye cinsinden. Bitmediyse 0.
task_error· object
Görev başarısız olursa hata nesnesi. Daha fazla ayrıntı için Hatalar sayfasına bakın.
consumed_credits· integer
Bu görev tarafından tüketilen kredi sayısı (her convert görevi için 1 kredi). FAILED görevler için 0 döner.