Basılabilirliği Onar API

Bir 3D modeli FDM basılabilirliği için onarın — manifold olmayan kenarları, bozuk yüzeyleri, delikleri ve diğer topology sorunlarını düzeltin, böylece ağ baskıya hazır hale gelsin.


POST/openapi/v1/print/repair

Basılabilirliği Onar Görevi Oluştur

Bu uç nokta yeni bir basılabilirliği onar görevi oluşturur. Görev, bir 3D model üzerinde topology onarımı yapar ve su geçirmez, baskıya hazır bir versiyon döndürür.

Çıktı formatı, giriş formatıyla eşleşir. Eğer model_url aracılığıyla bir .stl gönderirseniz, yanıtın model_urls.stl alanı onarılmış ağı tutacak ve diğer format alanları boş kalacaktır. input_task_id yolu her zaman kaynak görevin GLB'sini okur, bu yüzden çıktı .glb olur.

Parametreler

  • Name
    model_url
    Type
    string
    Zorunlu
    Description

    Onarılacak bir 3D modelin URL'si. Desteklenen formatlar: .glb, .gltf, .obj, .fbx, .stl. Maksimum dosya boyutu: 100 MB. http, https veya data: URL'si kullanılmalıdır (veri URL'leri uzantı kontrollerini atlar).

  • Name
    alpha_thumbnail
    Type
    boolean
    varsayılan false
    Description

    true olarak ayarlandığında, görev ek olarak önizlemenin şeffaf arka planlı (RGBA) bir versiyonunu render eder ve GET yanıtında alpha_thumbnail_url olarak döndürür. Mevcut thumbnail_url alanı değişmeden kalır.

Dönüşler

Yanıtın result özelliği, yeni oluşturulan basılabilirliği onar görevinin id değerini içerir.

Başarısızlık Modları

  • Name
    400 - Bad Request
    Description

    İstek kabul edilemezdi. Yaygın nedenler:

    • Eksik parametre: ne input_task_id ne de model_url sağlanmadı.
    • Geçersiz UUID: input_task_id geçerli bir UUID değil.
    • Geçersiz model URL'si: model_url hatalı, desteklenmeyen bir şema kullanıyor veya desteklenmeyen bir dosya uzantısına sahip.
    • Model dosyası çok büyük: model_url gövdesi 100 MB'yi aştı.
    • Görev başarılı olmadı: başvurulan görev hala beklemede, ilerlemede veya başarısız.
    • Eksik GLB: başvurulan görevde onarılacak bir GLB varlığı yok.
  • Name
    401 - Unauthorized
    Description

    Kimlik doğrulama başarısız oldu. Lütfen API anahtarınızı kontrol edin.

  • Name
    402 - Payment Required
    Description

    Yaygın nedenler:

    • Ücretsiz plan: görev oluşturma ücretli bir plan gerektirir. Abonelik sayfasında yükseltin.
    • Yetersiz kredi: çalışma alanı kredi limiti aşıldı.
  • Name
    404 - Not Found
    Description

    Başvurulan görev mevcut değil veya farklı bir kullanıcıya ait.

  • Name
    429 - Too Many Requests
    Description

    Bekleyen görev kotanızı veya hız sınırınızı aştınız.

İstek

POST
/openapi/v1/print/repair
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.stl"
  }'

Yanıt

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

GET/openapi/v1/print/repair/:id

Bir Basılabilirliği Onar Görevini Al

Bu uç nokta, bir basılabilirliği onar görevini ID'sine göre alır.

Parametreler

  • Name
    id
    Type
    path
    Description

    Alınacak basılabilirliği onar görevinin ID'si.

Dönen Değerler

Basılabilirliği Onar Görev Nesnesi. model_urls bloğu görev SUCCEEDED durumuna ulaşana kadar boştur. Yalnızca giriş formatıyla eşleşen model_urls alanı doldurulur.

İstek

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

Yanıt

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

DELETE/openapi/v1/print/repair/:id

Bir Basılabilirliği Onar Görevini Sil

Bu uç nokta, bir basılabilirliği onar görevini ve onarılmış çıktısını kalıcı olarak siler. Bu işlem geri alınamaz.

Yol Parametreleri

  • Name
    id
    Type
    path
    Description

    Silinecek basılabilirliği onar görevinin ID'si.

Dönen Değerler

Başarı durumunda 200 OK döner.

İstek

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

Yanıt

// Returns 200 Ok on success.

GET/openapi/v1/print/repair

Basılabilirliği Onar Görevlerini Listele

Bu uç nokta, basılabilirliği onar görevlerinin bir listesini almanızı sağlar.

Parametreler

İsteğe bağlı özellikler

  • Name
    page_num
    Type
    integer
    Description

    Sayfalama için sayfa numarası. 1 ile başlar ve varsayılan olarak 1'dir.

  • Name
    page_size
    Type
    integer
    Description

    Sayfa boyutu sınırı. Varsayılan olarak 10 öğedir. İzin verilen maksimum 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ırayla sıralar.
    • -created_at: Oluşturulma zamanına göre azalan sırayla sıralar.

Dönen Değerler

Basılabilirliği Onar Görev Nesneleri listesini sayfalı olarak döndürür.

İstek

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

Yanıt

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-repair",
    "status": "SUCCEEDED",
    "progress": 100,
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000030000,
    "expires_at": 1715725401000,
    "task_error": null,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "gltf": "",
      "fbx": "",
      "obj": "",
      "stl": "",
      "usdz": "",
      "3mf": "",
      "mtl": ""
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
    "texture_urls": [],
    "consumed_credits": 10
  }
]

