Генеруйте клипи руху персонажа на основі описів природною мовою. Опишіть дію — "персонаж махає рукою", "зомбі повільно бреде вперед" — і отримайте необроблений клип руху, який можна перенацілити на риговані персонажі у вашому власному конвеєрі або DCC-інструментах.
Результатом є окремий клип руху: він не потребує моделі персонажа і не прив'язаний до неї. Щоб спочатку зробити риг персонажа, див. Rigging API. Щоб застосувати згенерований клип до вашого ригованого персонажа, передайте id завдання як motion_task_id до Animation API — застосуйте його протягом 3-денного вікна зберігання ресурсів.
Ця кінцева точка створює нове завдання для генерації моушн-кліпу з текстового prompt.
Завдання з modeprime коштує 10 кредитів і генерується за допомогою нашої найякіснішої моушн-моделі. Завдання з modeswift коштує 3 кредити і генерується швидше за допомогою нашої економічної моушн-моделі.
Параметри
Name
prompt
Type
string
Обов'язковий
Description
Опис руху природною мовою для генерації. Максимум 400 символів.
Name
mode
Type
string
за замовчуванням prime
Description
Режим генерації руху. Доступні значення: prime, swift. prime забезпечує найвищу якість і виводить FBX; swift швидший і дешевший та виводить BVH.
Name
duration
Type
number
Обов'язковий
Description
Цільова тривалість моушн-кліпу в секундах. Від 2 до 10, з кроком 0.5 (наприклад, 2, 2.5, 3, … 10).
Результати
Властивість result у відповіді містить id завдання новоствореного завдання Text to Motion.
Режими відмови
Name
400 - Bad Request
Description
Запит було неприйнято. Поширені причини:
Відсутній або порожній prompt: prompt відсутній, порожній або довший за 400 символів.
Недійсний mode: mode не є prime або swift.
Недійсна duration: duration відсутня, виходить за межі 2–10 або не відповідає кроку 0.5 секунди.
Name
401 - Unauthorized
Description
Автентифікація не вдалася. Будь ласка, перевірте свій API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
403 - Forbidden
Description
Prompt було позначено системою moderation.
Name
429 - Too Many Requests
Description
Ви перевищили своє обмеження частоти.
Request
POST
/openapi/v1/text-to-motion
# Generate a motion clip with required params onlycurlhttps://api.meshy.ai/openapi/v1/text-to-motion \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "prompt": "a character waving", "duration": 3 }'# Generate a fast, economical clip with Swift modecurlhttps://api.meshy.ai/openapi/v1/text-to-motion \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "prompt": "a character waving", "mode": "swift", "duration": 4.5 }'
Ця кінцева точка дозволяє отримати завдання Text to Motion за дійсним id завдання. Перегляньте Об'єкт завдання Text to Motion, щоб дізнатися, які властивості включені.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор завдання Text to Motion, яке потрібно отримати.
Повертає пагінований список задач Text to Motion, створених користувачем, від найновіших до найстаріших. Стандартна пагінація через page_num та page_size.
Зауважте, що задачі, створені через API, керуються через API — вони не відображаються в розділі My Assets веб-застосунку. Використовуйте цю кінцеву точку, щоб знайти задачу, ID якої у вас більше немає.
Кожна подія message містить повний об'єкт завдання. Поки завдання має статус PENDING або IN_PROGRESS, поля result залишаються порожніми ("" / 0), а finished_at / expires_at дорівнюють 0; слідкуйте за status та progress.
Об'єкт завдання Text to Motion представляє робочу одиницю для генерації відеокліпу руху з текстового prompt.
Властивості
Name
id
Type
string
Description
Унікальний ідентифікатор завдання.
Name
type
Type
string
Description
Тип завдання. Значення — text-to-motion.
Name
status
Type
string
Description
Статус завдання. Можливі значення: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress завдання (0-100).
Name
created_at
Type
timestamp
Description
Мітка часу (у мілісекундах з початку епохи) створення завдання.
Мітка часу представляє кількість мілісекунд, що минули з 1 січня 1970 року UTC, відповідно до
стандарту RFC 3339.
Наприклад, п'ятниця, 1 вересня 2023 12:00:00 за Гринвічем представлена як 1693569600000. Це стосується
усіх міток часу в Meshy API.
Name
started_at
Type
timestamp
Description
Мітка часу (у мілісекундах з початку епохи), коли завдання почало оброблятися. 0, якщо не розпочато.
Name
finished_at
Type
timestamp
Description
Мітка часу (у мілісекундах з початку епохи), коли завдання завершилося. 0, якщо не завершено.
Name
expires_at
Type
timestamp
Description
Мітка часу (у мілісекундах з початку епохи), коли активи результату завдання втратять чинність. 0, доки завдання не завершиться. Згенерований кліп зберігається протягом 3 днів після завершення завдання; завантажте його до закінчення цього терміну.
Name
preceding_tasks
Type
integer
Description
Кількість попередніх завдань у черзі. Має значення лише якщо статус — PENDING; опускається, якщо дорівнює нулю.
Name
consumed_credits
Type
integer
Description
Кількість кредитів, витрачених на це завдання. 10 для режиму prime, 3 для режиму swift. Повертає 0 для завдань зі статусом FAILED (кредити повертаються у разі невдачі).
Name
task_error
Type
object
Description
Деталі помилки для невдалих завдань; null, якщо завдання не має статусу FAILED. Див. Помилки для повного опису об'єкта task_error.
Name
result
Type
object
Description
Містить згенерований відеокліп руху після успішного завершення завдання (SUCCEEDED); до цього поля присутні, але порожні ("" / 0).
Name
motion_url
Type
string
Description
URL для завантаження згенерованого відеокліпу руху. URL повторно підписується при кожному читанні та закінчується разом із періодом зберігання завдання.
Name
motion_format
Type
string
Description
Формат файлу кліпу: fbx для режиму prime, bvh для режиму swift.
Name
duration_ms
Type
integer
Description
Тривалість згенерованого кліпу в мілісекундах.
Name
mode
Type
string
Description
Mode, у якому було згенеровано кліп: prime або swift.