meshy-5 será descontinuado em 10 de out. de 2026. lowpoly será descontinuado em 30 de out. de 2026. Troque de modelo antes dessas datas para evitar erros nas solicitações.

API de Redimensionar

A API de Redimensionar permite redimensionar modelos 3D existentes para dimensões reais. Você pode especificar uma altura exata, uma restrição de lado mais longo, ou deixar a IA estimar automaticamente o tamanho apropriado.


POST/openapi/v1/resize

Criar uma Tarefa de Redimensionamento

Este endpoint cria uma nova tarefa de redimensionamento.

Parâmetros

  • Name
    input_task_id
    Type
    string
    Obrigatório
    Description

    O ID de uma tarefa Meshy concluída cujo modelo você deseja redimensionar. A tarefa deve ter o status SUCCEEDED. O formato de saída será GLB.

  • Name
    model_url
    Type
    string
    Obrigatório
    Description

    Uma URL publicamente acessível ou data URI apontando para um arquivo de modelo 3D. Formatos suportados: .glb, .gltf, .obj, .fbx, .stl. Para Data URIs, use o MIME type: application/octet-stream. O formato de saída preservará o formato original do modelo de entrada.

  • Name
    resize_height
    Type
    number
    Description

    Redimensiona o modelo para uma altura específica medida em metros.

  • Name
    resize_longest_side
    Type
    number
    Description

    Redimensiona o modelo de forma que seu lado mais longo corresponda a este valor, medido em metros. A proporção é preservada.

  • Name
    auto_size
    Type
    boolean
    Description

    Quando definido como true, o serviço usa visão de IA para estimar automaticamente a altura real do objeto no mundo real e redimensionar o modelo de acordo. A origem terá como padrão bottom, a menos que origin_at seja explicitamente definido.

  • Name
    origin_at
    Type
    string
    padrão bottom
    Description

    Posição da origem após o redimensionamento.

    Valores disponíveis: bottom, center.

Retornos

A propriedade result da resposta contém o id da tarefa de redimensionamento recém-criada.

Modos de Falha

  • 400 - Bad Request

A requisição foi inaceitável. Causas comuns:

  • Parâmetro ausente: model_url ou input_task_id deve ser fornecido.
  • Modo de redimensionamento ausente: Pelo menos um entre resize_height, resize_longest_side ou auto_size deve ser especificado.
  • Parâmetros mutuamente exclusivos: resize_height, resize_longest_side e auto_size não podem ser combinados.
  • Tarefa de entrada inválida: input_task_id deve se referir a uma tarefa bem-sucedida.
  • Formato de modelo inválido: model_url aponta para um arquivo com uma extensão não suportada.
  • URL inacessível: model_url não pôde ser baixado.
  • 401 - Unauthorized

A autenticação falhou. Por favor, verifique sua chave de API.

  • 402 - Payment Required

Créditos insuficientes para realizar esta tarefa.

  • 429 - Too Many Requests

Você excedeu seu limite de taxa.

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 uma Tarefa de Redimensionamento

Este endpoint recupera uma tarefa de redimensionamento pelo seu ID.

Parâmetros

  • Name
    id
    Type
    path
    Description

    O ID da tarefa de redimensionamento a ser recuperada.

Retornos

O objeto Resize Task.

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

Excluir uma tarefa de Redimensionamento

Este endpoint exclui permanentemente uma tarefa de redimensionamento, incluindo todos os modelos e dados associados. Esta ação é irreversível.

Parâmetros de Caminho

  • Name
    id
    Type
    path
    Description

    O ID da tarefa de redimensionamento a ser excluída.

Status da Tarefa

Uma tarefa que ainda está PENDING é excluída e os créditos consumidos no momento da criação são reembolsados.

Uma tarefa que já está IN_PROGRESS não pode ser excluída: a solicitação é rejeitada com 409 Conflict e a tarefa continua em execução. Créditos de uma tarefa que o worker já iniciou não são reembolsáveis, então excluí-la no meio da execução custaria tanto os créditos quanto o resultado. Aguarde até que ela atinja SUCCEEDED, FAILED ou CANCELED, então exclua-a.

Uma tarefa em um estado terminal (SUCCEEDED, FAILED ou CANCELED) é excluída sem reembolso.

Retornos

Retorna 200 OK em caso de sucesso, ou 409 Conflict quando a tarefa está IN_PROGRESS.

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

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

GET/openapi/v1/resize

Listar Tarefas de Redimensionamento

Este endpoint permite recuperar uma lista de tarefas de redimensionamento.

Parâmetros

  • Name
    page_num
    Type
    integer
    padrão 1
    Description

    Número da página para paginação.

  • Name
    page_size
    Type
    integer
    padrão 10
    Description

    Limite de tamanho da página. O máximo permitido é 100 itens.

  • Name
    sort_by
    Type
    string
    Description

    Campo pelo qual ordenar. Valores disponíveis:

    • +created_at: Ordenar pelo horário de criação em ordem crescente.
    • -created_at: Ordenar pelo horário de criação em ordem decrescente.

Retornos

Retorna uma lista paginada de Objetos de Tarefa de Redimensionamento.

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 uma Tarefa de Redimensionamento

Este endpoint transmite atualizações em tempo real de uma tarefa de redimensionamento usando Server-Sent Events (SSE).

Parâmetros

  • Name
    id
    Type
    path
    Description

    Identificador único da tarefa de redimensionamento a ser transmitida.

Retornos

Retorna um fluxo de The Resize Task Objects como Server-Sent Events.

Para tarefas PENDING ou IN_PROGRESS, o fluxo de resposta incluirá apenas os campos progress e status necessários.

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
}

O Objeto Resize Task

O objeto Resize Task representa uma tarefa de redimensionamento.

Propriedades

  • id · string

Identificador único da tarefa.

  • type · string

Tipo da tarefa. O valor é resize.

  • model_urls · object

URL para download do arquivo do modelo redimensionado. Ao usar input_task_id, a saída é sempre GLB. Ao usar model_url, a saída preserva o formato original.

  • progress · integer

progress da tarefa (0-100).

  • status · string

Status da tarefa. Valores possíveis: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · integer

A contagem de tarefas precedentes. Significativo apenas quando o status é PENDING.

  • created_at · timestamp

Carimbo de data/hora de quando a tarefa foi criada, em milissegundos.

  • started_at · timestamp

Carimbo de data/hora de quando a tarefa foi iniciada, em milissegundos. 0 se não foi iniciada.

  • finished_at · timestamp

Carimbo de data/hora de quando a tarefa foi finalizada, em milissegundos. 0 se não foi finalizada.

  • task_error · object

Objeto de erro caso a tarefa tenha falhado. Consulte Erros para mais detalhes.

  • consumed_credits · integer

O número de créditos consumidos por esta tarefa (1 crédito por tarefa de redimensionamento). Retorna 0 para tarefas FAILED.