Yeniden boyutlandır API'si
Bir 3D modeli gerçek dünya boyutuna, metre cinsinden yeniden boyutlandırın. Yüksekliğini veya en uzun kenarının uzunluğunu belirleyin ya da Meshy'nin nesnenin gerçek dünya yüksekliğini tahmin etmesini sağlayın.
Resize görevi oluştur
Bir Resize görevi oluşturur. Görev arka planda çalışır. Bir görevin genellikle ne kadar sürdüğünü öğrenmek için bkz. İşlem süreleri.
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"
}
Parametreler
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
model_urlgöndermiyorsanız zorunludur. Bir 3D model üreten görevin kimliği; örneğin bir Metinden 3D'ye, Görselden 3D'ye, Yeniden ağ veya Yeniden dokulama görevi. Görev API'den gelmeli ve durumuSUCCEEDEDolmalıdır. Meshy, yeniden boyutlandırılmış modeli bir GLB dosyası olarak döndürür.
- Name
- model_url
- Type
- string
- Zorunlu
- Description
input_task_idgöndermiyorsanız zorunludur. Yeniden boyutlandırılacak model; genel bir URL veya bir data URI olarak. İkisini de gönderirseniz Meshyinput_task_id'yi kullanır.Model,
httpveyahttpsURL'sinden en fazla 400 MB, ya da data URI olarak en fazla 100 MB boyutunda bir GLB, glTF, OBJ, FBX veya STL dosyası olmalıdır. Data URI içinapplication/octet-streamMIME type'ını kullanın.100 MB'ın üzerindeki bir dosya ayrıca şu kurallara uymalıdır:
- Bir GLB, glTF, FBX veya OBJ dosyası en fazla 10.000.000 yüze sahip olabilir. Meshy yüzleri üçgen olarak sayar, bu nedenle bir dörtgen 2 olarak sayılır ve birden fazla kez çizilen bir ağ her kopya için bir kez sayılır.
- Bir FBX dosyası, ikili (binary) FBX 7.1 veya daha yeni olmalıdır.
- Bir GLB veya glTF dosyası Draco sıkıştırması kullanmamalıdır.
Bir GLB, OBJ, FBX veya STL dosyası sonuçta kendi formatını korur. Bir
.gltfdosyası veya bir data URI, GLB olarak döner.
resize_height, resize_longest_side veya auto_size parametrelerinden tam olarak birini gönderin. Hiçbirini göndermemek veya birden fazlasını göndermek 400 döndürür.
- Name
- resize_height
- Type
- number
- Description
Modelin metre cinsinden yeni yüksekliği, 0'dan büyük. Negatif bir değer
400döndürür.
- Name
- resize_longest_side
- Type
- number
- Description
Modelin en uzun kenarının metre cinsinden yeni uzunluğu, 0'dan büyük. Negatif bir değer
400döndürür. Meshy modelin en-boy oranını korur.
- Name
- auto_size
- Type
- boolean
- Description
Nesnenin gerçek dünyadaki yüksekliğinin yapay zeka görüşüyle tahmin edilip modelin buna göre yeniden boyutlandırılıp boyutlandırılmayacağı.
origin_atdeğerini ayarlamazsanız Meshy orijini alta yerleştirir.
- Name
- origin_at
- Type
- string
- varsayılan bottom
- Description
Yeniden boyutlandırmadan sonra modelin orijininin nereye konulacağı,
bottomveyacenter.
Dönüş değerleri
Yanıtın result alanı, yeni Resize görevinin kimliğini içerir.
Başarısızlık modları
- Name
400 - Bad Request- Description
İstek çalıştırılamıyor. Hata mesajı, hangi sorunun bulunduğunu belirtir. Örneğin:
- Eksik parametre: Ne
model_urlne deinput_task_idgönderildi. - Eksik yeniden boyutlandırma modu:
resize_height,resize_longest_sideveauto_sizeparametrelerinden hiçbiri gönderilmedi. - Birbirini dışlayan parametreler: İstek,
resize_height,resize_longest_sideveauto_sizeparametrelerinden birden fazlasını içeriyor. Sadece birini gönderin. - Negatif boyut:
resize_heightveyaresize_longest_sidenegatif. - Geçersiz giriş görevi:
input_task_id, bir model dosyası üreten başarılı bir API görevi değil. - Geçersiz model formatı:
model_urldosyasının uzantısı desteklenmiyor. - Erişilemeyen URL: Meshy,
model_urldosyasını indiremiyor. - Model dosyası çok büyük:
model_urldosyası, birhttpveyahttpsURL'sinden 400 MB'ın üzerinde, ya da data URI olarak 100 MB'ın üzerinde. - Çok fazla yüz:
model_urldosyası 100 MB'ın üzerinde ve 10.000.000'dan fazla yüze sahip. Yüz sayısını azaltıp dosyayı tekrar gönderin. - 100 MB'ın üzerinde ASCII FBX:
model_urldosyası, 100 MB'ın üzerinde bir ASCII FBX. Onu ikili FBX veya GLB olarak gönderin. - Okunamayan model dosyası:
model_urldosyası 100 MB'ın üzerinde ve Meshy başlığını okuyamı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ığında kontrol edilecek çok fazla ağ, düğüm veya kayıt var. Dosyadaki nesne sayısını azaltıp tekrar gönderin.
İsteği düzeltip tekrar gönderin. Bkz. Hatalar.
- Eksik parametre: Ne
- Name
401 - Unauthorized- Description
API anahtarı eksik veya geçersiz.
Authorizationbaşlığını kontrol edin.
- Name
402 - Payment Required- Description
Örneğin:
- Yetersiz kredi: Hesapta bu görev için yeterli kredi yok veya hesap bir kredi sınırına ulaştı. Kredi bakiyenizi kontrol edip tekrar deneyin.
- Ücretsiz plan: Görev oluşturmak ücretli bir plan gerektirir. Abonelik ayarlarınızdan planınızı yükseltip tekrar deneyin.
- Name
403 - Forbidden- Description
input_task_id, bu uç noktanın yeniden boyutlandıramadığı bir kabartma (bas-relief) modeli. MesajThis model type does not support this operationşeklindedir. Farklı bir model gönderin.
- Name
404 - Not Found- Description
input_task_id, görevlerinizden hiçbiriyle eşleşmiyor. Görev kimliğini kontrol edip isteği tekrar gönderin.
- Name
429 - Too Many Requests- Description
Hız sınırınızı aştınız. Bekleyip tekrar deneyin. Bkz. Hız sınırları.
Bir Yeniden boyutlandır görevi alın
Kimliğine (ID) göre bir Yeniden boyutlandır görevini döndürür.
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
}
Parametreler
- Name
- id
- Type
- path
- Description
Oluşturma yanıtından alınan görev kimliği.
Dönüş Değerleri
Bir Yeniden boyutlandır görevini sil
Bir Yeniden boyutlandır görevini, modelleri ve verileri dahil olmak üzere kalıcı olarak siler. Bir silme işlemini geri alamazsınız.
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 keeps 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."
}
Yol parametreleri
- Name
- id
- Type
- path
- Description
Silinecek görevin kimliği.
Görev durumu
PENDING durumundaki bir görevi silmek, onu oluştururken kullanılan kredileri iade eder.
IN_PROGRESS durumundaki bir görev silinemez. İstek 409 Conflict döner
ve görev çalışmaya devam eder. Meshy, başlamış olan bir görev için iade yapmaz,
bu yüzden onu silmek size hem kredileri hem de sonucu kaybettirir. SUCCEEDED,
FAILED veya CANCELED durumuna ulaşmasını bekleyin, ardından silin.
Nihai bir durumdaki (SUCCEEDED, FAILED veya CANCELED) bir görevi silmek
kredilerini iade etmez.
Dönüşler
Görev silindiğinde 200 OK, görev IN_PROGRESS durumundayken
409 Conflict döner.
Yeniden Boyutlandırma görevlerini listele
Yeniden Boyutlandırma görevlerinizin 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
}
]
Parametreler
- Name
- page_num
- Type
- integer
- varsayılan 1
- Description
Döndürülecek sayfa numarası, en fazla
255. Daha büyük bir değer400döndürür.
- Name
- page_size
- Type
- integer
- varsayılan 10
- Description
Sayfa başına görev sayısı, en fazla
100.
- Name
- sort_by
- Type
- string
- Description
Sıralama düzeni.
Kullanılabilir değerler:
+created_at: önce en eski-created_at: önce en yeni
Dönüş Değerleri
Sayfalandırılmış bir Yeniden Boyutlandırma görevi nesneleri listesi.
Resize görevini akışla izle
Bir Resize görevinin güncellemelerini Server-Sent Events (SSE) olarak akışla sunar.
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
}
Parametreler
- Name
- id
- Type
- path
- Description
Oluşturma yanıtından alınan görev ID'si.
Dönüş Değeri
Resize görev nesnelerinin Server-Sent Events olarak akışı.
Her olay, Get uç noktasının döndürdüğü ile aynı şekilde, tam görev nesnesini içerir. Görev PENDING veya IN_PROGRESS durumundayken, sonuç alanlarının henüz değeri yoktur.
The Resize task object
Bir Resize görev nesnesi, bir 3D modelin yeniden boyutlandırma işlemini tanımlar. Görev başarılı olduğunda durumu, progress'i ve model dosyasını içerir.
Özellikler
- Name
- id
- Type
- string
- Description
Görev kimliği. Bunu anlamsız bir dize olarak kabul edin ve biçimine güvenmeyin.
- Name
- type
- Type
- string
- Description
Görev türü, her zaman
resize.
- Name
- model_urls
- Type
- object
- Description
Yeniden boyutlandırılmış model dosyası için indirme URL'i.
input_task_idiçin dosya her zaman GLB'dir.model_urliçin, bir GLB, OBJ, FBX veya STL dosyası kendi biçimini korur; bir.gltfdosyası veya bir data URI ise GLB olarak döner.
- Name
- progress
- Type
- integer
- Description
Görevin ne kadarının tamamlandığı, yüzde olarak. Görev başlayana kadar
0, başarılı olduğunda100değerindedir.
- Name
- status
- Type
- string
- Description
Görev durumu;
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDveyaCANCELEDdeğerlerinden biridir.
- Name
- preceding_tasks
- Type
- integer
- Description
Kuyrukta bu görevden önce gelen görev sayısı. Bu değer yalnızca görev
PENDINGdurumundayken anlamlıdır.
- Name
- created_at
- Type
- timestamp
- Description
Görevin oluşturulduğu zaman, Unix milisaniye cinsinden.
- Name
- started_at
- Type
- timestamp
- Description
Görevin başladığı zaman, Unix milisaniye cinsinden. Görev başlayana kadar
0değerindedir.
- Name
- finished_at
- Type
- timestamp
- Description
Görevin tamamlandığı zaman, Unix milisaniye cinsinden. Görev tamamlanana kadar
0değerindedir.
- Name
- expires_at
- Type
- timestamp
- Description
Görevin indirme URL'lerinin süresinin dolacağı zaman, Unix milisaniye cinsinden. Görev tamamlanana kadar
0değerindedir.
- Name
- texture_urls
- Type
- array
- Description
Görev başarılı olduğunda, modelin doku haritaları için indirme URL'leri: her doku seti için bir nesne olmak üzere bir nesne dizisi. Her nesnenin bir
base_colorURL'i vardır ve ayrıcametallic,roughness,normal,emissionvemetallic_roughnessURL'lerine sahip olabilir. Görev başarılı olana kadarnulldeğerindedir ve modelin doku haritası yoksa boş bir dizidir.
- Name
- task_error
- Type
- object
- Description
Görev başarısız olduğunda hata ayrıntıları. Bkz. Hatalar.
- Name
- consumed_credits
- Type
- integer
- Description
Görevin kullandığı kredi sayısı; bir Resize görevi için
1'dir.FAILEDbir görev için0'dır.