Создавайте клипы движений персонажей на основе описаний на естественном языке. Опишите действие — «персонаж машет рукой», «зомби бредёт вперёд» — и получите необработанный клип движения, который можно перенацелить на персонажей с骨骼绑定(rig) в вашем собственном пайплайне или DCC-инструментах.
Результатом является самостоятельный клип движения: он не требует и не привязан к модели персонажа. Чтобы сначала выполнить骨骼绑定(rigging) персонажа, см. Rigging API. Чтобы применить сгенерированный клип к персонажу с骨骼绑定(rig), передайте 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, которую нужно получить.
Обратите внимание, что задачи, созданные через API, управляются через API — они не отображаются в разделе «Мои ассеты» веб-приложения. Используйте этот эндпоинт, чтобы найти задачу, чей 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
Прогресс выполнения задачи (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
Временная метка (в миллисекундах с начала эпохи), когда истекает срок действия ресурсов результата задачи. 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 перезаверяется при каждом обращении и истекает вместе с окном хранения задачи.
Name
motion_format
Type
string
Description
Формат файла клипа: fbx для режима prime, bvh для режима swift.
Name
duration_ms
Type
integer
Description
Длительность сгенерированного клипа в миллисекундах.
Name
mode
Type
string
Description
Режим, в котором был сгенерирован клип: prime или swift.