Gere clipes de movimento de personagens a partir de descrições em linguagem natural. Descreva uma ação — "um personagem acenando", "um zumbi cambaleando para frente" — e receba um clipe de movimento bruto que você pode reajustar para personagens rigged em seu próprio pipeline ou ferramentas DCC.
A saída é um clipe de movimento autônomo: não requer, e não está anexado a, um modelo de personagem. Para rigar um personagem primeiro, veja a API de Rigging.
Este endpoint cria uma nova tarefa para gerar um clipe de movimento a partir de um prompt de texto.
Uma tarefa com modeprime custa 10 créditos e gera com nosso modelo de movimento de mais alta qualidade. Uma tarefa com modeswift custa 3 créditos e gera mais rapidamente com nosso modelo de movimento econômico.
Parâmetros
Name
prompt
Type
string
Obrigatório
Description
Uma descrição em linguagem natural do movimento a ser gerado. Máximo de 400 caracteres.
Name
mode
Type
string
padrão prime
Description
O modo de geração de movimento. Valores disponíveis: prime, swift. prime produz a mais alta qualidade e gera FBX; swift é mais rápido e barato e gera BVH.
Name
duration
Type
number
Obrigatório
Description
A duração alvo do clipe de movimento em segundos. Entre 2 e 10, em passos de 0.5 (por exemplo, 2, 2.5, 3, … 10).
Retornos
A propriedade result da resposta contém o id da tarefa da recém-criada Tarefa de Texto para Movimento.
Modos de Falha
Name
400 - Bad Request
Description
A solicitação foi inaceitável. Causas comuns:
Prompt ausente ou vazio: prompt está ausente, em branco ou tem mais de 400 caracteres.
Modo inválido: mode não é prime ou swift.
Duração inválida: duration está ausente, fora de 2–10, ou não está em um passo de 0.5 segundos.
Name
401 - Unauthorized
Description
Falha na autenticação. Por favor, verifique sua chave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarefa.
Name
403 - Forbidden
Description
O prompt foi sinalizado pela moderação de conteúdo.
Name
429 - Too Many Requests
Description
Você excedeu seu limite de taxa.
Request
POST
/openapi/v1/text-to-motion
# Gerar um clipe de movimento com parâmetros obrigatórios apenascurlhttps://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 }'# Gerar um clipe rápido e econômico com o modo Swiftcurlhttps://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 }'
Este endpoint permite que você recupere uma tarefa de Texto para Movimento dado um id de tarefa válido. Consulte O Objeto Tarefa de Texto para Movimento para ver quais propriedades estão incluídas.
Parâmetros
Name
id
Type
path
Description
Identificador único para a tarefa de Texto para Movimento a ser recuperada.
Retorna uma lista paginada das tarefas de Texto para Movimento do chamador, da mais recente para a mais antiga. Paginação padrão via page_num e page_size.
Note que tarefas criadas através da API são gerenciadas através da API — elas não aparecem em Meus Assets do aplicativo web. Use este endpoint para encontrar uma tarefa cujo ID você não tem mais.
Cada evento message carrega o objeto completo da tarefa. Enquanto a tarefa está PENDING ou IN_PROGRESS, os campos result ainda estão vazios ("" / 0) e finished_at / expires_at são 0; observe status e progress.
// Exemplo de evento de erroevent: errordata: {"status_code": 404,"message": "Tarefa não encontrada"}// Os eventos de mensagem carregam o objeto completo da tarefa em cada estágio; os campos de resultado permanecem vazios até que a tarefa seja concluída.event: messagedata: {"id": "018c425b-b2c6-727e-d333-3c1887i9h791","type": "text-to-motion","status": "IN_PROGRESS","progress": 50,"created_at": 1787314497437,"started_at": 1787314498012,"finished_at": 0,"expires_at": 0,"task_error": null,"result": {"motion_url":"","motion_format":"","duration_ms":0,"mode":"" },"consumed_credits": 10}event: messagedata: { // Exemplo de um item de stream de tarefa SUCCEEDED, espelhando a estrutura do Objeto de Tarefa de Texto para Movimento"id": "018c425b-b2c6-727e-d333-3c1887i9h791","type": "text-to-motion","status": "SUCCEEDED","progress": 100,"created_at": 1787314497437,"started_at": 1787314498012,"finished_at": 1787314505881,"expires_at": 1787573705881,"task_error": null,"result": {"motion_url":"https://assets.meshy.ai/.../output/clip.fbx?Expires=...","motion_format":"fbx","duration_ms":3000,"mode":"prime" },"consumed_credits": 10}
O objeto de tarefa de Texto para Movimento representa a unidade de trabalho para gerar um clipe de movimento a partir de um prompt de texto.
Propriedades
Name
id
Type
string
Description
Identificador único para a tarefa.
Name
type
Type
string
Description
Tipo da tarefa. O valor é text-to-motion.
Name
status
Type
string
Description
Status da tarefa. Valores possíveis: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progresso da tarefa (0-100).
Name
created_at
Type
timestamp
Description
Carimbo de data/hora (milissegundos desde a época) quando a tarefa foi criada.
Um carimbo de data/hora representa o número de milissegundos decorridos desde 1 de janeiro de 1970 UTC, seguindo
o padrão RFC 3339.
Por exemplo, sexta-feira, 1 de setembro de 2023 12:00:00 PM GMT é representada como 1693569600000. Isso se aplica
a todos os carimbos de data/hora na Meshy API.
Name
started_at
Type
timestamp
Description
Carimbo de data/hora (milissegundos desde a época) quando a tarefa começou a processar. 0 se não começou.
Name
finished_at
Type
timestamp
Description
Carimbo de data/hora (milissegundos desde a época) quando a tarefa foi concluída. 0 se não foi concluída.
Name
expires_at
Type
timestamp
Description
Carimbo de data/hora (milissegundos desde a época) quando os ativos de resultado da tarefa expiram. 0 até que a tarefa termine. O clipe gerado é mantido por 3 dias após a conclusão da tarefa; faça o download antes que expire.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas precedentes na fila. Relevante apenas se o status for PENDING; omitido quando zero.
Name
consumed_credits
Type
integer
Description
O número de créditos consumidos por esta tarefa. 10 para o modo prime, 3 para o modo swift. Retorna 0 para tarefas FAILED (créditos são reembolsados em caso de falha).
Name
task_error
Type
object
Description
Detalhes do erro para tarefas com falha; null a menos que a tarefa FAILED. Veja Erros para a referência completa do objeto task_error.
Name
result
Type
object
Description
Contém o clipe de movimento gerado quando a tarefa SUCCEEDED; até então, os campos estão presentes mas vazios ("" / 0).
Name
motion_url
Type
string
Description
URL para download do clipe de movimento gerado. O URL é re-assinado a cada leitura e expira com a janela de retenção da tarefa.
Name
motion_format
Type
string
Description
Formato do arquivo do clipe: fbx para o modo prime, bvh para o modo swift.
Name
duration_ms
Type
integer
Description
Duração do clipe gerado em milissegundos.
Name
mode
Type
string
Description
O modo com o qual o clipe foi gerado: prime ou swift.
Exemplo de Objeto de Tarefa de Texto para Movimento