lowpoly 30 Eki 2026 tarihinde kaldırılıyor. İstek hatalarını önlemek için bu tarihlerden önce model değiştirin. Tüm kullanımdan kaldırmaları görün

Yeniden ağ API'si

Bir 3D modelin ağını yeni bir topology ve yüz sayısıyla yeniden oluşturun ve seçtiğiniz formatlarda dışa aktarın. Model, Görselden 3D'ye veya Metinden 3D'ye gibi başka bir Meshy görevinden veya bir model dosyasından gelebilir.


POST/openapi/v1/remesh

Remesh görevi oluştur

Bir Remesh görevi oluşturur. Görev arka planda çalışır. Bir görevin genellikle ne kadar sürdüğü için bkz. İşlem süreleri.

Request

POST
/openapi/v1/remesh
# Basic remesh with custom formats and resize
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "resize_height": 1.0,
    "origin_at": "bottom"
  }'

# Quad remesh with auto-size
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "auto_size": true
  }'

Response

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

Parametreler

  • Name
    input_task_id
    Type
    string
    Zorunlu
    Description

    model_url göndermediğiniz sürece zorunludur. Yeniden ağ oluşturmak istediğiniz modele sahip görevin ID'si; örneğin bir Metinden 3D'ye, Görselden 3D'ye, Yeniden dokulama veya Remesh görevi. Görev, API ile oluşturduğunuz ve durumu SUCCEEDED olan bir görev olmalıdır.

  • Name
    model_url
    Type
    string
    Zorunlu
    Description

    input_task_id göndermediğiniz sürece zorunludur. Yeniden ağ oluşturulacak model; genel bir URL veya bir data URI olarak. Her ikisini de gönderirseniz, Meshy input_task_id'yi kullanır.

    Model, bir http veya https URL'sinden en fazla 400 MB, ya da data URI olarak en fazla 100 MB boyutunda bir GLB, glTF, OBJ, FBX veya STL dosyası olmalıdır. Data URI için application/octet-stream MIME type'ını kullanın.

    100 MB'ı aşan bir dosya ayrıca şu kurallara uymalıdır:

    • Bir GLB, glTF, FBX veya OBJ dosyası en fazla 10.000.000 yüze sahip olabilir. Meshy yüzleri üçgen olarak sayar, bu nedenle bir dörtgen 2 olarak sayılır ve birden fazla kez çizilen bir ağ, her kopya için bir kez sayılır.
    • Bir FBX dosyası, ikili (binary) FBX 7.1 veya daha yenisi olmalıdır.
    • Bir GLB veya glTF dosyası Draco sıkıştırması kullanmamalıdır.
  • Name
    target_formats
    Type
    string[]
    varsayılan ["glb"]
    Description

    Oluşturulacak dosya formatları.

    Kullanılabilir değerler:

    • glb
    • fbx
    • obj
    • usdz
    • blend
    • stl
    • 3mf
  • Name
    topology
    Type
    string
    varsayılan triangle
    Description

    Yeniden ağ oluşturulan modelin yüz türü.

    Kullanılabilir değerler:

    • quad: dörtgen ağırlıklı bir ağ
    • triangle: küçültülmüş (decimated) bir üçgen ağ
  • Name
    target_polycount
    Type
    integer
    varsayılan 30000
    Description

    Hedeflenen yüz sayısı, 100 ile 300000 arasında. Sonuç, modelin geometrisine bağlı olarak hedeften farklı olabilir. Aralık dışındaki bir değer 400 döndürür.

  • Name
    decimation_mode
    Type
    integer
    Description

    Seviyeye göre uyarlanabilir yüz sayısı. Bunu ayarladığınızda Meshy target_polycount'u yok sayar.

    Kullanılabilir değerler:

    • 1: ultra
    • 2: yüksek
    • 3: orta
    • 4: düşük
  • Name
    resize_height
    Type
    number
    ⚠ kullanımdan kaldırıldı
    varsayılan 0
    Description

    Bunun yerine Resize API kullanın. Modelin yeniden boyutlandırılacağı yükseklik, metre cinsinden. resize_height, resize_longest_side ve auto_size'dan en fazla birini gönderin.

  • Name
    resize_longest_side
    Type
    number
    ⚠ kullanımdan kaldırıldı
    varsayılan 0
    Description

    Bunun yerine Resize API kullanın. Modelin sınırlayıcı kutusunun en uzun kenarının yeniden boyutlandırılacağı uzunluk, metre cinsinden. resize_height, resize_longest_side ve auto_size'dan en fazla birini gönderin.

  • Name
    auto_size
    Type
    boolean
    ⚠ kullanımdan kaldırıldı
    varsayılan false
    Description

    Bunun yerine Resize API kullanın. Nesnenin gerçek dünyadaki yüksekliğinin AI görüşüyle tahmin edilip modelin buna göre yeniden boyutlandırılıp boyutlandırılmayacağı. resize_height, resize_longest_side ve auto_size'dan en fazla birini gönderin.

  • Name
    origin_at
    Type
    string
    ⚠ kullanımdan kaldırıldı
    varsayılan bottom
    Description

    Bunun yerine Resize API kullanın. Modelin orijininin nereye konulacağı, bottom veya center. Varsayılan değer, resize_height, resize_longest_side veya auto_size gönderdiğinizde uygulanır. Bunlardan biri olmadan, Meshy orijini yalnızca origin_at gönderirseniz taşır.

  • Name
    convert_format_only
    Type
    boolean
    ⚠ kullanımdan kaldırıldı
    Description

    Bunun yerine Convert API kullanın. Modelin yalnızca target_formats'a dönüştürülüp dönüştürülmeyeceği. true olduğunda Meshy topology, target_polycount, decimation_mode, resize_height, resize_longest_side ve auto_size'ı yok sayar, ancak yine de değerlerini kontrol eder, bu nedenle geçersiz bir değer 400 döndürür. convert_format_only: true ile boş veya null bir target_formats değeri 400 döndürür.

  • Name
    alpha_thumbnail
    Type
    boolean
    varsayılan false
    Description

    Görevi aldığınızda alpha_thumbnail_url içinde döndürülen, şeffaf arka planlı (RGBA) bir önizlemenin de oluşturulup oluşturulmayacağı. thumbnail_url değişmez.

