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.


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

    Modelini yeniden boyutlandırmak istediğiniz, tamamlanmış bir Meshy görevinin ID'si. Görevin durumu SUCCEEDED olmalı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.

  • 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

    true olarak 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_at açıkça ayarlanmadığı sürece orijin varsayılan olarak bottom olacaktı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_url veya input_task_id sağlanmalıdır.
  • Eksik yeniden boyutlandırma mode'u: resize_height, resize_longest_side veya auto_size parametrelerinden en az biri belirtilmelidir.
  • Birbirini dışlayan parametreler: resize_height, resize_longest_side ve auto_size birlikte 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_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 yeterli kredi yok.

  • 429 - Too Many Requests

Hız sınırınızı aştınız.

Request

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

Response

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

GET/openapi/v1/resize/:id

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

GET
/openapi/v1/resize/:id
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
}

DELETE/openapi/v1/resize/:id

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

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

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

GET/openapi/v1/resize

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

GET
/openapi/v1/resize
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
  }
]

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

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

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

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.