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ı belirtebilir veya yapay zekanın uygun boyutu otomatik olarak tahmin etmesine izin verebilirsiniz.
Yeniden Boyutlandırma Görevi Oluştur
Bu uç nokta yeni bir yeniden boyutlandırma görevi oluşturur.
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ını gösteren, 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. Çıktı formatı, girdi modelinin orijinal formatını koruyacaktı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 ölçülen belirli bir yüksekliğe yeniden boyutlandırır.
- Name
- resize_longest_side
- Type
- number
- Description
Modeli, en uzun kenarı bu değere (metre cinsinden) eşit olacak şekilde yeniden boyutlandırır. En-boy oranı korunur.
- Name
- auto_size
- Type
- boolean
- Description
trueolarak ayarlandığında, servis 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 ayarlanmadığı sürece 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 Durumları
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 girdi görevi:
input_task_id, başarılı bir görevi işaret etmelidir. - Geçersiz model formatı:
model_url, desteklenmeyen bir uzantıya sahip bir dosyayı işaret ediyor. - Erişilemeyen URL:
model_urlindirilemedi.
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 Getir
Bu uç nokta, kimliğine göre bir yeniden boyutlandırma görevini getirir.
Parametreler
- Name
- id
- Type
- path
- Description
Getirilecek yeniden boyutlandırma görevinin kimliği.
Dönüş Değerleri
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, bir yeniden boyutlandırma görevini ilişkili tüm modeller ve verilerle birlikte kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
- Name
- id
- Type
- path
- Description
Silinecek yeniden boyutlandırma görevinin kimliği.
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 görevi
çalışırken silmek hem kredinizi hem de sonucunuzu kaybetmenize neden olur.
Görevin SUCCEEDED, FAILED veya CANCELED durumuna ulaşmasını bekleyin,
ardından silin.
Sonlanmış durumdaki (SUCCEEDED, FAILED veya CANCELED) bir görev
iade yapılmadan silinir.
Dönüşler
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/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."
}
Resize Görevlerini Listele
Bu uç nokta, resize 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 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ülenler
Resize Görev Nesneleri'nin sayfalanmış bir listesini 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örevi için benzersiz tanımlayıcı.
Döndürülenler
Server-Sent Events olarak Yeniden Boyutlandırma Görevi Nesneleri akışı 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 şeklindedir.
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 çıktı orijinal formatı korur.
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şlatıldığı zaman damgası, milisaniye cinsinden. Başlatılmadıysa 0.
finished_at· timestamp
Görevin tamamlandığı zaman damgası, milisaniye cinsinden. Tamamlanmadıysa 0.
task_error· object
Görev başarısız olduysa hata nesnesi. Daha fazla ayrıntı için Errors sayfasına 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.