Yeniden Ağ API'si
Yeniden Ağ API'si, diğer Meshy API'leri (Görselden 3D'ye veya Metinden 3D'ye gibi) tarafından oluşturulmuş mevcut 3D modelleri yeniden ağ oluşturmanıza ve çeşitli formatlara aktarmanıza olanak tanır. Bu bölüm, Yeniden Ağ API'sini nasıl kullanacağınıza dair ayrıntılar sunar.
Remesh Görevi Oluşturma
Bu uç nokta yeni bir remesh görevi oluşturur.
Biçim dönüştürme ve yeniden boyutlandırma için özel Convert API ve Resize API uç noktalarını kullanın. Aşağıdaki kullanımdan kaldırılmış parametreler çalışmaya devam edecek, ancak yeni entegrasyonlar için yeni uç noktaları öneriyoruz.
Parametreler
input_task_id veya model_url parametrelerinden yalnızca biri gereklidir. Her ikisi de sağlanırsa, input_task_id önceliklidir.
- Name
- input_task_id
- Type
- string
- Zorunlu
- Description
Yeniden ağlamak istediğiniz tamamlanmış Görselden 3D'ye veya Metinden 3D'ye görevinin ID'si. Bu görev şunlardan biri olmalıdır: Metinden 3D'ye Preview, Metinden 3D'ye Refine, Görselden 3D'ye veya Yeniden dokulama. Ayrıca, durumu
SUCCEEDEDolmalıdır.
- Name
- model_url
- Type
- string
- Zorunlu
- Description
Lütfen Meshy'nin yeniden ağlaması için herkese açık bir URL veya data URI aracılığıyla bir 3D model sağlayın. Desteklenen biçimler:
.glb,.gltf,.obj,.fbx,.stl.Data URI'ler için MIME type olarak şunu kullanın:
application/octet-stream.
- Name
- target_formats
- Type
- string[]
- varsayılan ["glb"]
- Description
Yeniden ağlanan model için hedef biçimlerin listesi. Belirtilmezse yalnızca GLB oluşturulur.
Kullanılabilir değerler:
glb,fbx,obj,usdz,blend,stl,3mf.
- Name
- topology
- Type
- string
- varsayılan triangle
- Description
Oluşturulan modelin topology'sini belirtin.
Kullanılabilir değerler:
quad: Quad ağırlıklı bir ağ oluşturur.triangle: Sadeleştirilmiş bir üçgen ağ oluşturur.
- Name
- target_polycount
- Type
- integer
- varsayılan 30,000
- Description
Oluşturulan modeldeki hedef poligon sayısını belirtin. Gerçek poligon sayısı, geometrinin karmaşıklığına bağlı olarak hedeften sapabilir.
Geçerli değer aralığı kullanıcı katmanına göre değişir:
- 100 ile 300.000 arası (dahil)
- Name
- decimation_mode
- Type
- integer
- Description
Bir poligon sayısı seviyesi belirleyerek adaptif sadeleştirmeyi etkinleştirin. Bu ayarlandığında
target_polycountyok sayılır.Kullanılabilir değerler:
1: Adaptif — ultra poligon sayısı.2: Adaptif — yüksek poligon sayısı.3: Adaptif — orta poligon sayısı.4: Adaptif — düşük poligon sayısı.
- Name
- resize_height
- Type
- number
- ⚠ kullanımdan kaldırıldı
- varsayılan 0
- Description
Modeli metre cinsinden belirli bir yüksekliğe yeniden boyutlandırın. Bunun yerine özel Resize API kullanmanızı öneririz.
auto_size,resize_heightveresize_longest_sidebirbirini dışlar.
- Name
- resize_longest_side
- Type
- number
- ⚠ kullanımdan kaldırıldı
- varsayılan 0
- Description
Modeli, sınırlayıcı kutunun en uzun boyutu belirtilen değere (metre cinsinden) eşit olacak şekilde yeniden boyutlandırın. Bunun yerine özel Resize API kullanmanızı öneririz.
auto_size,resize_heightveresize_longest_sidebirbirini dışlar.
- Name
- auto_size
- Type
- boolean
- ⚠ kullanımdan kaldırıldı
- varsayılan false
- Description
trueolarak ayarlandığında, servis nesnenin gerçek dünyadaki yüksekliğini otomatik olarak tahmin etmek ve modeli buna göre yeniden boyutlandırmak için yapay zeka görüşünü kullanır. Bunun yerine özel Resize API kullanmanızı öneririz.auto_size,resize_heightveresize_longest_sidebirbirini dışlar.
auto_size = true- Name
- origin_at
- Type
- string
- ⚠ kullanımdan kaldırıldı
- varsayılan bottom
- Description
Orijinin konumu. Bunun yerine özel Resize API kullanmanızı öneririz.
Kullanılabilir değerler:
bottom,center.
- Name
- convert_format_only
- Type
- boolean
- ⚠ kullanımdan kaldırıldı
- Description
trueolarak ayarlandığında, servis yalnızca girdi model dosyasının biçimini değiştirir;topology,resize_heightvetarget_polycountgibi diğer girdileri yok sayar. Bunun yerine özel Convert API kullanmanızı öneririz.convert_format_onlytrueolarak ayarlanırsatarget_formatssağlanmalıdır.
- Name
- alpha_thumbnail
- Type
- boolean
- varsayılan false
- Description
trueolarak ayarlandığında, görev önizlemenin ayrıca şeffaf arka planlı (RGBA) bir sürümünü render eder ve bunu GET yanıtındaalpha_thumbnail_urlolarak döndürür. Mevcutthumbnail_urlalanı değişmeden kalır.
Dönüş Değerleri
Yanıtın result özelliği, yeni oluşturulan remesh görevinin id'sini içerir.
Hata Modları
- Name
400 - Bad Request- Description
İstek kabul edilemedi. Yaygın nedenler:
- Eksik parametre:
model_urlveyainput_task_id'den biri sağlanmalıdır. - Geçersiz girdi görevi:
input_task_id, desteklenen bir modelden başarılı bir göreve işaret etmelidir. - Geçersiz model biçimi:
model_url, desteklenmeyen bir uzantıya sahip bir dosyayı gösteriyor. - Erişilemeyen URL:
model_urlindirilemedi. - Geçersiz topology:
topologyparametresi geçersiz. - Birbirini dışlayan parametreler:
auto_sizeveresize_heightaynı anda ayarlanamaz.
- Eksik parametre:
- 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 yeterli kredi yok.
- Name
429 - Too Many Requests- Description
Hız sınırınızı aştınız.
Request
# 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"
}
Bir Yeniden Ağ Görevini Getir
Bu uç nokta, kimliğine göre bir yeniden ağ görevini getirir.
Parametreler
- Name
- id
- Type
- path
- Description
Getirilecek yeniden ağ görevinin kimliği.
Dönüş Değerleri
Yeniden Ağ Görevi nesnesi.
Request
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,
}
Bir Yeniden Ağ Görevini Sil
Bu uç nokta, ilişkili tüm modeller ve veriler dahil olmak üzere bir yeniden ağ görevini kalıcı olarak siler. Bu işlem geri alınamaz.
Yol Parametreleri
- Name
- id
- Type
- path
- Description
Silinecek yeniden ağ görevinin kimliği.
Dönüş Değerleri
Başarılı olduğunda 200 OK döndürür.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Yeniden Ağ Görevlerini Listele
Bu uç nokta, Yeniden ağ 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
50öğ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ıralar.-created_at: Oluşturulma zamanına göre azalan sırada sıralar.
Döndürülenler
Yeniden Ağ Görevi Nesneleri'nin sayfalanmış bir listesini döndürür.
Request
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
}
]
Bir Yeniden Ağ Görevini Akışa Alma
Bu uç nokta, bir Yeniden Ağ görevi için gerçek zamanlı güncellemeleri Server-Sent Events (SSE) kullanarak akışa alır.
Parametreler
- Name
- id
- Type
- path
- Description
Akışa alınacak Yeniden Ağ görevi için benzersiz tanımlayıcı.
Dönüş Değerleri
Yeniden Ağ Görevi Nesnelerinin Server-Sent Events olarak bir akışını 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
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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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,
}
Yeniden Ağ Görevi Nesnesi
Yeniden Ağ Görevi nesnesi, Meshy'nin mevcut bir 3D modeli yeniden ağ yapısına oturtmak ve çeşitli formatlara aktarmak için kullandığı bir iş birimini temsil eder. Nesne aşağıdaki özelliklere sahiptir:
Özellikler
- Name
- id
- Type
- string
- Description
Görev için benzersiz tanımlayıcı. Uygulama detayı olarak görev kimlikleri için k-sıralanabilir bir UUID kullansak da, kimliğin formatı hakkında herhangi bir varsayımda bulunmamalısınız.
- Name
- type
- Type
- string
- Description
Yeniden Ağ görevinin türü. Değer
remesholur.
- Name
- model_urls
- Type
- object
- Description
Meshy tarafından oluşturulan dokulu 3D model dosyasına indirilebilir URL. Bir format oluşturulmadıysa, ilgili format için özellik boş bir dize döndürmek yerine tamamen atlanır.
- Name
glb- Type
- string
- Description
GLB dosyasına indirilebilir URL.
- Name
fbx- Type
- string
- Description
FBX dosyasına indirilebilir URL.
- Name
obj- Type
- string
- Description
OBJ dosyasına indirilebilir URL.
- Name
usdz- Type
- string
- Description
USDZ dosyasına indirilebilir URL.
- Name
blend- Type
- string
- Description
Blender dosyasına indirilebilir URL.
- Name
stl- Type
- string
- Description
STL dosyasına indirilebilir URL.
- Name
3mf- Type
- string
- Description
3MF dosyasına indirilebilir URL. Yalnızca
target_formatsüzerinden3mftalep edildiğinde mevcuttur.
- Name
- thumbnail_url
- Type
- string
- Description
Yeniden ağ yapısına oturtulmuş modelden işlenen bir önizleme görüntüsüne indirilebilir URL.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
thumbnail_urldeğerinin şeffaf arka planlı (RGBA) sürümüne indirilebilir URL. Yalnızca görevalpha_thumbnail: trueile oluşturulduğunda ve şeffaf önizleme başarıyla oluşturulduğunda mevcuttur; aksi takdirde bu alan atlanır.
- Name
- progress
- Type
- integer
- Description
Görevin ilerleme durumu. Görev henüz başlamadıysa, bu özellik
0olur. Görev başarılı olduğunda ise bu değer100olur.
- Name
- status
- Type
- string
- Description
Görevin durumu. Olası değerler
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDdeğerlerinden biridir.
- Name
- preceding_tasks
- Type
- integer
- Description
Önceki görevlerin sayısı.
Bu alanın değeri yalnızca görev durumu
PENDINGolduğunda anlamlıdır.
- Name
- created_at
- Type
- timestamp
- Description
Görevin oluşturulduğu zaman damgası, milisaniye cinsinden.
- Name
- started_at
- Type
- timestamp
- Description
Görevin başladığı zaman damgası, milisaniye cinsinden. Görev henüz başlamadıysa, bu özellik
0olur.
- Name
- finished_at
- Type
- timestamp
- Description
Görevin tamamlandığı zaman damgası, milisaniye cinsinden. Görev henüz tamamlanmadıysa, bu özellik
0olur.
- Name
- task_error
- Type
- object
- Description
Başarısız görevler için hata ayrıntıları. Tam
task_errornesnesi referansı için Hatalar sayfasına bakın.
- Name
- consumed_credits
- Type
- integer
- Description
Bu görev tarafından tüketilen kredi sayısı. Görev durumu
PENDING,IN_PROGRESSveyaSUCCEEDEDolduğunda mevcuttur.FAILEDgörevler için0döner (başarısızlık durumunda kredi iadesi yapılır).
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
}