Basılabilirliği onar API'si

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


POST/openapi/v1/print/repair

Basılabilirliği onar görevi oluştur

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

Çıktı biçimi, girdi biçimiyle eşleşir. model_url aracılığıyla bir .stl gönderirseniz, yanıtın model_urls.stl alanı onarılmış ağı içerir ve diğer biçim alanları boş olur. input_task_id yolu her zaman kaynak görevin GLB'sini okur, bu nedenle çıktı .glb olur.

Parametreler

  • Name
    model_url
    Type
    string
    Zorunlu
    Description

    Onarılacak 3D modelin URL'si. Desteklenen biçimler: .glb, .stl, .obj. Maksimum dosya boyutu: 100 MB. http, https veya bir data: URL'si kullanmalıdır (veri URL'leri uzantı kontrollerini atlar).

  • Name
    alpha_thumbnail
    Type
    boolean
    varsayılan false
    Description

    true olarak ayarlandığında, görev ayrıca önizlemenin şeffaf arka planlı (RGBA) bir sürümünü render eder ve GET yanıtında bunu alpha_thumbnail_url olarak döndürür. Mevcut thumbnail_url alanı değişmez.

Döndürür

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

Hata Modları

  • Name
    400 - Bad Request
    Description

    İstek kabul edilemezdi. Yaygın nedenler:

    • Eksik parametre: ne input_task_id ne de model_url sağlandı.
    • Geçersiz UUID: input_task_id geçerli bir UUID değil.
    • Geçersiz model URL'si: model_url hatalı biçimlendirilmiş, 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'ı aştı.
    • Görev başarılı değil: başvurulan görev hâlâ beklemede, progress durumunda veya başarısız oldu.
    • Eksik GLB: başvurulan görevin 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ından yükseltin.
    • Yetersiz kredi: çalışma alanı kredi sınırına ulaşı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ı aştınız.

Request

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

Response

{
  "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öndürür

Basılabilirliği onar Görev Nesnesi. model_urls bloğu, görev SUCCEEDED durumuna ulaşana kadar boştur. Yalnızca giriş biçimiyle eşleşen model_urls alanı doldurulur.

Request

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

Response

{
  "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": "",
    "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 kimliği.

Dönenler

Başarılı olduğunda 200 OK döndürür.

Request

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

Response

// Returns 200 Ok on success.

GET/openapi/v1/print/repair

Basılabilirliği onar Görevlerini Listele

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

Parametreler

İsteğe bağlı öznitelikler

  • Name
    page_num
    Type
    integer
    Description

    Sayfalama için sayfa numarası. 1 ile başlar ve varsayılan değeri 1dir.

  • Name
    page_size
    Type
    integer
    Description

    Sayfa boyutu sınırı. Varsayılan olarak 10 öğedir. İzin verilen maksimum değer 50 öğedir.

  • Name
    sort_by
    Type
    string
    Description

    Sıralama yapılacak alan. Kullanılabilir değerler:

    • +created_at: Oluşturma zamanına göre artan sırada sırala.
    • -created_at: Oluşturma zamanına göre azalan sırada sırala.

Döndürür

Sayfalanmış bir Basılabilirliği onar Görev Nesneleri listesi döndürür.

Request

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

Response

[
  {
    "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=***",
      "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 Akışla Aktar

Bu uç nokta, Server-Sent Events (SSE) kullanarak bir basılabilirliği onarma görevi için gerçek zamanlı güncellemeleri akışla aktarır.

Parametreler

  • Name
    id
    Type
    path
    Description

    Akışla aktarılacak basılabilirliği onarma görevinin benzersiz tanımlayıcısı.

Döndürür

Basılabilirliği onar Görev Nesneleri akışını Server-Sent Events olarak döndürür.

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

Request

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

Response Stream

// 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=***",
    "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ı. Uygulama detayı olarak görev id'leri için k-sıralanabilir bir UUID kullansak da, id biçimi 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 şeklindedir.

  • Name
    status
    Type
    string
    Description

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

  • Name
    progress
    Type
    integer
    Description

    Görevin progress değeri. Görev henüz başlamadıysa bu özellik 0 olur. Görev başarıyla tamamlandığında bu değer 100 olur.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Önceki görevlerin sayısı.

  • Name
    created_at
    Type
    timestamp
    Description

    Görevin ne zaman oluşturulduğunun zaman damgası, milisaniye cinsinden.

  • Name
    started_at
    Type
    timestamp
    Description

    Görevin ne zaman başlatıldığının zaman damgası, milisaniye cinsinden. Görev henüz başlamadıysa bu özellik 0 olur.

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • Name
    expires_at
    Type
    timestamp
    Description

    Görev sonucunun sistemden ne zaman sona ereceğinin zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa 0.

  • 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

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

  • Name
    model_urls
    Type
    object
    Description

    Onarılmış 3D modele indirilebilir URL'ler. Yalnızca girdi biçimiyle eşleşen alan doldurulur; diğer biçim alanları boş dizelerdir.

    • Name
      glb
      Type
      string
      Description

      Onarılmış GLB için indirilebilir URL. Girdi bir GLB olduğunda veya input_task_id kullanıldığında doldurulur.

    • Name
      fbx
      Type
      string
      Description

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

    • Name
      obj
      Type
      string
      Description

      Onarılmış OBJ için indirilebilir URL. Girdi bir OBJ yüklemesi olduğunda doldurulur.

    • Name
      stl
      Type
      string
      Description

      Onarılmış STL için indirilebilir URL. Girdi 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ş dizedir.

    • 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ş dizedir.

    • 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ş dizedir.

  • Name
    thumbnail_url
    Type
    string
    Description

    Onarılmış modelden işlenen bir önizleme görselinin URL'si.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    thumbnail_url değerinin saydam arka planlı (RGBA) bir sürümüne indirilebilir URL. Yalnızca görev alpha_thumbnail: true ile oluşturulduğunda ve saydam önizleme başarıyla işlendiğinde bulunur; aksi takdirde bu alan atlanır.

  • Name
    texture_urls
    Type
    array
    Description

    Her zaman boş bir dizi. Onarım yalnızca girdi geometrisini korur ve dokuları yeniden bake etmez.

  • Name
    consumed_credits
    Type
    integer
    Description

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

The Repair Printability Task Object

{
  "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=***",
    "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
}