Çok Renkli Baskı API'si

3D modelleri, en fazla 16 renkten oluşan yapılandırılabilir bir renk paleti ile 3D baskı için çok renkli 3MF formatına dönüştürün.


POST/openapi/v1/print/multi-color

Çok Renkli 3D Baskı Görevi Oluşturma

Bu uç nokta, yeni bir çok renkli 3D baskı görevi oluşturur. Görev, bir 3D modeli 3D baskı için uygun çok renkli bir 3MF dosyasına dönüştürür.

Parametreler

  • Name
    model_url
    Type
    string
    Zorunlu
    Description

    Bir 3D modelin herkese açık erişilebilir URL'si veya Data URI'si. Şu anda .glb ve .fbx formatlarını destekliyoruz.

  • Name
    max_colors
    Type
    integer
    varsayılan 4
    Description

    Çıktı paletindeki maksimum renk sayısı.

    Geçerli aralık: 1 ile 16 arası.

  • Name
    style
    Type
    string
    varsayılan realistic
    Description

    Oluşturulan 3MF dosyasının görsel renk stili.

    Kullanılabilir değerler:

    • realistic: İnce, fotoğraf gerçekçiliğinde detay için renkleri doğrudan modelin dokusundan örnekler. Daha büyük bir dosya üretir.
    • cartoon: Stilize bir görünüm için renkleri temiz, tek tip bölgelere düzleştirir. Daha küçük bir dosya üretir.

    Girdi renk taşımalıdır: realistic, her ağ parçasında UV koordinatlarına sahip tek bir temel renk dokusu gerektirir; cartoon ise köşe başına renkleri de kabul eder. Dokusuz (beyaz) modeller reddedilir — bkz. model_missing_texture.

Dönüş Değerleri

Yanıtın result özelliği, yeni oluşturulan 3D baskı görevinin id'sini içerir.

Hata Modları

  • Name
    400 - Bad Request
    Description

    İstek kabul edilemedi. Yaygın nedenler:

    • Eksik parametre: model_url veya input_task_id'den biri sağlanmalıdır.
    • Geçersiz model formatı: model_url, desteklenmeyen bir uzantıya sahip bir dosyayı işaret ediyor (yalnızca .glb ve .fbx desteklenir).
    • Erişilemeyen URL: model_url indirilemedi.
    • Geçersiz girdi görevi: input_task_id, başarılı bir görevi işaret etmelidir.
    • Geçersiz max_colors: Değer 1 ile 16 arasında olmalıdır.
    • Geçersiz style: Değer realistic veya cartoon olmalıdır.
    • Renk kaynağı yok: Girdi modelinde temel renk dokusu yok (realistic, her ağ parçasında UV'li tek bir doku gerektirir) ve köşe renkleri de yok (cartoon her ikisini de kabul eder). Önce modele doku uygulayın veya köşe renkli modeller için cartoon kullanın. .fbx yüklemeleri, görev bunları normalleştirdikten sonra kontrol edilir ve bunun yerine model_missing_texture ile başarısız olur.
  • 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

    Bu görevi gerçekleştirmek için yetersiz kredi.

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/print/multi-color
# Convert a 3D model to multi-color 3MF for printing
curl https://api.meshy.ai/openapi/v1/print/multi-color \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "max_colors": 8
  }'

Response

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

GET/openapi/v1/print/multi-color/:id

Çok Renkli 3D Baskı Görevini Getir

Bu uç nokta, kimliğine göre bir çok renkli 3D baskı görevini getirir.

Parametreler

  • Name
    id
    Type
    path
    Description

    Getirilecek 3D baskı görevinin kimliği.

Dönüş Değerleri

3D Baskı Görevi nesnesi.

Request

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

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}

DELETE/openapi/v1/print/multi-color/:id

Çok Renkli 3D Baskı Görevi Sil

Bu uç nokta, ilişkili tüm modeller ve veriler dahil olmak üzere çok renkli bir 3D baskı görevini kalıcı olarak siler. Bu işlem geri alınamaz.

Yol Parametreleri

  • Name
    id
    Type
    path
    Description

    Silinecek çok renkli 3D baskı 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 krediyi hem de sonucu kaybetmenize neden olur. SUCCEEDED, FAILED veya CANCELED durumuna ulaşmasını bekleyin, ardından silin.

Sonlanmış bir durumdaki (SUCCEEDED, FAILED veya CANCELED) görev, iade yapılmadan silinir.

Dönüş Değerleri

Başarılı olduğunda 200 OK, görev IN_PROGRESS durumundayken ise 409 Conflict döner.

Request

DELETE
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/multi-color/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/print/multi-color

Çok Renkli 3D Baskı Görevlerini Listele

Bu uç nokta, çok renkli 3D baskı 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 değeri 1'dir.

  • Name
    page_size
    Type
    integer
    Description

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

Döndürülenler

3D Baskı Görevi Nesnelerinin sayfalanmış bir listesini döndürür.

Request

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

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-multi-color",
    "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null,
  "consumed_credits": 10
  }
]

GET/openapi/v1/print/multi-color/:id/stream

Bir Çok Renkli 3D Baskı Görevini Yayınla

Bu uç nokta, Server-Sent Events (SSE) kullanarak bir çok renkli 3D baskı görevi için gerçek zamanlı güncellemeleri yayınlar.

Parametreler

  • Name
    id
    Type
    path
    Description

    Yayınlanacak çok renkli 3D baskı görevi için benzersiz tanımlayıcı.

Dönüş Değerleri

Server-Sent Events olarak 3D Baskı 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/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/multi-color/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-multi-color",
  "model_urls": {
    "3mf": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.3mf?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}

3D Yazdırma Görevi Nesnesi

  • Name
    id
    Type
    string
    Description

    Görev için benzersiz tanımlayıcı. Görev kimlikleri için uygulama detayı olarak k-sıralanabilir bir UUID kullansak da, kimliğin biçimi hakkında herhangi bir varsayımda bulunmamalısınız.

  • Name
    type
    Type
    string
    Description

    3D Yazdırma görevinin türü. Değer print-multi-color'dır.

  • Name
    model_urls
    Type
    object
    Description

    Meshy tarafından oluşturulan 3D model dosyasına indirilebilir URL. Bir biçim oluşturulmamışsa, ilgili özellik boş bir dize döndürmek yerine atlanır.

    • Name
      3mf
      Type
      string
      Description

      Çok renkli 3MF dosyasına indirilebilir URL.

  • Name
    progress
    Type
    integer
    Description

    Görevin progress'i. Görev henüz başlamadıysa, bu özellik 0 olacaktır. Görev başarılı olduğunda bu değer 100 olacaktır.

  • Name
    status
    Type
    string
    Description

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

  • Name
    preceding_tasks
    Type
    integer
    Description

    Önceki görevlerin sayısı.

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

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

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • Name
    task_error
    Type
    object
    Description

    Başarısız görevler için hata detayları. Tam task_error nesne referansı için Hatalar bölümüne bakın.

  • Name
    consumed_credits
    Type
    integer
    Description

    Bu görev tarafından tüketilen kredi sayısı. Görev durumu PENDING, IN_PROGRESS veya SUCCEEDED olduğunda mevcuttur. FAILED görevler için 0 döner (kredi başarısızlık durumunda iade edilir).

The 3D Print Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}