Dönüş değerleri

Yanıtın result alanı, yeni Remesh görevinin ID'sini tutar.

Hata modları

  • Name
    400 - Bad Request
    Description

    İstek çalıştırılamıyor. Hata mesajı hangi sorunu bulduğunu belirtir. Örneğin:

    • Eksik parametre: Ne model_url ne de input_task_id gönderildi.
    • Geçersiz giriş görevi: input_task_id başarılı bir API görevi değil veya AI modeli yeniden ağ oluşturmayı desteklemiyor.
    • Geçersiz model formatı: model_url dosyasının desteklenmeyen bir uzantısı var.
    • Erişilemeyen URL: Meshy model_url dosyasını indiremiyor.
    • Model dosyası çok büyük: model_url dosyası, bir http veya https URL'sinden 400 MB'ın üzerinde, ya da data URI olarak 100 MB'ın üzerinde.
    • Çok fazla yüz: model_url dosyası 100 MB'ın üzerinde ve 10.000.000'dan fazla yüze sahip. Yüz sayısını azaltın, sonra dosyayı tekrar gönderin.
    • 100 MB üzeri ASCII FBX: model_url dosyası 100 MB'ın üzerinde bir ASCII FBX. Bunu ikili (binary) FBX veya GLB olarak gönderin.
    • Okunamayan model dosyası: model_url dosyası 100 MB'ın üzerinde ve Meshy başlığını okuyamıyor. Örneğin, Draco sıkıştırmalı bir GLB veya glTF, ya da 7.1'den eski bir ikili FBX.
    • Model başlığı çok karmaşık: model_url dosyası 100 MB'ın üzerinde ve başlığında kontrol edilecek çok fazla ağ, düğüm veya kayıt var. Dosyadaki nesne sayısını azaltın, sonra tekrar gönderin.
    • Geçersiz topology: topology, quad veya triangle değil.
    • Birbirini dışlayan parametreler: İstekte auto_size, resize_height ve resize_longest_side'dan birden fazlası var. Yalnızca birini gönderin.

    İsteği düzeltin, sonra tekrar gönderin. Bkz. Hatalar.

  • Name
    401 - Unauthorized
    Description

    API anahtarı eksik veya geçersiz. Authorization başlığını kontrol edin.

  • Name
    402 - Payment Required
    Description

    Örneğin:

    • Yetersiz kredi: Hesapta bu görev için yeterli kredi yok, veya hesap bir kredi sınırına ulaştı. Kredi bakiyenizi kontrol edin, sonra tekrar deneyin.
    • Ücretsiz plan: Görev oluşturmak ücretli bir plan gerektirir. abonelik ayarlarınızdan planınızı yükseltin, sonra tekrar deneyin.
  • Name
    403 - Forbidden
    Description

    input_task_id, bu uç noktanın yeniden ağ oluşturamadığı bir kabartma (bas-relief) modeli. Mesaj This model type does not support this operation şeklindedir. Farklı bir model gönderin.

  • Name
    404 - Not Found
    Description

    input_task_id, görevlerinizden hiçbiriyle eşleşmiyor. Görev ID'sini kontrol edin, sonra isteği tekrar gönderin.

  • Name
    429 - Too Many Requests
    Description

    Hız sınırınızı aştınız. Bekleyin, sonra tekrar deneyin. Bkz. Hız sınırları.


