meshy-5 будет отключён 10 окт. 2026 г.. lowpoly будет отключён 30 окт. 2026 г.. Перейдите на другую модель до этих дат, чтобы избежать ошибок в запросах.
Text to Motion API
Создавайте клипы движений персонажей на основе описаний на естественном языке. Опишите действие — «персонаж машет рукой», «зомби бредёт вперёд» — и получите необработанный клип движения, который можно перенацелить на персонажей с骨骼绑定(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, включая сгенерированный клип движения. Это действие необратимо.
Параметры пути
Name
id
Type
path
Description
ID задачи Text to Motion, которую нужно удалить.
Статус задачи
Задача, которая всё ещё находится в статусе PENDING, удаляется, а кредиты,
списанные при её создании, возвращаются.
Задача, которая уже находится в статусе IN_PROGRESS, не может быть удалена:
запрос отклоняется с ошибкой 409 Conflict, и задача продолжает выполняться.
Кредиты за задачу, выполнение которой уже начал воркер, не подлежат возврату,
поэтому удаление её в процессе выполнения обойдётся вам одновременно и
кредитами, и результатом. Дождитесь, пока она перейдёт в статус SUCCEEDED,
FAILED или CANCELED, а затем удалите её.
Задача в конечном состоянии (SUCCEEDED, FAILED или CANCELED) удаляется
без возврата средств.
Возвращает
Возвращает 200 OK при успехе или 409 Conflict, если задача находится в
статусе IN_PROGRESS.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left 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."}
Объект задачи 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.