API de Redimensionar
La API de Redimensionar te permite redimensionar modelos 3D existentes a dimensiones del mundo real. Puedes especificar una altura exacta, una restricción del lado más largo, o dejar que la IA estime automáticamente el tamaño apropiado.
Crear una Tarea de Redimensionamiento
Este endpoint crea una nueva tarea de redimensionamiento.
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 redimensionar. La tarea debe tener un estado de
SUCCEEDED. El formato de salida será GLB.
- Name
- model_url
- Type
- string
- Requerido
- Description
Una URL públicamente accesible o 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. El formato de salida preservará el formato original del modelo de entrada.
Exactamente un modo de redimensionamiento es requerido: resize_height, resize_longest_side, o auto_size. Estos tres parámetros son mutuamente excluyentes.
- Name
- resize_height
- Type
- number
- Description
Redimensiona el modelo a una altura específica medida en metros.
- Name
- resize_longest_side
- Type
- number
- Description
Redimensiona el modelo para que su lado más largo coincida con este valor, medido en metros. La relación de aspecto se preserva.
- Name
- auto_size
- Type
- boolean
- Description
Cuando se establece en
true, el servicio utiliza visión AI para estimar automáticamente la altura real del objeto y redimensionar el modelo en consecuencia. El origen se establecerá por defecto enbottoma menos queorigin_atse establezca explícitamente.
- Name
- origin_at
- Type
- string
- predeterminado bottom
- Description
Posición del origen después del redimensionamiento.
Valores disponibles:
bottom,center.
Retornos
La propiedad result de la respuesta contiene el id de la tarea de redimensionamiento recién creada.
Modos de Fallo
400 - Bad Request
La solicitud fue inaceptable. Causas comunes:
- Parámetro faltante: Se debe proporcionar
model_urloinput_task_id. - Modo de redimensionamiento faltante: Se debe especificar al menos uno de
resize_height,resize_longest_side, oauto_size. - Parámetros mutuamente excluyentes:
resize_height,resize_longest_side, yauto_sizeno pueden combinarse. - 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
La autenticación falló. Por favor, verifica tu clave de API.
402 - Payment Required
Créditos insuficientes para realizar esta tarea.
429 - Too Many Requests
Has excedido tu límite de tasa.
Request
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"resize_height": 1.8
}'
# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb",
"resize_longest_side": 2.0,
"origin_at": "center"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Recuperar una Tarea de Redimensionar
Este endpoint recupera una tarea de redimensionar por su ID.
Parámetros
- Name
- id
- Type
- path
- Description
El ID de la tarea de redimensionar a recuperar.
Retorna
El objeto de la Tarea de Redimensionar.
Solicitud
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respuesta
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Eliminar una Tarea de Redimensionar
Este endpoint elimina permanentemente una tarea de redimensionar, 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 redimensionar a eliminar.
Retornos
Devuelve 200 OK en caso de éxito.
Solicitud
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respuesta
// Returns 200 Ok on success.
Listar Tareas de Redimensionar
Este endpoint te permite recuperar una lista de tareas de redimensionar.
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 Redimensionar.
Solicitud
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Respuesta
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Transmitir una Tarea de Redimensionar
Este endpoint transmite actualizaciones en tiempo real para una tarea de redimensionar utilizando Server-Sent Events (SSE).
Parámetros
- Name
- id
- Type
- path
- Description
Identificador único para la tarea de redimensionar a transmitir.
Devuelve
Devuelve un flujo de Los Objetos de la Tarea de Redimensionar como Server-Sent Events.
Para tareas PENDING o IN_PROGRESS, el flujo de respuesta solo incluirá los campos necesarios de progress y status.
Solicitud
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Flujo de Respuesta
// 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": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?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 Redimensionar
El objeto de Tarea de Redimensionar representa un trabajo de redimensionamiento.
Propiedades
id· string
Identificador único para la tarea.
type· string
Tipo de la tarea. El valor es resize.
model_urls· object
URL descargable para el archivo del modelo redimensionado. Al usar input_task_id, la salida es siempre GLB. Al usar model_url, la salida conserva el formato original.
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
La cantidad de tareas precedentes. Significativo solo cuando el estado es PENDING.
created_at· marca de tiempo
Marca de tiempo de cuando la tarea fue creada, en milisegundos.
started_at· marca de tiempo
Marca de tiempo de cuando la tarea fue iniciada, en milisegundos. 0 si no ha comenzado.
finished_at· marca de tiempo
Marca de tiempo de cuando la tarea fue finalizada, en milisegundos. 0 si no ha finalizado.
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 redimensionar). Devuelve 0 para tareas FAILED.