Yeniden Boyutlandırma API'si

Yeniden Boyutlandırma API'si, mevcut 3D modelleri gerçek dünya boyutlarına yeniden boyutlandırmanıza olanak tanır. Belirli bir yükseklik, en uzun kenar kısıtlaması belirtebilir veya AI'nın uygun boyutu otomatik olarak tahmin etmesine izin verebilirsiniz.


POST/openapi/v1/resize

Yeniden Boyutlandırma Görevi Oluştur

Bu uç nokta yeni bir yeniden boyutlandırma görevi oluşturur.

Parametreler

  • Name
    input_task_id
    Type
    string
    Zorunlu
    Description

    Yeniden boyutlandırmak istediğiniz tamamlanmış bir Meshy görevinin kimliği. Görevin durumu SUCCEEDED olmalıdır. Çıktı formatı GLB olacaktır.

  • Name
    model_url
    Type
    string
    Zorunlu
    Description

    3D model dosyasına işaret eden herkese açık bir URL veya veri URI'si. Desteklenen formatlar: .glb, .gltf, .obj, .fbx, .stl. Veri URI'leri için MIME type: application/octet-stream kullanın. Çıktı formatı, giriş modelinin orijinal formatını koruyacaktır.

  • Name
    resize_height
    Type
    number
    Description

    Modeli metre cinsinden ölçülen belirli bir yüksekliğe yeniden boyutlandırın.

  • Name
    resize_longest_side
    Type
    number
    Description

    Modeli, en uzun kenarının bu değere eşit olacak şekilde yeniden boyutlandırın, metre cinsinden ölçülür. En boy oranı korunur.

  • Name
    auto_size
    Type
    boolean
    Description

    true olarak ayarlandığında, hizmet AI görüşünü kullanarak nesnenin gerçek dünya yüksekliğini otomatik olarak tahmin eder ve modeli buna göre yeniden boyutlandırır. origin_at açıkça ayarlanmadıkça orijin varsayılan olarak bottom olacaktır.

  • Name
    origin_at
    Type
    string
    varsayılan bottom
    Description

    Yeniden boyutlandırmadan sonra orijinin konumu.

    Mevcut değerler: bottom, center.

Dönen Değerler

Yanıtın result özelliği, yeni oluşturulan yeniden boyutlandırma görevinin id değerini içerir.

Başarısızlık Modları

  • 400 - Bad Request

İstek kabul edilemezdi. Yaygın nedenler:

  • Eksik parametre: model_url veya input_task_id sağlanmalıdır.
  • Eksik yeniden boyutlandırma modu: resize_height, resize_longest_side veya auto_size'dan en az biri belirtilmelidir.
  • Birbirini dışlayan parametreler: resize_height, resize_longest_side ve auto_size birleştirilemez.
  • 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_url indirilemedi.
  • 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.

İstek

POST
/openapi/v1/resize
# 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"
  }'

Yanıt

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/resize/:id

Bir Yeniden Boyutlandırma Görevini Getir

Bu uç nokta, bir yeniden boyutlandırma görevini ID'si ile getirir.

Parametreler

  • Name
    id
    Type
    path
    Description

    Getirilecek yeniden boyutlandırma görevinin ID'si.

Dönen Değerler

Yeniden Boyutlandırma Görevi nesnesi.

İstek

GET
/openapi/v1/resize/:id
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Yanıt

{
  "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
}

DELETE/openapi/v1/resize/:id

Bir Yeniden Boyutlandırma Görevini Sil

Bu uç nokta, bir yeniden boyutlandırma görevini, ilgili tüm modeller ve veriler dahil olmak üzere 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.

Dönen Değerler

Başarı durumunda 200 OK döner.

İstek

DELETE
/openapi/v1/resize/:id
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Yanıt

// Returns 200 Ok on success.

GET/openapi/v1/resize

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 değer 50 öğedir.

  • Name
    sort_by
    Type
    string
    Description

    Sıralama yapılacak alan. Mevcut 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önen Değerler

Yeniden Boyutlandırma Görev Nesneleri listesini sayfalı olarak döndürür.

İstek

GET
/openapi/v1/resize
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Yanıt

[
  {
    "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
  }
]

GET/openapi/v1/resize/:id/stream

Yeniden Boyutlandırma Görevini Yayınla

Bu uç nokta, Server-Sent Events (SSE) kullanarak bir yeniden boyutlandırma görevi için gerçek zamanlı güncellemeleri yayınlar.

Parametreler

  • Name
    id
    Type
    path
    Description

    Yayınlanacak yeniden boyutlandırma görevi için benzersiz tanımlayıcı.

Dönen Değerler

Server-Sent Events olarak Yeniden Boyutlandırma Görevi Nesneleri akışını döndürür.

PENDING veya IN_PROGRESS görevleri için, yanıt akışı yalnızca gerekli progress ve status alanlarını içerecektir.

İstek

GET
/openapi/v1/resize/:id/stream
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Yanıt Akışı

// 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
}

Yeniden Boyutlandırma Görevi Nesnesi

Yeniden Boyutlandırma Görevi nesnesi, bir yeniden boyutlandırma işini temsil eder.

Özellikler

  • id · string

Görev için benzersiz tanımlayıcı.

  • type · string

Görevin türü. Değer resize'dir.

  • model_urls · object

Yeniden boyutlandırılmış model dosyası için indirilebilir URL. input_task_id kullanıldığında, çıktı her zaman GLB'dir. 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ı. Sadece durum PENDING olduğunda anlamlıdır.

  • created_at · timestamp

Görevin oluşturulduğu zamanın zaman damgası, milisaniye cinsinden.

  • started_at · timestamp

Görevin başlatıldığı zamanın zaman damgası, milisaniye cinsinden. Başlatılmadıysa 0.

  • finished_at · timestamp

Görevin tamamlandığı zamanın zaman damgası, milisaniye cinsinden. Tamamlanmadıysa 0.

  • task_error · object

Görev başarısız olduysa hata nesnesi. Daha fazla detay için Hatalar sayfasına bakın.

  • consumed_credits · integer

Bu görev tarafından tüketilen kredi sayısı (her yeniden boyutlandırma görevi için 1 kredi). FAILED görevler için 0 döner.