lowpoly será descontinuado em 30 de out. de 2026. Troque de modelo antes dessas datas para evitar erros nas solicitações. Ver todas as descontinuações

API de Impressão Multicolorida

Converta um modelo 3D em um arquivo 3MF multicolorido para impressão 3D. Escolha uma paleta de até 16 cores e um preset de fatiador para a marca da sua impressora.


POST/openapi/v1/print/multi-color

Create a Multi-Color Print task

Cria uma tarefa de Multi-Color Print, que converte um modelo 3D em um arquivo 3MF multicolorido para impressão 3D. A tarefa é executada em segundo plano. Para saber quanto tempo uma tarefa costuma levar, consulte Tempos de processamento.

Request

POST
/openapi/v1/print/multi-color
# Convert a 3D model to a multi-color 3MF with a Creality slicer preset
curl https://api.meshy.ai/openapi/v1/print/multi-color \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "max_colors": 8,
    "printer_brand": "creality"
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

Parâmetros

  • Name
    input_task_id
    Type
    string
    Obrigatório
    Description

    Obrigatório, a menos que você envie model_url. O ID da tarefa cujo modelo você deseja imprimir, por exemplo, uma tarefa de Imagem para 3D, Multi-imagem para 3D, Texto para 3D, Remesh ou Retexturizar. A tarefa deve ser uma que você criou com a API e deve ter o status SUCCEEDED.

    O Multi-Color Print lê o arquivo GLB da tarefa, que pode ter no máximo 8.000.000 de faces. Um modelo com mais faces retorna 400. Nesse caso, execute primeiro uma tarefa de Remesh nele e envie o ID da tarefa de Remesh em vez disso.

  • Name
    model_url
    Type
    string
    Obrigatório
    Description

    Obrigatório, a menos que você envie input_task_id. O modelo a ser impresso, como uma URL pública ou um Data URI. Se você enviar ambos, o Meshy usa input_task_id.

    Uma URL http ou https deve apontar para um arquivo .glb ou .fbx de no máximo 400 MB. Um Data URI deve conter um arquivo GLB em base64 de no máximo 100 MB. Use data:model/gltf-binary;base64,. Envie um arquivo .fbx como uma URL http ou https.

    Um arquivo acima de 100 MB também deve seguir estas regras:

    • Pode ter no máximo 8.000.000 de faces. O Meshy conta faces como triângulos, então um quad conta como 2, e uma malha desenhada mais de uma vez conta uma vez por cópia.
    • Um arquivo FBX deve ser FBX binário 7.1 ou mais recente.
    • Um arquivo GLB não deve usar compressão Draco.
  • Name
    max_colors
    Type
    integer
    padrão 4
    Description

    O número máximo de cores na paleta de saída, de 1 a 16. Para usar o padrão, omita em vez de enviar 0.

  • Name
    style
    Type
    string
    padrão realistic
    Description

    O estilo de cor do arquivo 3MF.

    Valores disponíveis:

    • realistic: amostra cores diretamente da textura do modelo para um detalhe fino e fotorrealista, e gera um arquivo maior.
    • cartoon: achata as cores em regiões limpas e uniformes para um visual estilizado, e gera um arquivo menor.

    O modelo deve ter cor. realistic precisa de uma única textura de cor base, com UVs em cada parte da malha, e cartoon também aceita cores de vértice. O Meshy rejeita um modelo sem textura (branco). Veja model_missing_texture.

  • Name
    max_depth
    Type
    integer
    padrão 4
    Description

    A profundidade de subdivisão que o Meshy usa para amostrar cores de textura na malha, de 3 a 6. 0 equivale a omitir o parâmetro. Valores mais altos capturam detalhes de cor mais finos e geram um arquivo maior. Somente o estilo realistic o utiliza, e cartoon o ignora.

  • Name
    printer_brand
    Type
    string
    padrão bambu
    Description

    A marca da impressora cujo preset de fatiador o Meshy grava no arquivo 3MF. O arquivo então abre no fatiador dessa marca com um perfil correspondente de impressora, filamento e processo. O preset usa a impressora padrão da marca, com um bico de 0,4 mm.

    Valores disponíveis:

    • bambu
    • anycubic
    • creality
    • elegoo
    • flashforge
    • prusa
    • qidi
    • snapmaker
    • ankermake

    Qualquer outro valor retorna 400.

Retornos

