Yeniden Boyutlandır API
Yeniden Boyutlandır API, mevcut 3D modelleri gerçek dünya boyutlarına yeniden boyutlandırmanıza olanak tanır. Kesin bir yükseklik, en uzun kenar kısıtlaması belirleyebilir veya uygun boyutun yapay zeka tarafından otomatik olarak tahmin edilmesine izin verebilirsiniz.
Yeniden Boyutlandırma Görevi Oluştur
Bu uç nokta yeni bir yeniden boyutlandırma 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
Modelini yeniden boyutlandırmak istediğiniz, tamamlanmış bir Meshy görevinin ID'si. Görevin durumu
SUCCEEDEDolmalıdır. Çıktı formatı GLB olacaktı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 şu MIME type'ı kullanın:application/octet-stream. Bir.glb,.obj,.fbxveya.stlURL'si çıktısında kendi formatını korur; bir.gltfURL'si veya data URI ise GLB üretir.Maksimum dosya boyutu:
httpveyahttpsURL'si için 400 MB,data:URI'si 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 yeni bir sürüm olmalıdır ve bir GLB veya glTF dosyası Draco sıkıştırması kullanmamalıdır.
Tam olarak bir yeniden boyutlandırma mode'u gereklidir: resize_height, resize_longest_side veya auto_size. Bu üç parametre birbirini dışlar.
- Name
- resize_height
- Type
- number
- Description
Modeli, metre cinsinden belirli bir yüksekliğe yeniden boyutlandırır.
- Name
- resize_longest_side
- Type
- number
- Description
Modeli, en uzun kenarı metre cinsinden bu değere eşleşecek şekilde yeniden boyutlandırır. En boy oranı korunur.
- Name
- auto_size
- Type
- boolean
- Description
trueolarak ayarlandığında, hizmet nesnenin gerçek dünyadaki yüksekliğini otomatik olarak tahmin etmek için yapay zeka görüşünü kullanır ve modeli buna göre yeniden boyutlandırır.origin_ataçıkça belirtilmedikçe orijin varsayılan olarakbottomolacaktır.
- Name
- origin_at
- Type
- string
- varsayılan bottom
- Description
Yeniden boyutlandırmadan sonra orijinin konumu.
Kullanılabilir değerler:
bottom,center.
Dönüş Değerleri
Yanıtın result özelliği, yeni oluşturulan yeniden boyutlandırma 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 yeniden boyutlandırma mode'u:
resize_height,resize_longest_sideveyaauto_sizeparametrelerinden en az biri belirtilmelidir. - Birbirini dışlayan parametreler:
resize_height,resize_longest_sideveauto_sizebirlikte kullanılamaz. - Geçersiz giriş görevi:
input_task_id, 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şilemeyen URL:
model_urlindirilemedi. - Model dosyası çok büyük:
model_urldosyası 400 MB'ı (httpveyahttpsURL'si) veya 100 MB'ı (data:URI'si) 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ıp dosyayı tekrar gönderin. - 100 MB ü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 sıkıştırmalı 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ıp 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 yeterli kredi yok.
429 - Too Many Requests
Hız sınırınızı aştınız.
Request
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"resize_height": 1.8
}'
# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb",
"resize_longest_side": 2.0,
"origin_at": "center"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Bir Yeniden Boyutlandırma Görevini Al
Bu uç nokta, ID'sine göre bir yeniden boyutlandırma görevini alır.
Parametreler
- Name
- id
- Type
- path
- Description
Alınacak yeniden boyutlandırma görevinin ID'si.
Döndürdükleri
Yeniden Boyutlandırma Görevi nesnesi.
Request
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Bir Yeniden Boyutlandırma Görevini Sil
Bu uç nokta, ilişkili tüm modeller ve veriler dahil olmak üzere bir yeniden boyutlandırma görevini kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
- Name
- id
- Type
- path
- Description
Silinecek yeniden boyutlandırma görevinin ID'si.
Görev Durumu
Hâlâ PENDING durumunda olan bir görev silinir ve oluşturma sırasında
harcanan kredi 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 kredi iade edilmez, bu nedenle çalışma sırasında silmek size hem
kredileri hem de sonucu kaybettirir. Görevin SUCCEEDED, FAILED veya CANCELED
durumuna ulaşmasını bekleyin, ardından silin.
Son (terminal) durumdaki bir görev (SUCCEEDED, FAILED veya CANCELED)
iade yapılmadan silinir.
Dönüş Değerleri
Başarılı olduğunda 200 OK, görev IN_PROGRESS durumundaysa 409 Conflict
döner.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/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."
}
Yeniden Boyutlandırma Görevlerini Listele
Bu uç nokta, yeniden boyutlandırma 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ıralama için kullanılacak alan. Kullanılabilir değerler:
+created_at: Oluşturulma zamanına göre artan sırayla sırala.-created_at: Oluşturulma zamanına göre azalan sırayla sırala.
Dönüş Değerleri
Yeniden Boyutlandırma Görevi Nesneleri için sayfalanmış bir liste döndürür.
Request
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Yeniden Boyutlandırma Görevini Akışa Al
Bu uç nokta, Server-Sent Events (SSE) kullanarak bir yeniden boyutlandırma görevi için gerçek zamanlı güncellemeleri akışa alır.
Parametreler
- Name
- id
- Type
- path
- Description
Akışa alınacak yeniden boyutlandırma görevinin benzersiz tanımlayıcısı.
Dönüş Değerleri
Yeniden Boyutlandırma Görevi Nesnelerinin Server-Sent Events olarak 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/resize/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": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
The Resize Task Object
Resize Task nesnesi bir yeniden boyutlandırma işini temsil eder.
Properties
id· string
Görev için benzersiz tanımlayıcı.
type· string
Görevin türü. Değer resize'dır.
model_urls· object
Yeniden boyutlandırılmış model dosyası için indirilebilir URL. input_task_id kullanıldığında çıktı her zaman GLB olur. model_url kullanıldığında, .glb, .obj, .fbx veya .stl girdisi kendi formatını korur, .gltf girdisi veya bir Data URI ise GLB üretir.
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 tamamlandığı zaman damgası, milisaniye cinsinden. Tamamlanmadıysa 0.
task_error· object
Görev başarısız olursa hata nesnesi. Daha fazla ayrıntı için Errors bölümüne bakın.
consumed_credits· integer
Bu görev tarafından tüketilen kredi sayısı (yeniden boyutlandırma görevi başına 1 kredi). FAILED görevler için 0 döner.