Ця кінцева точка дозволяє створити нове завдання для застосування анімації до раніше прив'язаного (rigged) персонажа — або готової дії з бібліотеки анімацій (action_id), або кліпу руху, згенерованого за допомогою Text to Motion API (motion_task_id). Включає параметри постобробки.
Параметри
Name
rig_task_id
Type
string
Обов'язковий
Description
id успішно завершеного завдання прив'язки скелета (з POST /openapi/v1/rigging). Персонаж із цього завдання буде анімовано.
Name
action_id
Type
integer
Description
Ідентифікатор готової анімаційної дії, яку потрібно застосувати. Повний перелік доступних анімацій дивіться в Довіднику бібліотеки анімацій. Потрібно вказати рівно один із параметрів: action_id або motion_task_id.
Name
motion_task_id
Type
string
Description
id успішно завершеного завдання Text to Motion, яке потрібно застосувати замість готової дії. Згенерований кліп ретаргетується на прив'язаного персонажа, а сам кліп фіксується (знімок) на момент створення, тому це завдання не постраждає, якщо вихідне завдання пізніше застаріє або буде видалене. Активи вихідного завдання зберігаються протягом 3 днів — застосуйте кліп до закінчення цього терміну. Потребує прив'язки скелета типу «двонога модель» (biped rig). Потрібно вказати рівно один із параметрів: action_id або motion_task_id.
Name
post_process
Type
object
Description
Необов'язкова постобробка для вихідних даних анімації. Пропустіть цей параметр, щоб отримати стандартні файли анімації.
Застосовується лише коли post_process is set
Name
operation_type
Type
string
Обов'язковий
Description
Тип операції, яку потрібно виконати. Доступні значення: change_fps, fbx2usdz, extract_armature.
Name
fps
Type
integer
за замовчуванням 30
Description
Цільова частота кадрів. Застосовується лише коли operation_type має значення change_fps. Допустимі значення: 24, 25, 30, 60.
При використанні motion_task_id ретаргетинг може створити анімацію лише у форматі GLB. Якщо ви запросили post_process, а файл FBX недоступний, завдання завершується з помилкою task_error, а ваші кредити автоматично повертаються; без post_process завдання виконується успішно, а animation_fbx_url залишається порожнім.
Результат
Властивість result у відповіді містить id завдання щойно створеної анімації.
Режими збоїв
Name
400 - Bad Request
Description
Запит неприйнятний. Поширені причини:
Відсутній параметр: не вказано rig_task_id, або не вказано жодного з параметрів action_id чи motion_task_id.
Конфліктуючі параметри: вказано одночасно action_id та motion_task_id — вони є взаємовиключними.
Недійсне завдання прив'язки: rig_task_id недійсний або посилається на невдале/неіснуюче завдання.
Недійсний ідентифікатор дії: action_id не відповідає жодній дійсній анімації.
Завдання руху ще не готове: завдання motion_task_id ще не має статусу SUCCEEDED.
Непідтримувана прив'язка скелета: motion_task_id вимагає прив'язки типу «двонога модель» (biped rig); прив'язки типу «чотиринога модель» (quadruped rig) відхиляються.
Name
401 - Unauthorized
Description
Помилка автентифікації. Перевірте свій API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
404 - Not Found
Description
Завдання прив'язки скелета, вказане в rig_task_id, не знайдено, завдання руху, вказане в motion_task_id, не знайдено, або термін дії кліпу руху закінчився (активи вихідного завдання зберігаються протягом 3 днів).
Name
429 - Too Many Requests
Description
Ви перевищили обмеження частоти запитів.
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 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 } }'
Повертає список завдань анімації користувача з пагінацією, спочатку найновіші. Стандартна пагінація через page_num і page_size.
Зверніть увагу, що завдання, створені через API, керуються через API — вони не з'являються в розділі «Мої активи» веб-застосунку. Використовуйте цю кінцеву точку, щоб знайти завдання, ID якого ви більше не маєте.
Об'єкт Animation Task представляє робочу одиницю для застосування анімації до персонажа з прив'язаним скелетом.
Властивості
Name
id
Type
string
Description
Унікальний ідентифікатор завдання.
Name
type
Type
string
Description
Тип завдання Animation. Значення: animate.
Name
status
Type
string
Description
Статус завдання. Можливі значення: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Прогрес виконання завдання (0-100).
Name
created_at
Type
timestamp
Description
Мітка часу (у мілісекундах з початку епохи) створення завдання.
Мітка часу представляє кількість мілісекунд, що минули з 1 січня 1970 року за UTC, відповідно до
стандарту RFC 3339. Наприклад,
п'ятниця, 1 вересня 2023 року, 12:00:00 за GMT представлена як 1693569600000. Це стосується
всіх міток часу в Meshy API.
Name
started_at
Type
timestamp
Description
Мітка часу (у мілісекундах з початку епохи) початку обробки завдання. 0, якщо обробку не розпочато.
Name
finished_at
Type
timestamp
Description
Мітка часу (у мілісекундах з початку епохи) завершення завдання. 0, якщо не завершено.
Name
expires_at
Type
timestamp
Description
Мітка часу (у мілісекундах з початку епохи), коли активи результату завдання втратять чинність.
Name
task_error
Type
object
Description
Деталі помилки для невдалих завдань. Див. Помилки для повного опису об'єкта task_error.
Name
consumed_credits
Type
integer
Description
Кількість кредитів, витрачених на це завдання. Присутнє, коли статус завдання — PENDING, IN_PROGRESS або SUCCEEDED. Повертає 0 для завдань зі статусом FAILED (кредити повертаються у разі невдачі).
Name
result
Type
object
Description
Містить URL-адреси вихідної анімації, якщо завдання завершилося зі статусом SUCCEEDED.
Name
animation_glb_url
Type
string
Description
URL-адреса для завантаження анімації у форматі GLB.
Name
animation_fbx_url
Type
string
Description
URL-адреса для завантаження анімації у форматі FBX.
Name
processed_usdz_url
Type
string
Description
URL-адреса для завантаження обробленої анімації у форматі USDZ.
Name
processed_armature_fbx_url
Type
string
Description
URL-адреса для завантаження обробленої арматури у форматі FBX.
Name
processed_animation_fps_fbx_url
Type
string
Description
URL-адреса для завантаження анімації зі зміненою частотою кадрів (FPS) у форматі FBX (наприклад, якщо було використано операцію change_fps).
Name
preceding_tasks
Type
integer
Description
Кількість завдань, що передують у черзі. Має значення лише якщо статус — PENDING.