GET/openapi/v1/remesh/:id

Bir Yeniden ağ görevi alın

Kimliğine göre bir Yeniden ağ görevi döndürür.

Request

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

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null
}

Parametreler

  • Name
    id
    Type
    path
    Description

    Oluşturma yanıtından alınan görev kimliği.

Döndürülenler

Yeniden ağ görevi nesnesi.


DELETE/openapi/v1/remesh/:id

Bir Yeniden ağ görevini sil

Bir Yeniden ağ görevini, modelleri ve verileri dahil olmak üzere kalıcı olarak siler. Bir silme işlemini geri alamazsınız.

Request

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

Yol parametreleri

  • Name
    id
    Type
    path
    Description

    Silinecek görevin kimliği.

Görev durumu

PENDING durumundaki bir görevi silmek, oluşturduğunuzda kullanılan kredileri iade eder.

IN_PROGRESS durumundaki bir görev silinemez. İstek 409 Conflict döndürür ve görev çalışmaya devam eder. Meshy, başlamış olan bir görev için iade yapmaz, bu yüzden onu silmek size hem kredileri hem de sonucu kaybettirir. Görevin SUCCEEDED, FAILED veya CANCELED durumuna ulaşmasını bekleyin, ardından silin.

Son bir durumdaki (SUCCEEDED, FAILED veya CANCELED) bir görevi silmek kredilerini iade etmez.

Döndürülenler

Görev silindiğinde 200 OK, görev IN_PROGRESS durumundayken 409 Conflict döner.


GET/openapi/v1/remesh

Yeniden ağ görevlerini listele

Yeniden ağ görevlerinizin bir listesini döndürür.

Request

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

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "remesh",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null
  }
]

Parametreler

  • Name
    page_num
    Type
    integer
    varsayılan 1
    Description

    Döndürülecek sayfa numarası, en fazla 255. Daha büyük bir değer 400 döndürür.

  • Name
    page_size
    Type
    integer
    varsayılan 10
    Description

    Sayfa başına görev sayısı, en fazla 100.

  • Name
    sort_by
    Type
    string
    Description

    Sıralama düzeni.

    Kullanılabilir değerler:

    • +created_at: en eskiden en yeniye
    • -created_at: en yeniden en eskiye

Döndürülenler

Yeniden ağ görev nesnelerinin sayfalanmış bir listesi.


GET/openapi/v1/remesh/:id/stream

Bir Yeniden ağ görevini akış olarak alma

Bir Yeniden ağ görevinin güncellemelerini Server-Sent Events (SSE) olarak akış halinde sunar.

Request

GET
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/remesh/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.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
    "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
}

Parametreler

  • Name
    id
    Type
    path
    Description

    Oluşturma yanıtından alınan görev ID'si.

Dönüş Değerleri

Server-Sent Events olarak Yeniden ağ görevi nesnelerinin bir akışı.

