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 adecuado.


POST/openapi/v1/resize

Crear una tarea de Redimensionar

Este endpoint crea una nueva tarea de Redimensionar.

Parámetros

  • Name
    input_task_id
    Type
    string
    Requerido
    Description

    El ID de una tarea de Meshy completada 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 accesible públicamente o un Data URI que apunte a un archivo de modelo 3D. Formatos compatibles: .glb, .gltf, .obj, .fbx, .stl. Para Data URI, usa el MIME type: application/octet-stream. El formato de salida conservará el formato original del modelo de entrada.

  • 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. Se conserva la relación de aspecto.

  • Name
    auto_size
    Type
    boolean
    Description

    Cuando se establece en true, el servicio usa visión de IA para estimar automáticamente la altura real del objeto y redimensionar el modelo en consecuencia. El origen será bottom de forma predeterminada a menos que origin_at se establezca explícitamente.

  • Name
    origin_at
    Type
    string
    predeterminado bottom
    Description

    Posición del origen después del redimensionamiento.

    Valores disponibles: bottom, center.

Devuelve

La propiedad result de la respuesta contiene el id de la tarea de Redimensionar recién creada.

Modos de fallo

  • 400 - Bad Request

La solicitud no era aceptable. Causas comunes:

  • Parámetro faltante: Se debe proporcionar model_url o input_task_id.
  • Mode de Redimensionar faltante: Se debe especificar al menos uno de resize_height, resize_longest_side o auto_size.
  • Parámetros mutuamente excluyentes: resize_height, resize_longest_side y auto_size no se pueden combinar.
  • Tarea de entrada no válida: El input_task_id debe hacer referencia a una tarea exitosa.
  • Formato de modelo no válido: El model_url apunta a un archivo con una extensión no compatible.
  • URL inaccesible: No se pudo descargar el model_url.
  • 401 - Unauthorized

La autenticación falló. Comprueba tu clave de API.

  • 402 - Payment Required

Créditos insuficientes para realizar esta tarea.

  • 429 - Too Many Requests

Has superado tu límite de tasa.

Request

POST
/openapi/v1/resize
# 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"
}

GET/openapi/v1/resize/:id

Recuperar una tarea de Redimensionar

Este endpoint recupera una tarea de redimensionamiento por su ID.

Parámetros

  • Name
    id
    Type
    path
    Description

    El ID de la tarea de redimensionamiento que se va a recuperar.

Devuelve

El objeto de tarea de Redimensionar.

Request

GET
/openapi/v1/resize/:id
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "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
}

DELETE/openapi/v1/resize/:id

Eliminar una tarea de Redimensionar

Este endpoint elimina permanentemente una tarea de redimensionamiento, incluidos 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 redimensionamiento que se va a eliminar.

Devuelve

Devuelve 200 OK si se realiza correctamente.

Request

DELETE
/openapi/v1/resize/:id
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 200 Ok on success.

GET/openapi/v1/resize

Listar tareas de Redimensionar

Este endpoint te permite recuperar una lista de tareas de redimensionamiento.

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 de tamaño de página. El máximo permitido es de 50 elementos.

  • Name
    sort_by
    Type
    string
    Description

    Campo por el que ordenar. Valores disponibles:

    • +created_at: Ordenar por hora de creación en orden ascendente.
    • -created_at: Ordenar por hora de creación en orden descendente.

Devuelve

Devuelve una lista paginada de los objetos de tarea de Redimensionar.

Request

GET
/openapi/v1/resize
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "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
  }
]

GET/openapi/v1/resize/:id/stream

Transmitir una tarea de Redimensionar

Este endpoint transmite actualizaciones en tiempo real para una tarea de redimensionamiento mediante Server-Sent Events (SSE).

Parámetros

  • Name
    id
    Type
    path
    Description

    Identificador único de la tarea de redimensionamiento que se va a transmitir.

Devuelve

Devuelve un flujo de los objetos de tarea de Redimensionar como Server-Sent Events.

Para tareas PENDING o IN_PROGRESS, el flujo de respuesta solo incluirá los campos necesarios progress y status.

Request

GET
/openapi/v1/resize/:id/stream
curl -N https://api.meshy.ai/openapi/v1/resize/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": "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 Redimensionar

El objeto de tarea Redimensionar representa un trabajo de redimensionamiento.

Propiedades

  • id · string

Identificador único de la tarea.

  • type · string

Tipo de la tarea. El valor es resize.

  • model_urls · object

URL descargable para el archivo de modelo redimensionado. Al usar input_task_id, la salida siempre es GLB. Al usar model_url, la salida conserva el formato original.

  • progress · integer

Progress de la tarea (0-100).

  • status · string

Estado de la tarea. Valores posibles: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · integer

El recuento de tareas precedentes. Solo es significativo cuando el estado es PENDING.

  • created_at · timestamp

Marca de tiempo de cuando se creó la tarea, en milisegundos.

  • started_at · timestamp

Marca de tiempo de cuando se inició la tarea, en milisegundos. 0 si no se ha iniciado.

  • finished_at · timestamp

Marca de tiempo de cuando se finalizó la tarea, en milisegundos. 0 si no ha finalizado.

  • task_error · object

Objeto de error si la tarea falló. Consulta Errores para obtener más detalles.

  • consumed_credits · integer

El número de créditos consumidos por esta tarea (1 crédito por tarea de redimensionamiento). Devuelve 0 para tareas FAILED.