API Rigging
Tambah rangka (rangka) pada model 3D humanoid dan ikat jejaring kepadanya, supaya watak sedia untuk dianimasikan. Untuk menggunakan animasi pada watak yang telah dirig, lihat API Animasi.
Rigging hanya berfungsi dengan baik untuk watak humanoid (berkaki dua) piawai yang mempunyai struktur anggota badan dan tubuh yang jelas.
Cipta tugas Rigging
Mencipta tugas Rigging untuk model 3D. Apabila tugas berjaya, ia mengembalikan watak yang telah di-rig dalam format standard dan, secara pilihan, animasi berjalan dan berlari asas.
Tugas ini berjalan di latar belakang. Untuk tempoh biasa bagi sesuatu tugas, lihat Masa pemprosesan.
Rigging tidak sesuai untuk model-model berikut:
- Jejaring tanpa tekstur
- Aset bukan humanoid
- Aset humanoid dengan struktur anggota badan dan tubuh yang tidak jelas
Request
# Rig a model from a URL
curl https://api.meshy.ai/openapi/v1/rigging \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "YOUR_MODEL_URL_OR_DATA_URI",
"height_meters": 1.8
}'
Response
{
"result": "018b314a-a1b5-716d-c222-2f1776f7f579"
}
Parameter
- Name
- input_task_id
- Type
- string
- Diperlukan
- Description
Diperlukan kecuali anda menghantar
model_url. ID bagi tugas yang modelnya ingin anda rig. Meshy menyokong model humanoid bertekstur.Model boleh mempunyai paling banyak 380,000 segi tiga (satu quad dikira sebagai 2), dan model dengan lebih daripada itu mengembalikan
400. Untuk kekal di bawah had tersebut, jalankan API Remesh ke atasnya terlebih dahulu dengantarget_polycountsebanyak300000atau kurang, atau150000atau kurang dengantopology: quad.
- Name
- model_url
- Type
- string
- Diperlukan
- Description
Diperlukan kecuali anda menghantar
input_task_id. Model untuk di-rig, sama ada sebagai URL awam atau data URI. Jika anda menghantar kedua-duanya, Meshy menggunakaninput_task_id.Model mestilah fail GLB (
.glb) tidak melebihi 400 MB daripada URLhttpatauhttps, atau 100 MB sebagai data URI. Rigging menyokong model humanoid bertekstur.Model boleh mempunyai paling banyak 380,000 segi tiga (satu quad dikira sebagai 2), dan model dengan lebih daripada itu mengembalikan
400. Untuk kekal di bawah had tersebut, jalankan API Remesh ke atasnya terlebih dahulu dengantarget_polycountsebanyak300000atau kurang, atau150000atau kurang dengantopology: quad.Wajah watak mestilah menghadap ke paksi +Z, iaitu arah hadapan standard glTF. Anggaran pose akan gagal untuk model yang menghadap paksi lain.
Fail yang melebihi 100 MB juga mesti mematuhi peraturan berikut:
- Ia boleh mempunyai paling banyak 10,000,000 muka. Fail dengan lebih daripada itu mengembalikan
400. Meshy mengira muka sebagai segi tiga, dan jejaring yang dilukis lebih daripada sekali dikira sekali bagi setiap salinan. - Ia tidak boleh menggunakan pemampatan Draco.
- Ia boleh mempunyai paling banyak 10,000,000 muka. Fail dengan lebih daripada itu mengembalikan
- Name
- height_meters
- Type
- number
- lalai 1.7
- Description
Anggaran ketinggian watak, dalam meter. Meshy menggunakannya untuk menskalakan dan merig model dengan lebih tepat. Nilai negatif mengembalikan
400.
- Name
- texture_image_url
- Type
- string
- ⚠ lapuk
- Description
Tinggalkan ia apabila model mempunyai tekstur sendiri. Tanpanya, Meshy menggunakan tekstur yang terbenam dalam fail
model_url, atau tekstur tugas input. Jika anda menghantarnya, imej ini menjadi satu-satunya tekstur model yang di-rig, dan model kehilangan peta PBR miliknya.Tekstur warna asas model yang dibentangkan UV (UV-unwrapped), sebagai URL awam atau data URI. Imej mestilah fail PNG tidak melebihi 20 MB. Format imej lain mengembalikan
400.
Pulangan
Medan result bagi respons menyimpan ID bagi tugas Rigging yang baharu.
Mod kegagalan
- Name
400 - Bad Request- Description
Permintaan tidak dapat dijalankan. Mesej ralat menyatakan masalah yang ditemui. Contohnya:
- Parameter hilang: Sama ada
model_urlatauinput_task_idtidak dihantar. - Format model tidak sah: Fail
model_urlmempunyai sambungan yang tidak disokong. Hanya.glbdisokong. - URL tidak dapat dicapai: Meshy tidak dapat memuat turun fail
model_url. - Fail model terlalu besar: Fail
model_urlmelebihi 400 MB daripada URLhttpatauhttps, atau melebihi 100 MB sebagai data URI. - Terlalu banyak muka: Fail
model_urlmelebihi 100 MB dan mempunyai lebih daripada 10,000,000 muka. Kurangkan bilangan muka, kemudian hantar semula fail tersebut. - Fail model tidak boleh dibaca: Fail
model_urlmelebihi 100 MB, dan Meshy tidak dapat membaca pengepalanya. Contohnya, ia adalah GLB yang dimampatkan Draco. - Pengepala model terlalu kompleks: Fail
model_urlmelebihi 100 MB, dan pengepalanya mempunyai terlalu banyak jejaring, nod, atau rekod untuk disemak. Kurangkan bilangan objek dalam fail, kemudian hantar semula. - Imej terlalu besar: Imej
texture_image_urlmelebihi 20 MB. - Format tekstur tidak sah: Imej
texture_image_urlbukan fail PNG. - Ketinggian tidak sah:
height_metersadalah negatif. - Tugas input tidak sah:
input_task_idtidak merujuk kepada tugas API yang sah. - Tugas input belum sedia: Tugas
input_task_idbelum mencapaiSUCCEEDED. Tunggu sehingga ia berjaya, kemudian cuba semula. - Bilangan muka melebihi had: Model input mempunyai lebih daripada 380,000 segi tiga (satu quad dikira sebagai 2). Jalankan API Remesh ke atasnya dengan
target_polycountsebanyak300000atau kurang, atau150000atau kurang dengantopology: quad, sebelum anda merig model tersebut.
Betulkan permintaan, kemudian hantar semula. Lihat Ralat.
- Parameter hilang: Sama ada
- Name
401 - Unauthorized- Description
Kunci API hilang atau tidak sah. Semak header
Authorization.
- Name
402 - Payment Required- Description
Contohnya:
- Kredit tidak mencukupi: Akaun tidak mempunyai kredit yang cukup untuk tugas ini, atau akaun telah mencapai had kredit. Semak baki kredit anda, kemudian cuba semula.
- Pelan percuma: Mencipta tugas memerlukan pelan berbayar. Naik taraf pelan anda dalam tetapan langganan anda, kemudian cuba semula.
- Name
403 - Forbidden- Description
input_task_idadalah model bas-relief, yang tidak dapat di-rig oleh endpoint ini. Mesejnya ialahThis model type does not support this operation. Hantar model yang lain.
- Name
404 - Not Found- Description
Meshy tidak dapat mencari fail bagi tugas
input_task_id. Salah satu daripada yang berikut berlaku:- Meshy memadam fail tugas tersebut selepas
expires_atmiliknya. Cipta semula tugas tersebut, kemudian hantar ID tugas itu. - Tugas tersebut tidak mempunyai mana-mana fail yang diperlukan oleh rigging, seperti imej pratonton, contohnya tugas Convert. Rig tugas asal dari mana ia berasal, atau hantar model sebagai
model_url.
- Meshy memadam fail tugas tersebut selepas
- Name
422 - Unprocessable Entity- Description
Anggaran pose gagal. Model mungkin bukan watak humanoid yang sah. Hantar model watak humanoid. Untuk
model_url, semak juga sama ada watak menghadap paksi +Z.
- Name
429 - Too Many Requests- Description
Anda telah melebihi had kadar anda. Tunggu, kemudian cuba semula. Lihat Had kadar.
Dapatkan tugas Rigging
Mengembalikan tugas Rigging berdasarkan IDnya.
Request
curl https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018b314a-a1b5-716d-c222-2f1776f7f579",
"type": "rig",
"status": "SUCCEEDED",
"created_at": 1747032400453,
"progress": 100,
"started_at": 1747032401314,
"finished_at": 1747032418417,
"expires_at": 1747291618417,
"task_error": null,
"consumed_credits": 5,
"result": {
"rigged_character_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.fbx?Expires=...",
"rigged_character_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.glb?Expires=...",
"basic_animations": {
"walking_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.glb?Expires=...",
"walking_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.fbx?Expires=...",
"walking_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin_armature.glb?Expires=...",
"running_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.glb?Expires=...",
"running_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.fbx?Expires=...",
"running_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin_armature.glb?Expires=..."
}
}
}
Parameter
- Name
- id
- Type
- path
- Description
ID tugas daripada respons penciptaan.
Nilai Pulangan
Padam tugas Rigging
Memadam tugas Rigging secara kekal, termasuk model dan datanya. Anda tidak boleh membatalkan padaman.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579 \
-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."
}
Parameter laluan
- Name
- id
- Type
- path
- Description
ID tugas yang hendak dipadam.
Status tugas
Memadam tugas PENDING akan memulangkan semula kredit yang digunakan semasa anda mencipta tugas tersebut.
Tugas IN_PROGRESS tidak boleh dipadam. Permintaan akan memulangkan 409 Conflict,
dan tugas tersebut terus berjalan. Meshy tidak memulangkan semula kredit untuk tugas yang telah bermula,
jadi memadamnya akan menyebabkan anda kehilangan kedua-dua kredit dan hasilnya. Tunggu sehingga ia
mencapai status SUCCEEDED, FAILED, atau CANCELED, kemudian padamkannya.
Memadam tugas dalam status akhir (SUCCEEDED, FAILED, atau CANCELED)
tidak akan memulangkan semula kreditnya.
Mengembalikan
200 OK apabila tugas berjaya dipadam, atau 409 Conflict apabila tugas
berstatus IN_PROGRESS.
Senarai Tugasan Rigging
Mengembalikan senarai tugasan Rigging anda yang telah dipaginasi, bermula dengan yang terbaharu. Untuk menyemak imbas senarai tersebut, gunakan page_num dan page_size.
Tugasan yang anda cipta melalui API kekal di dalam API dan tidak dipaparkan dalam My Assets pada aplikasi web. Untuk mencari tugasan yang ID-nya sudah tidak anda miliki, gunakan endpoint ini.
Request
curl "https://api.meshy.ai/openapi/v1/rigging?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Alirkan tugas Rigging
Mengalirkan kemas kini tugas Rigging sebagai Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/rigging/018b314a-a1b5-716d-c222-2f1776f7f579/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": "018b314a-a1b5-716d-c222-2f1776f7f579",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018b314a-a1b5-716d-c222-2f1776f7f579",
"progress": 50,
"status": "IN_PROGRESS"
}
event: message
data: { // Example of a SUCCEEDED task event, with the same fields as the Rigging task object
"id": "018b314a-a1b5-716d-c222-2f1776f7f579",
"type": "rig",
"status": "SUCCEEDED",
"created_at": 1747032400453,
"progress": 100,
"started_at": 1747032401314,
"finished_at": 1747032418417,
"expires_at": 1747291618417,
"task_error": null,
"consumed_credits": 5,
"result": {
"rigged_character_fbx_url": "https://assets.meshy.ai/.../Character_output.fbx?...",
"rigged_character_glb_url": "https://assets.meshy.ai/.../Character_output.glb?...",
"basic_animations": {
"walking_glb_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin.glb?...",
"walking_fbx_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin.fbx?...",
"walking_armature_glb_url": "https://assets.meshy.ai/.../Animation_Walking_withSkin_armature.glb?...",
"running_glb_url": "https://assets.meshy.ai/.../Animation_Running_withSkin.glb?...",
"running_fbx_url": "https://assets.meshy.ai/.../Animation_Running_withSkin.fbx?...",
"running_armature_glb_url": "https://assets.meshy.ai/.../Animation_Running_withSkin_armature.glb?..."
}
}
}
Parameter
- Name
- id
- Type
- path
- Description
ID tugas daripada respons pembuatan (create).
Nilai pulangan
Aliran objek tugas Rigging sebagai Server-Sent Events.
Setiap acara (event) memegang objek tugas yang lengkap, dalam bentuk yang sama seperti yang dikembalikan oleh endpoint Get. Semasa tugas berstatus PENDING atau IN_PROGRESS, medan hasilnya masih belum mempunyai nilai.
Objek tugas Rigging
Objek tugas Rigging menerangkan rigging bagi satu karakter. Ia menyimpan status, progress, dan fail output apabila tugas berjaya.
Ciri-ciri
Example Rigging Task Object
{
"id": "018b314a-a1b5-716d-c222-2f1776f7f579",
"type": "rig",
"status": "SUCCEEDED",
"created_at": 1747032400453,
"progress": 100,
"started_at": 1747032401314,
"finished_at": 1747032418417,
"expires_at": 1747291618417,
"task_error": null,
"consumed_credits": 5,
"result": {
"rigged_character_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.fbx?Expires=...",
"rigged_character_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Character_output.glb?Expires=...",
"basic_animations": {
"walking_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.glb?Expires=...",
"walking_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin.fbx?Expires=...",
"walking_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Walking_withSkin_armature.glb?Expires=...",
"running_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.glb?Expires=...",
"running_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin.fbx?Expires=...",
"running_armature_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018b314a-a1b5-716d-c222-2f1776f7f579/output/Animation_Running_withSkin_armature.glb?Expires=..."
}
}
}
- Name
- id
- Type
- string
- Description
ID tugas. Anggap ia sebagai string legap, dan jangan bergantung pada formatnya.
- Name
- type
- Type
- string
- Description
Jenis tugas, sentiasa
rig.
- Name
- status
- Type
- string
- Description
Status tugas, salah satu daripada
PENDING,IN_PROGRESS,SUCCEEDED,FAILED, atauCANCELED.
- Name
- progress
- Type
- integer
- Description
Berapa banyak tugas telah selesai, dalam bentuk peratusan. Ia adalah
0sehingga tugas bermula dan100apabila ia berjaya.
- Name
- created_at
- Type
- timestamp
- Description
Masa tugas dicipta, dalam milisaat Unix.
- Name
- started_at
- Type
- timestamp
- Description
Masa tugas bermula, dalam milisaat Unix. Ia adalah
0sehingga tugas bermula.
- Name
- finished_at
- Type
- timestamp
- Description
Masa tugas selesai, dalam milisaat Unix. Ia adalah
0sehingga tugas selesai.
- Name
- expires_at
- Type
- timestamp
- Description
Masa fail hasil tugas tamat tempoh, dalam milisaat Unix. Selepas masa ini, Meshy boleh memadam fail tersebut.
- Name
- task_error
- Type
- object
- Description
Butiran ralat apabila tugas gagal. Ia adalah
nullkecuali status adalahFAILED. Lihat Ralat.
- Name
- consumed_credits
- Type
- integer
- Description
Bilangan kredit yang digunakan oleh tugas. Hadir apabila status adalah
PENDING,IN_PROGRESS, atauSUCCEEDED. Ia adalah0untuk tugasFAILED, kerana Meshy memulangkan semula kredit apabila sesuatu tugas gagal.
- Name
- result
- Type
- object
- Description
URL fail output. Sehingga tugas berjaya, setiap URL adalah string kosong, dan
basic_animationsadalahnull.- Name
rigged_character_fbx_url- Type
- string
- Description
URL muat turun untuk karakter yang dirig sebagai fail FBX.
- Name
rigged_character_glb_url- Type
- string
- Description
URL muat turun untuk karakter yang dirig sebagai fail GLB.
- Name
basic_animations- Type
- object (optional)
- Description
URL muat turun untuk animasi berjalan dan berlari lalai.
- Name
walking_glb_url- Type
- string
- Description
- Animasi berjalan dengan kulit, sebagai fail GLB.
- Name
walking_fbx_url- Type
- string
- Description
- Animasi berjalan dengan kulit, sebagai fail FBX.
- Name
walking_armature_glb_url- Type
- string
- Description
- Rangka animasi berjalan, sebagai fail GLB.
- Name
running_glb_url- Type
- string
- Description
- Animasi berlari dengan kulit, sebagai fail GLB.
- Name
running_fbx_url- Type
- string
- Description
- Animasi berlari dengan kulit, sebagai fail FBX.
- Name
running_armature_glb_url- Type
- string
- Description
- Rangka animasi berlari, sebagai fail GLB.
- Name
- preceding_tasks
- Type
- integer
- Description
Bilangan tugas yang mendahului tugas ini dalam baris gilir. Nilai ini hanya bermakna semasa tugas adalah
PENDING. Medan ini ditinggalkan apabila nilainya0.