O campo result da resposta contém o ID da nova tarefa de Multi-Color Print.

Modos de falha

  • Name
    400 - Bad Request
    Description

    A requisição não pode ser executada. A mensagem de erro indica qual problema foi encontrado. Por exemplo:

    • Parâmetro ausente: Nem model_url nem input_task_id foram enviados.
    • Formato de modelo inválido: O arquivo de model_url não é um arquivo .glb ou .fbx.
    • URL inacessível: O Meshy não consegue baixar o arquivo de model_url.
    • Arquivo de modelo muito grande: O arquivo de model_url tem mais de 400 MB a partir de uma URL http ou https, ou mais de 100 MB como Data URI.
    • Excesso de faces: O arquivo de model_url tem mais de 100 MB e mais de 8.000.000 de faces. Reduza a contagem de faces e envie o arquivo novamente.
    • FBX ASCII acima de 100 MB: O arquivo de model_url é um FBX ASCII com mais de 100 MB. Envie-o como FBX binário ou GLB.
    • Arquivo de modelo ilegível: O arquivo de model_url tem mais de 100 MB, e o Meshy não consegue ler seu cabeçalho. Por exemplo, é um GLB comprimido com Draco, ou um FBX binário anterior à versão 7.1.
    • Cabeçalho do modelo muito complexo: O arquivo de model_url tem mais de 100 MB, e seu cabeçalho tem malhas, nós ou registros demais para verificar. Reduza o número de objetos no arquivo e envie-o novamente.
    • Tarefa de entrada inválida: input_task_id não é uma tarefa bem-sucedida.
    • Excesso de faces na tarefa de entrada: O modelo de input_task_id tem mais de 8.000.000 de faces. Execute uma tarefa de Remesh nele e envie o ID da tarefa de Remesh em vez disso.
    • max_colors inválido: max_colors é negativo ou maior que 16.
    • style inválido: style não é realistic nem cartoon.
    • max_depth inválido: max_depth está fora do intervalo de 3 a 6, e não é 0.
    • printer_brand inválido: printer_brand não é um dos valores disponíveis.
    • Nenhuma fonte de cor: O modelo não tem a cor que style exige. realistic precisa de uma única textura de cor base, com UVs, em cada parte da malha. cartoon aceita uma textura de cor base ou cores de vértice. Texturize o modelo primeiro, ou use cartoon para um modelo com cores de vértice. O Meshy verifica um upload .fbx somente depois que a tarefa o normaliza, então a tarefa falha com model_missing_texture em vez disso.

    Corrija a requisição e envie-a novamente. Veja Erros.

  • Name
    401 - Unauthorized
    Description

    A chave de API está ausente ou é inválida. Verifique o cabeçalho Authorization.

  • Name
    402 - Payment Required
    Description

    Por exemplo:

    • Créditos insuficientes: A conta não tem créditos suficientes para esta tarefa, ou a conta atingiu um limite de créditos. Verifique seu saldo de créditos e tente novamente.
    • Plano gratuito: Criar uma tarefa requer um plano pago. Faça upgrade do seu plano nas configurações de assinatura e tente novamente.
  • Name
    403 - Forbidden
    Description

    input_task_id é um modelo em baixo-relevo, que este endpoint não consegue imprimir. A mensagem é This model type does not support this operation. Envie um modelo diferente.

  • Name
    404 - Not Found
    Description

    input_task_id não corresponde a nenhuma das suas tarefas. Verifique o ID da tarefa e envie a requisição novamente.

  • Name
    429 - Too Many Requests
    Description

    Você excedeu seu limite de taxa. Aguarde e tente novamente. Veja Limites de taxa.


GET/openapi/v1/print/multi-color/:id

Obter uma tarefa de Impressão multicolorida

Retorna uma tarefa de Impressão multicolorida pelo seu ID.

Request

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

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}

Parâmetros

  • Name
    id
    Type
    path
    Description

    O ID da tarefa retornado na resposta de criação.

Retorno

O objeto de tarefa de Impressão multicolorida.


DELETE/openapi/v1/print/multi-color/:id

Excluir uma tarefa de Impressão Multicolorida

Exclui permanentemente uma tarefa de impressão multicolorida, incluindo seus modelos e dados. Não é possível desfazer uma exclusão.

Request

DELETE
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/multi-color/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 keeps 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."
}

Parâmetros de caminho

  • Name
    id
    Type
    path
    Description

    O ID da tarefa a ser excluída.

