Genera clips de movimiento de personajes a partir de descripciones en lenguaje natural. Describe una acción — "un personaje saludando", "un zombi avanzando torpemente" — y recibe un clip de movimiento en bruto que puedes retargetear en personajes rigged en tu propia cadena de producción o herramientas DCC.
La salida es un clip de movimiento independiente: no requiere, y no está adjunta a, un modelo de personaje. Para riggear primero un personaje, consulta la API de rigging.
Este endpoint crea una nueva tarea para generar un clip de movimiento a partir de un prompt de texto.
Una tarea con modeprime cuesta 10 créditos y se genera con nuestro modelo de movimiento de la más alta calidad. Una tarea con modeswift cuesta 3 créditos y se genera más rápido con nuestro modelo de movimiento económico.
Parámetros
Name
prompt
Type
string
Requerido
Description
Una descripción en lenguaje natural del movimiento a generar. Máximo 400 caracteres.
Name
mode
Type
string
predeterminado prime
Description
El modo de generación de movimiento. Valores disponibles: prime, swift. prime produce la más alta calidad y entrega FBX; swift es más rápido y más económico y entrega BVH.
Name
duration
Type
number
Requerido
Description
La duración objetivo del clip de movimiento en segundos. Entre 2 y 10, en pasos de 0.5 (por ejemplo 2, 2.5, 3, … 10).
Retornos
La propiedad result de la respuesta contiene el id de la tarea de Texto a Movimiento recién creada.
Modos de Fallo
Name
400 - Bad Request
Description
La solicitud fue inaceptable. Causas comunes:
Prompt faltante o vacío: El prompt falta, está en blanco, o tiene más de 400 caracteres.
Modo inválido: El mode no es prime o swift.
Duración inválida: La duration falta, está fuera del rango 2–10, o no es un paso de 0.5 segundos.
Name
401 - Unauthorized
Description
La autenticación falló. Verifique su clave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarea.
Name
403 - Forbidden
Description
El prompt fue marcado por la moderation de contenido.
Name
429 - Too Many Requests
Description
Ha excedido su límite de tasa.
Request
POST
/openapi/v1/text-to-motion
# Generar un clip de movimiento solo con parámetros requeridoscurlhttps://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 }'# Generar un clip rápido y económico con 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 te permite recuperar una tarea de Texto a Motion dado un id de tarea válido. Consulta El Objeto de la Tarea de Texto a Motion para ver qué propiedades están incluidas.
Parámetros
Name
id
Type
path
Description
Identificador único para la tarea de Texto a Motion a recuperar.
Devuelve una lista paginada de las tareas de Texto a Movimiento del solicitante, ordenadas de más nuevas a más antiguas. Paginación estándar mediante page_num y page_size.
Tenga en cuenta que las tareas creadas a través del API se gestionan a través del API: no aparecen en Mis Activos de la aplicación web. Use este endpoint para encontrar una tarea cuyo ID ya no tenga.
Cada evento message lleva el objeto completo de la tarea. Mientras la tarea está PENDING o IN_PROGRESS, los campos result siguen vacíos ("" / 0) y finished_at / expires_at son 0; observa status y progress.
// Ejemplo de evento de errorevent: errordata: {"status_code": 404,"message": "Tarea no encontrada"}// Los eventos de mensaje llevan el objeto completo de la tarea en cada etapa; los campos result permanecen vacíos hasta que la tarea tenga éxito.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: { // Ejemplo de un ítem de flujo de tarea SUCCEEDED, reflejando la estructura del Objeto de Tarea de Texto a Movimiento"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}
El objeto Tarea de Texto a Movimiento representa la unidad de trabajo para generar un clip de movimiento a partir de un prompt de texto.
Propiedades
Name
id
Type
string
Description
Identificador único para la tarea.
Name
type
Type
string
Description
Tipo de la tarea. El valor es text-to-motion.
Name
status
Type
string
Description
Estado de la tarea. Valores posibles: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progreso de la tarea (0-100).
Name
created_at
Type
timestamp
Description
Marca de tiempo (milisegundos desde la época) cuando se creó la tarea.
Una marca de tiempo representa el número de milisegundos transcurridos desde el 1 de enero de 1970 UTC, siguiendo
el estándar RFC 3339.
Por ejemplo, el viernes 1 de septiembre de 2023 a las 12:00:00 PM GMT se representa como 1693569600000. Esto aplica
para todas las marcas de tiempo en Meshy API.
Name
started_at
Type
timestamp
Description
Marca de tiempo (milisegundos desde la época) cuando la tarea comenzó a procesarse. 0 si no ha comenzado.
Name
finished_at
Type
timestamp
Description
Marca de tiempo (milisegundos desde la época) cuando la tarea terminó. 0 si no ha terminado.
Name
expires_at
Type
timestamp
Description
Marca de tiempo (milisegundos desde la época) cuando los assets resultantes de la tarea expiran. 0 hasta que la tarea finalice. El clip generado se retiene por 3 días después de que la tarea finalice; descárgalo antes de que expire.
Name
preceding_tasks
Type
integer
Description
El conteo de tareas precedentes en la cola. Significativo solo si el estado es PENDING; se omite cuando es cero.
Name
consumed_credits
Type
integer
Description
El número de créditos consumidos por esta tarea. 10 para el modo prime, 3 para el modo swift. Devuelve 0 para tareas FAILED (los créditos son reembolsados en caso de fallo).
Name
task_error
Type
object
Description
Detalles del error para tareas fallidas; null a menos que la tarea haya FAILED. Ver Errores para el objeto completo de referencia task_error.
Name
result
Type
object
Description
Contiene el clip de movimiento generado una vez que la tarea ha SUCCEEDED; hasta entonces los campos están presentes pero vacíos ("" / 0).
Name
motion_url
Type
string
Description
URL descargable para el clip de movimiento generado. La URL se re-firma en cada lectura y expira con la ventana de retención de la tarea.
Name
motion_format
Type
string
Description
Formato de archivo del clip: fbx para el modo prime, bvh para el modo swift.
Name
duration_ms
Type
integer
Description
Duración del clip generado en milisegundos.
Name
mode
Type
string
Description
El modo con el que se generó el clip: prime o swift.