GET/openapi/v1/print/repair/:id/stream

Bir Basılabilirliği Onar Görevini Yayınla

Bu uç nokta, Server-Sent Events (SSE) kullanarak bir basılabilirliği onar görevi için gerçek zamanlı güncellemeler yayınlar.

Parametreler

  • Name
    id
    Type
    path
    Description

    Yayınlanacak basılabilirliği onar görevinin benzersiz tanımlayıcısı.

Dönen Değerler

Server-Sent Events olarak Basılabilirliği Onar Görev Nesneleri akışı döner.

PENDING veya IN_PROGRESS görevleri için, yanıt akışı yalnızca gerekli progress ve status alanlarını içerecektir. model_urls bloğu yalnızca görev SUCCEEDED durumuna ulaştığında gönderilir.

İstek

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

Yanıt Akışı

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}

Basılabilirliği Onar Görev Nesnesi

  • Name
    id
    Type
    string
    Description

    Görev için benzersiz tanımlayıcı. Görev kimlikleri için k-sıralanabilir UUID kullanıyoruz, ancak kimliğin formatı hakkında herhangi bir varsayımda bulunmamalısınız.

  • Name
    type
    Type
    string
    Description

    Basılabilirliği onar görevinin türü. Değer print-repair'dir.

  • Name
    status
    Type
    string
    Description

    Görevin durumu. Olası değerler PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED'den biridir.

  • Name
    progress
    Type
    integer
    Description

    Görevin ilerlemesi. Görev henüz başlamadıysa, bu özellik 0 olacaktır. Görev başarıyla tamamlandığında, bu 100 olacaktır.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Önceki görevlerin sayısı.

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

    Görevin başladığı zamanın zaman damgası, milisaniye cinsinden. Görev henüz başlamadıysa, bu özellik 0 olacaktır.

  • Name
    finished_at
    Type
    timestamp
    Description

    Görevin tamamlandığı zamanın zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa, bu özellik 0 olacaktır.

  • Name
    expires_at
    Type
    timestamp
    Description

    Görev sonucunun sistemden silineceği zamanın zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa 0 olur.

  • Name
    task_error
    Type
    object
    Description

    Görev başarısız olduysa hata bilgisi. Görev başarısız olmadıysa bu özellik null olur. Daha fazla ayrıntı için Hatalar bölümüne bakın.

    • Name
      message
      Type
      string
      Description

      Ne yanlış gittiğini açıklayan hata mesajı.

  • Name
    model_urls
    Type
    object
    Description

    Onarılmış 3D modelin indirilebilir URL'leri. Yalnızca giriş formatıyla eşleşen alan doldurulur; diğer format alanları boş dizelerdir.

    • Name
      glb
      Type
      string
      Description

      Onarılmış GLB'nin indirilebilir URL'si. Giriş bir GLB olduğunda veya input_task_id kullanıldığında doldurulur.

    • Name
      gltf
      Type
      string
      Description

      Onarılmış GLTF'nin indirilebilir URL'si. Giriş bir GLTF yüklemesi olduğunda doldurulur.

    • Name
      fbx
      Type
      string
      Description

      Onarılmış FBX'in indirilebilir URL'si. Giriş bir FBX yüklemesi olduğunda doldurulur.

    • Name
      obj
      Type
      string
      Description

      Onarılmış OBJ'nin indirilebilir URL'si. Giriş bir OBJ yüklemesi olduğunda doldurulur.

    • Name
      stl
      Type
      string
      Description

      Onarılmış STL'nin indirilebilir URL'si. Giriş bir STL yüklemesi olduğunda doldurulur.

    • Name
      usdz
      Type
      string
      Description

      USDZ çıktısı için ayrılmıştır. Basılabilirliği onar görevleri için her zaman boş bir dizgedir.

    • Name
      3mf
      Type
      string
      Description

      3MF çıktısı için ayrılmıştır. Basılabilirliği onar görevleri için her zaman boş bir dizgedir.

    • Name
      mtl
      Type
      string
      Description

      MTL çıktısı için ayrılmıştır. Basılabilirliği onar görevleri için her zaman boş bir dizgedir.

  • Name
    thumbnail_url
    Type
    string
    Description

    Onarılmış modelden render edilen önizleme görüntüsünün URL'si.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    thumbnail_url'un şeffaf arka planlı (RGBA) sürümünün indirilebilir URL'si. Yalnızca görev alpha_thumbnail: true ile oluşturulduğunda ve şeffaf önizleme başarıyla render edildiğinde mevcut; aksi takdirde bu alan atlanır.

  • Name
    texture_urls
    Type
    array
    Description

    Her zaman boş bir dizi. Onarım yalnızca giriş geometrisini korur ve texture'ları yeniden pişirmez.

  • Name
    consumed_credits
    Type
    integer
    Description

    Bu görev tarafından tüketilen kredi sayısı. Görev SUCCEEDED durumuna ulaştığında 10 olur. FAILED görevler için 0 döner (başarısızlık durumunda krediler iade edilir).

Basılabilirliği Onar Görev Nesnesi

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-repair",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000030000,
  "expires_at": 1715725401000,
  "task_error": null,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "gltf": "",
    "fbx": "",
    "obj": "",
    "stl": "",
    "usdz": "",
    "3mf": "",
    "mtl": ""
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
  "texture_urls": [],
  "consumed_credits": 10
}