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.


POST/openapi/v1/resize

Crear una Tarea de Redimensionamiento

Este endpoint crea una nueva tarea de redimensionamiento.

Parámetros

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

  • 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 en bottom 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.

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_url o input_task_id.
  • Modo de redimensionamiento 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 pueden combinarse.
  • Tarea de entrada inválida: El input_task_id debe referirse a una tarea exitosa.
  • Formato de modelo inválido: El model_url apunta 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

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

GET
/openapi/v1/resize/:id
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
}

DELETE/openapi/v1/resize/:id

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

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

Respuesta

// Returns 200 Ok on success.

GET/openapi/v1/resize

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 50 elementos.

  • 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

GET
/openapi/v1/resize
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
  }
]

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

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

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

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.