Status da tarefa

Excluir uma tarefa PENDING reembolsa os créditos usados na sua criação.

Uma tarefa IN_PROGRESS não pode ser excluída. A solicitação retorna 409 Conflict, e a tarefa continua em execução. A Meshy não reembolsa uma tarefa que já foi iniciada, então excluí-la custaria tanto os créditos quanto o resultado. Aguarde até que ela alcance o status SUCCEEDED, FAILED ou CANCELED e, então, exclua-a.

Excluir uma tarefa em um status final (SUCCEEDED, FAILED ou CANCELED) não reembolsa seus créditos.

Retornos

200 OK quando a tarefa é excluída, ou 409 Conflict quando a tarefa está IN_PROGRESS.


GET/openapi/v1/print/multi-color

Listar tarefas de Multi-Color Print

Retorna uma lista das suas tarefas de Multi-Color Print.

Request

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

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-multi-color",
    "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null,
  "consumed_credits": 10
  }
]

Parâmetros

  • Name
    page_num
    Type
    integer
    padrão 1
    Description

    O número da página a ser retornada. A numeração das páginas começa em 1.

  • Name
    page_size
    Type
    integer
    padrão 10
    Description

    O número de tarefas por página, até 100.

  • Name
    sort_by
    Type
    string
    Description

    A ordem de classificação.

    Valores disponíveis:

    • +created_at: mais antigas primeiro
    • -created_at: mais recentes primeiro

Retornos

Uma lista paginada de objetos de tarefa de Multi-Color Print.


GET/openapi/v1/print/multi-color/:id/stream

Transmitir uma tarefa de impressão multicolorida

Transmite as atualizações de uma tarefa de impressão multicolorida como Server-Sent Events (SSE).

Request

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

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-multi-color",
  "model_urls": {
    "3mf": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.3mf?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}

Parâmetros

  • Name
    id
    Type
    path
    Description

    O ID da tarefa retornado na resposta de criação.

Retornos

Um stream de objetos de tarefa de impressão multicolorida como Server-Sent Events.

Cada evento contém o objeto de tarefa completo, no mesmo formato retornado pelo endpoint Get. Enquanto a tarefa estiver PENDING ou IN_PROGRESS, seus campos de resultado ainda não têm valores.


O objeto de tarefa de Impressão Multicolorida

Um objeto de tarefa de Impressão Multicolorida descreve uma conversão de um modelo 3D em um arquivo 3MF multicolorido. Ele contém o status, o progress e o arquivo 3MF quando a tarefa é concluída com sucesso.

The 3D Print Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}
  • Name
    id
    Type
    string
    Description

    O ID da tarefa. Trate-o como uma string opaca e não dependa do seu formato.

  • Name
    type
    Type
    string
    Description

    O tipo da tarefa, sempre print-multi-color.

  • Name
    model_urls
    Type
    object
    Description

    URLs de download para o modelo impresso, uma por formato de arquivo. Um formato que a tarefa não gerou não possui chave, em vez de uma string vazia.

    • Name
      3mf
      Type
      string
      Description

      O arquivo 3MF multicolorido.

  • Name
    progress
    Type
    integer
    Description

    Quanto da tarefa está concluído, em porcentagem. É 0 até a tarefa começar e 100 quando ela é concluída com sucesso.

  • Name
    status
    Type
    string
    Description

    O status da tarefa, um de PENDING, IN_PROGRESS, SUCCEEDED ou FAILED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    O número de tarefas à frente desta na fila. O valor é significativo apenas enquanto a tarefa está PENDING.

  • Name
    created_at
    Type
    timestamp
    Description

    Horário em que a tarefa foi criada, em milissegundos Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Horário em que a tarefa começou, em milissegundos Unix. É 0 até a tarefa começar.

  • Name
    finished_at
    Type
    timestamp
    Description

    Horário em que a tarefa terminou, em milissegundos Unix. É 0 até a tarefa terminar.

  • Name
    task_error
    Type
    object
    Description

    Os detalhes do erro quando a tarefa falha. Veja Erros.

  • Name
    consumed_credits
    Type
    integer
    Description

    O número de créditos que a tarefa utilizou. Presente quando o status é PENDING, IN_PROGRESS ou SUCCEEDED. É 0 para uma tarefa FAILED, pois a Meshy reembolsa os créditos quando uma tarefa falha.