API de Conversión
La API de Conversión te permite convertir modelos 3D existentes a diferentes formatos de archivo.
Crear una Tarea de Conversión
Este endpoint crea una nueva tarea de conversión de formato.
Parámetros
Solo uno de input_task_id o model_url es requerido. Si se proporcionan ambos, input_task_id tiene prioridad.
- Name
- input_task_id
- Type
- string
- Requerido
- Description
El ID de una tarea completada de Meshy cuyo modelo deseas convertir. La tarea debe tener un estado de
SUCCEEDED.
- Name
- model_url
- Type
- string
- Requerido
- Description
Una URL públicamente accesible o un Data URI que apunte a un archivo de modelo 3D. Formatos soportados:
.glb,.gltf,.obj,.fbx,.stl. Para Data URIs, usa el MIME type:application/octet-stream.
- Name
- target_formats
- Type
- string[]
- Requerido
- Description
Una lista de formatos de salida para el modelo convertido. Valores disponibles:
glb,fbx,obj,usdz,blend,stl,3mf.
Retornos
La propiedad result de la respuesta contiene el id de la tarea de conversión recién creada.
Modos de Falla
400 - Bad Request
La solicitud fue inaceptable. Causas comunes:
- Parámetro faltante: Se debe proporcionar
model_urloinput_task_id. - target_formats faltante: Se debe especificar al menos un formato de destino.
- Tarea de entrada inválida: El
input_task_iddebe referirse a una tarea exitosa. - Formato de modelo inválido: El
model_urlapunta a un archivo con una extensión no soportada. - URL inalcanzable: No se pudo descargar el
model_url.
401 - Unauthorized
Falló la autenticación. Por favor, verifica tu API key.
402 - Payment Required
Créditos insuficientes para realizar esta tarea.
429 - Too Many Requests
Has excedido tu límite de tasa.
Solicitud
curl https://api.meshy.ai/openapi/v1/convert \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["fbx", "stl"]
}'
Respuesta
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Recuperar una Tarea de Conversión
Este endpoint recupera una tarea de conversión por su ID.
Parámetros
- Name
- id
- Type
- path
- Description
El ID de la tarea de conversión a recuperar.
Devuelve
El objeto de la Tarea de Conversión.
Solicitud
curl https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respuesta
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"glb": "",
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"obj": "",
"usdz": "",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Eliminar una Tarea de Convertir
Este endpoint elimina permanentemente una tarea de convertir, incluyendo todos los modelos y datos asociados. Esta acción es irreversible.
Parámetros de Ruta
- Name
- id
- Type
- path
- Description
El ID de la tarea de convertir a eliminar.
Retornos
Devuelve 200 OK en caso de éxito.
Solicitud
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respuesta
// Returns 200 Ok on success.
Listar Tareas de Conversión
Este endpoint te permite recuperar una lista de tareas de conversión.
Parámetros
- Name
- page_num
- Type
- integer
- predeterminado 1
- Description
Número de página para la paginación.
- Name
- page_size
- Type
- integer
- predeterminado 10
- Description
Límite del tamaño de página. El máximo permitido es de
50elementos.
- Name
- sort_by
- Type
- string
- Description
Campo por el cual ordenar. Valores disponibles:
+created_at: Ordenar por tiempo de creación en orden ascendente.-created_at: Ordenar por tiempo de creación en orden descendente.
Retornos
Devuelve una lista paginada de Los Objetos de Tarea de Conversión.
Solicitud
curl https://api.meshy.ai/openapi/v1/convert?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respuesta
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Transmitir una Tarea de Conversión
Este endpoint transmite actualizaciones en tiempo real para una tarea de conversión utilizando Server-Sent Events (SSE).
Parámetros
- Name
- id
- Type
- path
- Description
Identificador único para la tarea de conversión a transmitir.
Retornos
Devuelve un flujo de Los Objetos de la Tarea de Conversión como Server-Sent Events.
Para tareas PENDING o IN_PROGRESS, el flujo de respuesta solo incluirá los campos necesarios de progress y status.
Request
curl -N https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
El Objeto de Tarea de Convertir
El objeto de tarea de Convertir representa un trabajo de conversión de formato.
Propiedades
id· string
Identificador único para la tarea.
type· string
Tipo de la tarea. El valor es convert.
model_urls· object
URLs descargables para los archivos de modelo convertidos. Solo los formatos especificados en target_formats tendrán URLs. Otras propiedades de formato serán cadenas vacías.
progress· integer
Progreso de la tarea (0-100).
status· string
Estado de la tarea. Valores posibles: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
El conteo de tareas precedentes. Significativo solo cuando el estado es PENDING.
created_at· marca de tiempo
Marca de tiempo de cuando se creó la tarea, en milisegundos.
started_at· marca de tiempo
Marca de tiempo de cuando se inició la tarea, en milisegundos. 0 si no ha comenzado.
finished_at· marca de tiempo
Marca de tiempo de cuando se terminó la tarea, en milisegundos. 0 si no ha terminado.
task_error· object
Objeto de error si la tarea falló. Vea Errores para más detalles.
consumed_credits· integer
El número de créditos consumidos por esta tarea (1 crédito por tarea de convertir). Devuelve 0 para tareas FAILED.