Her etkinlik, Get uç noktasının döndürdüğü ile aynı biçimde tam görev nesnesini taşır. Görev PENDING veya IN_PROGRESS durumundayken, sonuç alanlarının henüz değerleri yoktur.


Yeniden ağ görev nesnesi

Bir Yeniden ağ görev nesnesi, bir 3D modelin tek bir yeniden ağ işlemini tanımlar. Durumu, ilerlemeyi ve görev başarılı olduğunda model dosyalarını tutar.

Özellikler

Example Remesh Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 5
}
  • Name
    id
    Type
    string
    Description

    Görev kimliği. Bunu anlamsız bir dize olarak değerlendirin ve biçimine güvenmeyin.

  • Name
    type
    Type
    string
    Description

    Görev türü, her zaman remesh.

  • Name
    model_urls
    Type
    object
    Description

    Yeniden ağı oluşturulmuş model için indirme URL'leri, her dosya biçimi için bir tane. Görevin oluşturmadığı bir biçimin, boş bir dize yerine hiç anahtarı yoktur.

    • Name
      glb
      Type
      string
      Description

      GLB dosyası.

    • Name
      fbx
      Type
      string
      Description

      FBX dosyası.

    • Name
      obj
      Type
      string
      Description

      OBJ dosyası.

    • Name
      usdz
      Type
      string
      Description

      USDZ dosyası.

    • Name
      blend
      Type
      string
      Description

      Blender dosyası.

    • Name
      stl
      Type
      string
      Description

      STL dosyası.

    • Name
      3mf
      Type
      string
      Description

      3MF dosyası. Yalnızca target_formats içinde 3mf bulunduğunda mevcuttur.

  • Name
    thumbnail_url
    Type
    string
    Description

    Yeniden ağı oluşturulmuş modelin önizleme görseli için indirme URL'si.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    thumbnail_url adresinin saydam arka planlı (RGBA) bir sürümü için indirme URL'si. Yalnızca görevi alpha_thumbnail: true ile oluşturduğunuzda ve Meshy saydam önizlemeyi render ettiğinde mevcuttur.

  • Name
    progress
    Type
    integer
    Description

    Görevin ne kadarının tamamlandığı, yüzde olarak. Görev başlayana kadar 0, başarılı olduğunda 100 değerindedir.

  • Name
    status
    Type
    string
    Description

    Görev durumu, PENDING, IN_PROGRESS, SUCCEEDED, FAILED veya CANCELED değerlerinden biri.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Kuyrukta bu görevden önce gelen görev sayısı. Bu değer yalnızca görev PENDING durumundayken anlamlıdır.

  • Name
    created_at
    Type
    timestamp
    Description

    Görevin oluşturulduğu zaman, Unix milisaniye cinsinden.

  • Name
    started_at
    Type
    timestamp
    Description

    Görevin başladığı zaman, Unix milisaniye cinsinden. Görev başlayana kadar 0 değerindedir.

  • Name
    finished_at
    Type
    timestamp
    Description

    Görevin bittiği zaman, Unix milisaniye cinsinden. Görev bitene kadar 0 değerindedir.

  • Name
    expires_at
    Type
    timestamp
    Description

    Görevin indirme URL'lerinin süresinin dolduğu zaman, Unix milisaniye cinsinden. Görev bitene kadar 0 değerindedir.

  • Name
    texture_urls
    Type
    array
    Description

    Görev başarılı olduğunda, modelin doku haritaları için indirme URL'leri: her doku seti için bir tane olmak üzere nesnelerden oluşan bir dizi. Her nesnede bir base_color URL'si bulunur ve ayrıca metallic, roughness, normal, emission ve metallic_roughness URL'leri de bulunabilir. Görev başarılı olana kadar null değerindedir ve modelin doku haritası yoksa boş bir dizidir.

  • Name
    task_error
    Type
    object
    Description

    Görev başarısız olduğunda hata ayrıntıları. Bkz. Hatalar.

  • Name
    consumed_credits
    Type
    integer
    Description

    Görevin kullandığı kredi sayısı. Durum PENDING, IN_PROGRESS veya SUCCEEDED olduğunda mevcuttur. FAILED bir görev için 0 değerindedir, çünkü Meshy bir görev başarısız olduğunda kredileri iade eder.