Anda juga boleh melakukan pascapemprosesan pada output tersebut. Tugas berjalan di latar belakang. Untuk tempoh biasa yang diambil oleh sesuatu tugas, lihat Masa pemprosesan.
Request
POST
/openapi/v1/animations
# Animate a rigged model with required params onlycurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "action_id": 92 }'# Apply several preset actions and get one file with one clip per actioncurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "action_ids": [10, 25, 92] }'# Apply a generated Text to Motion clip instead of a preset actioncurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "motion_task_id": "018c425b-b2c6-727e-d333-3c1887i9h791" }'# With post-processing to change FPScurlhttps://api.meshy.ai/openapi/v1/animations \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579", "action_id": 92, "post_process": { "operation_type": "change_fps", "fps": 24 } }'
Response
{"result":"018c425b-b2c6-727e-d333-3c1887i9h791"}
Parameter
Name
rig_task_id
Type
string
Diperlukan
Description
ID tugas Rigging yang wataknya hendak dianimasikan, daripada POST /openapi/v1/rigging. Tugas tersebut mesti mempunyai status SUCCEEDED.
Hantar tepat satu daripada action_id, action_ids, dan motion_task_id.
Name
action_id
Type
integer
Diperlukan
Description
Diperlukan melainkan anda menghantar action_ids atau motion_task_id. ID animasi prasetel yang hendak diterapkan. Untuk senarai penuh animasi, lihat rujukan Pustaka animasi atau Senaraikan animasi.
Name
action_ids
Type
array of integers
Diperlukan
Description
Diperlukan melainkan anda menghantar action_id atau motion_task_id. ID bagi 1 hingga 10 animasi prasetel yang hendak diterapkan sekali gus, tanpa pengulangan. Lebih daripada 10 ID, atau ID yang berulang, mengembalikan 400. Untuk ID tersebut, lihat rujukan Pustaka animasi.
Meshy mengembalikan satu fail dengan satu klip animasi bagi setiap tindakan, yang sesuai untuk state machine dalam enjin permainan. Meshy mengenakan caj bagi setiap tindakan dalam senarai tersebut. Lihat Harga.
Senarai dengan satu ID berfungsi sama seperti menghantar ID tersebut sebagai action_id.
Name
motion_task_id
Type
string
Diperlukan
Description
Diperlukan melainkan anda menghantar action_id atau action_ids. ID tugas Text to Motion yang klipnya hendak diterapkan sebagai ganti tindakan prasetel. Tugas tersebut mesti mempunyai status SUCCEEDED, dan rig mestilah biped.
Meshy mengubah sasaran (retarget) klip tersebut ke atas watak yang telah dirig. Ia menyalin klip tersebut apabila anda mencipta tugas ini, jadi tugas ini tidak terjejas jika tugas Text to Motion kemudiannya tamat tempoh atau anda memadamkannya. Meshy menyimpan fail tugas Text to Motion selama 3 hari, jadi terapkan klip tersebut sebelum tempoh itu tamat.
Name
post_process
Type
object
Description
Pascapemprosesan untuk output animasi. Tinggalkan parameter ini untuk mendapatkan fail animasi standard.
Dengan motion_task_id, retarget boleh menghasilkan animasi GLB sahaja. Jika anda menghantar post_process dan tiada fail FBX tersedia, tugas gagal dengan task_error, dan Meshy memulangkan semula kredit anda. Tanpa post_process, tugas berjaya, dan animation_fbx_url kosong.
Hanya berlaku apabila post_process is set
Name
operation_type
Type
string
Description
Operasi yang hendak dijalankan. Tanpanya, Meshy tidak mencipta fail tambahan. Nilai yang tiada dalam senarai berikut mengembalikan 400.
Nilai yang tersedia:
change_fps: menukar kadar bingkai kepada fps
fbx2usdz: menukar animasi tersebut kepada USDZ
extract_armature: mengekstrak rangka sebagai fail FBX
Name
fps
Type
integer
lalai 30
Description
Kadar bingkai yang hendak ditukar kepada, salah satu daripada 24, 25, 30, atau 60. Hanya terpakai apabila operation_type ialah change_fps. Sebarang nilai lain mengembalikan 400.
Dengan action_ids, tugas mengembalikan satu fail gabungan dan bukannya satu fail bagi setiap tindakan. animation_glb_url dan animation_fbx_url masing-masing menunjuk kepada satu fail yang menyimpan setiap tindakan yang diminta sebagai klip berasingan. Dalam fail tersebut:
Susunan klip: susunan array action_ids, bukan susunan nombor ID.
Nama klip: nama animasi tersebut dalam pustaka. Nama ini sepadan dengan nama yang anda perolehi apabila mengeksport semua animasi watak sebagai satu fail daripada aplikasi web Meshy. Jika dua ID yang diminta mempunyai nama klip yang sama, Meshy menambah action_id pada klip yang kemudian untuk mengekalkan keunikan nama.
Pascapemprosesan: Meshy menerapkannya pada fail gabungan, bukan pada setiap klip secara berasingan.
Pulangan
Medan result pada respons menyimpan ID tugas Animasi yang baharu.
Mod kegagalan
Name
400 - Bad Request
Description
Permintaan tidak dapat dijalankan. Mesej ralat menyatakan masalah yang dikesan. Contohnya:
Parameter hilang: rig_task_id tiada, atau tiada satu pun daripada action_id, action_ids, dan motion_task_id dihantar.
Parameter bercanggah: Permintaan mengandungi lebih daripada satu daripada action_id, action_ids, dan motion_task_id. Hantar hanya satu sahaja.
Tugas rig tidak sah: rig_task_id bukan ID tugas yang sah, bukan tugas Rigging, atau menunjuk kepada tugas yang belum berjaya.
ID tindakan tidak sah: action_id, atau satu entri dalam action_ids, bukan animasi yang sah.
Terlalu banyak tindakan: action_ids mempunyai lebih daripada 10 ID.
Tindakan berulang: action_ids mempunyai ID yang sama lebih daripada sekali.
Tugas gerakan belum sedia: Tugas motion_task_id belum mencapai status SUCCEEDED.
Rig tidak disokong: motion_task_id memerlukan rig biped, dan Meshy menolak rig quadruped.
Betulkan permintaan tersebut, kemudian hantar semula. Lihat Ralat.
Name
401 - Unauthorized
Description
Kunci API tiada atau tidak sah. Semak header Authorization.
Name
402 - Payment Required
Description
Contohnya:
Kredit tidak mencukupi: Akaun tidak mempunyai kredit yang mencukupi 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
Tugas rig_task_id ialah model bas-relief, yang tidak dapat dianimasikan oleh endpoint ini. Mesejnya ialah This model type does not support this operation. Rig model yang lain.
Name
404 - Not Found
Description
Meshy tidak dapat mencari tugas atau fail yang diperlukan oleh permintaan tersebut. Salah satu daripada perkara berikut berlaku:
Meshy tidak dapat mencari tugas rig_task_id dalam senarai tugas anda. Semak ID tersebut.
Meshy telah memadamkan fail tugas rig_task_id selepas expires_at-nya. Rig semula watak tersebut.
Meshy tidak dapat mencari tugas motion_task_id. Semak ID tersebut.
Klip gerakan tersebut telah tamat tempoh, kerana Meshy menyimpan fail tugas Text to Motion selama 3 hari. Cipta tugas Text to Motion yang lain.
Name
429 - Too Many Requests
Description
Anda telah melebihi had kadar anda. Tunggu, kemudian cuba semula. Lihat Had kadar.
// 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 mengembalikan 409 Conflict,
dan tugas tersebut terus berjalan. Meshy tidak memulangkan semula kredit bagi tugas yang telah
dimulakan, jadi memadamnya akan menyebabkan anda kehilangan kedua-dua kredit dan hasilnya. Tunggu
sehingga ia mencapai status SUCCEEDED, FAILED, atau CANCELED, kemudian padamkannya.
Memadam tugas yang berada dalam status akhir (SUCCEEDED, FAILED, atau CANCELED)
tidak akan memulangkan semula kreditnya.
Pulangan
200 OK apabila tugas berjaya dipadam, atau 409 Conflict apabila tugas
tersebut berstatus IN_PROGRESS.
Mengembalikan senarai bernombor halaman bagi tugas Animasi anda, yang terbaharu dahulu. Untuk menyemak imbas senarai mengikut halaman, gunakan page_num dan page_size.
Tugas yang anda cipta melalui API tidak muncul dalam My Assets dalam aplikasi web, jadi anda menguruskannya melalui API. Untuk mencari tugas yang ID-nya tidak lagi anda miliki, gunakan endpoint ini.
// Error event exampleevent: errordata: {"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: messagedata: {"id": "018c425b-b2c6-727e-d333-3c1887i9h791","progress": 0,"status": "PENDING"}event: messagedata: {"id": "018c425b-b2c6-727e-d333-3c1887i9h791","progress": 50,"status": "IN_PROGRESS"}event: messagedata: { // Example of a SUCCEEDED task stream item, with the same structure as the Animation task object"id": "018c425b-b2c6-727e-d333-3c1887i9h791","type": "animate","status": "SUCCEEDED","created_at": 1747032440896,"progress": 100,"started_at": 1747032441210,"finished_at": 1747032457530,"expires_at": 1747291657530,"task_error": null,"consumed_credits": 3,"result": {"animation_glb_url":"https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.glb?...","animation_fbx_url":"https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.fbx?...","processed_usdz_url":"https://assets.meshy.ai/.../processed.usdz?...","processed_armature_fbx_url":"https://assets.meshy.ai/.../processed_armature.fbx?...","processed_animation_fps_fbx_url":"https://assets.meshy.ai/.../processed_60fps.fbx?..." }}
Setiap acara (event) menyimpan objek tugas penuh, dalam bentuk yang sama seperti yang dikembalikan oleh endpoint Get. Semasa tugas berstatus PENDING atau IN_PROGRESS, medan hasilnya belum lagi mempunyai nilai.
Objek tugas Animasi menerangkan satu animasi yang digunakan pada watak yang mempunyai rangka. Ia menyimpan status, progress, dan fail animasi apabila tugas berjaya.
ID tugas. Anggap ia sebagai rentetan legap, dan jangan bergantung pada formatnya.
Name
type
Type
string
Description
Jenis tugas, sentiasa animate.
Name
status
Type
string
Description
Status tugas, salah satu daripada PENDING, IN_PROGRESS, SUCCEEDED, FAILED, atau CANCELED.
Name
progress
Type
integer
Description
Sejauh mana tugas telah selesai, dalam bentuk peratusan. Nilainya 0 sehingga tugas bermula dan 100 apabila 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. Nilainya 0 sehingga tugas bermula.
Name
finished_at
Type
timestamp
Description
Masa tugas selesai, dalam milisaat Unix. Nilainya 0 sehingga tugas selesai.
Name
expires_at
Type
timestamp
Description
Masa fail hasil tugas tamat tempoh, dalam milisaat Unix.
Name
task_error
Type
object
Description
Butiran ralat apabila tugas gagal. Nilainya null melainkan statusnya FAILED. Lihat Ralat.
Name
consumed_credits
Type
integer
Description
Bilangan kredit yang digunakan oleh tugas tersebut. Hadir apabila statusnya PENDING, IN_PROGRESS, atau SUCCEEDED. Nilainya 0 untuk tugas FAILED, kerana Meshy mengembalikan kredit apabila tugas gagal.
Name
result
Type
object
Description
URL muat turun untuk fail animasi, apabila tugas mempunyai status SUCCEEDED.
Name
animation_glb_url
Type
string
Description
Animasi sebagai fail GLB. Untuk tugas yang dicipta dengan action_ids, satu fail ini menyimpan setiap tindakan yang diminta sebagai klip berasingan.
Name
animation_fbx_url
Type
string
Description
Animasi sebagai fail FBX. Untuk tugas yang dicipta dengan action_ids, satu fail ini menyimpan setiap tindakan yang diminta sebagai klip berasingan.
Name
processed_usdz_url
Type
string
Description
Animasi yang telah diproses sebagai fail USDZ.
Name
processed_armature_fbx_url
Type
string
Description
Rangka yang telah diproses sebagai fail FBX.
Name
processed_animation_fps_fbx_url
Type
string
Description
Animasi pada kadar bingkai yang telah diubah, sebagai fail FBX, contohnya apabila anda menggunakan operasi change_fps.
Name
preceding_tasks
Type
integer
Description
Bilangan tugas yang mendahului tugas ini dalam baris gilir. Nilai ini hanya bermakna semasa tugas berstatus PENDING. Medan ini ditinggalkan apabila nilainya 0.
Mengembalikan setiap animasi dalam pustaka, disusun mengikut action_id. Respons adalah senarai lengkap, tanpa halaman, jadi satu panggilan boleh mengisi pemilih tindakan. Penapis mempersempit hasil. Untuk mendapatkan semua animasi, biarkan semua penapis tidak diisi.
Untuk menyemak imbas senarai yang sama dengan pratonton beranimasi bagi setiap tindakan, lihat rujukan Pustaka animasi.
Teks untuk dicari. Meshy mengembalikan animasi yang name atau key-nya mengandungi teks ini, tanpa mengira huruf besar/kecil. Meshy memadankan teks secara literal, jadi % dan _ bukan kad bebas.
Name
category
Type
string
Description
Kategori yang hendak disenaraikan, sebagai padanan tepat. Kategori yang tidak diketahui mengembalikan senarai kosong.
Nilai yang tersedia:
WalkAndRun
BodyMovements
DailyActions
Fighting
Dancing
Name
sub_category
Type
string
Description
Subkategori yang hendak disenaraikan, sebagai padanan tepat. Anda boleh menghantarnya tanpa category. Nama subkategori tidak unik merentasi kategori. Sebagai contoh, Transitioning terdapat di bawah Fighting dan DailyActions. Jadi tanpa category, penapis memadankan subkategori dalam setiap kategori.
Name
action_ids
Type
string
Description
Animasi yang hendak dikembalikan, sehingga 200 nilai action_id dipisahkan koma. Gunakannya untuk mencari ID tertentu dan bukannya menyemak imbas. Lebih daripada 200 ID mengembalikan 400.
Respons tidak memasukkan ID yang tiada animasi. Jadi anda juga boleh menggunakan penapis ini untuk menyemak sama ada ID yang anda simpan masih tersedia.
Menggabungkan penapis
Meshy menggunakan penapis secara bersama. Setiap satu mempersempit hasil, jadi Meshy hanya mengembalikan animasi jika ia sepadan dengan semua penapis tersebut. Dalam satu penapis, mana-mana nilainya boleh dipadankan. Sebagai contoh, search memadankan name atau key, dan action_ids memadankan mana-mana ID dalam senarai.
Jadi gabungan tanpa pertindihan mengembalikan array kosong, bukan ralat. Tindakan 92 ialah "Double Combo Attack", animasi Fighting. Contohnya:
?action_ids=92&category=Fighting mengembalikan tindakan 92.
?action_ids=92&category=Dancing mengembalikan [], kerana ia bukan animasi Dancing.
?action_ids=92&search=walk mengembalikan [], kerana namanya tidak sepadan dengan walk.
Untuk mendapatkan animasi tertentu dalam mana-mana kategori, hantar action_ids secara bersendirian.
Cipta tugasan Animasi menerima setiap action_id yang dikembalikan oleh endpoint ini, dan endpoint ini mengembalikan setiap ID yang diterima oleh cipta. Tiada satu pun yang termasuk animasi yang telah dihentikan. Jika anda menyimpan cache pustaka, segarkannya dari semasa ke semasa, supaya ID yang telah dihentikan tidak kekal dalam pemilih anda.
Nilai untuk dihantar sebagai action_id apabila anda mencipta tugas Animasi. Nilai ini unik dan stabil, tetapi tidak berturutan. Animasi yang dinyahtauliah meninggalkan jurang dalam penomboran, jadi jangan anggap setiap ID dalam sesuatu julat itu sah.
Name
name
Type
string
Description
Nama paparan animasi. Nama ini tidak unik, kerana sesetengah animasi berkongsi nama dengan varian lain. Untuk mengenal pasti animasi, gunakan action_id atau key.
Name
key
Type
string
Description
Slug unik dan stabil untuk animasi. Gunakannya apabila anda memerlukan ID bukan angka untuk menjadi kunci penyimpanan anda sendiri.
Name
category
Type
string
Description
Kumpulan peringkat atas, contohnya Fighting.
Name
sub_category
Type
string
Description
Kumpulan dalam kategori tersebut, contohnya AttackingwithWeapon.
Name
preview_url
Type
string
Description
URL pratonton GIF beranimasi bagi aksi tersebut. Anda boleh memaparkannya terus dalam pemilih anda sendiri.