lowpoly será descontinuado a 30/10/2026. Mude de modelo antes destas datas para evitar erros nos pedidos.

API de Impressão Multicor

Converter modelos 3D para o formato 3MF multicor para impressão 3D, com uma paleta de cores configurável até 16 cores.


POST/openapi/v1/print/multi-color

Criar uma Tarefa de Impressão 3D Multicolor

Este endpoint cria uma nova tarefa de impressão 3D multicolor. A tarefa converte um modelo 3D num ficheiro 3MF multicolor adequado para impressão 3D.

A tarefa é executada em segundo plano. Para saber quanto tempo demora normalmente, consulte Tempos de Processamento.

Parâmetros

  • Name
    model_url
    Type
    string
    Obrigatório
    Description

    URL publicamente acessível de um modelo .glb ou .fbx, ou um URL data: em base64 de um GLB (data:model/gltf-binary;base64,...). Um .fbx deve ser enviado como um URL http ou https.

    Tamanho máximo do ficheiro: 400 MB para um URL http ou https, 100 MB para um URI data:.

    Um ficheiro acima de 100 MB pode ter no máximo 8.000.000 faces. As faces são contadas como triângulos: um quadrilátero conta como 2, e uma malha desenhada mais do que uma vez conta uma vez por cópia. Acima de 100 MB, um ficheiro FBX deve ser FBX binário 7.1 ou mais recente, e um ficheiro GLB não pode usar compressão Draco.

  • Name
    max_colors
    Type
    integer
    predefinição 4
    Description

    Número máximo de cores na paleta de saída.

    Intervalo válido: 1 a 16.

  • Name
    style
    Type
    string
    predefinição realistic
    Description

    Estilo visual de cor do ficheiro 3MF gerado.

    Valores disponíveis:

    • realistic: Amostra as cores diretamente da textura do modelo para um detalhe fino e fotorrealista. Produz um ficheiro maior.
    • cartoon: Achata as cores em regiões uniformes e limpas para um aspeto estilizado. Produz um ficheiro mais pequeno.

    A entrada deve conter cor: realistic requer uma única textura de cor base com coordenadas UV em cada parte da malha; cartoon também aceita cores por vértice. Modelos sem textura (brancos) são rejeitados — ver model_missing_texture.

  • Name
    max_depth
    Type
    integer
    predefinição 4
    Description

    Profundidade de subdivisão usada para amostrar as cores da textura na malha. Valores mais altos captam um detalhe de cor mais fino ao custo de um ficheiro maior. Aplica-se apenas ao estilo realistic; é ignorado para cartoon.

    Intervalo válido: 3 a 6.

  • Name
    printer_brand
    Type
    string
    predefinição bambu
    Description

    Marca de impressora cujo perfil de software de corte é escrito no 3MF, para que o ficheiro abra no software de corte dessa marca com um perfil correspondente de impressora, filamento e processo. Cada marca usa a sua impressora predefinida com um bico de 0,4 mm.

    Valores disponíveis: bambu, anycubic, creality, elegoo, flashforge, prusa, qidi, snapmaker, ankermake.

Retornos

A propriedade result da resposta contém o id da tarefa de impressão 3D recém-criada.

Modos de Falha

  • Name
    400 - Bad Request
    Description

    O pedido foi inaceitável. Causas comuns:

    • Parâmetro em falta: É necessário fornecer model_url ou input_task_id.
    • Formato de modelo inválido: O model_url aponta para um ficheiro com uma extensão não suportada (apenas .glb e .fbx são suportados).
    • URL inacessível: Não foi possível transferir o model_url.
    • Ficheiro de modelo demasiado grande: O ficheiro model_url excede 400 MB (URL http ou https) ou 100 MB (URI data:).
    • Demasiadas faces: O ficheiro model_url tem mais de 100 MB e mais de 8.000.000 faces. Reduza o número de faces e envie o ficheiro novamente.
    • FBX ASCII acima de 100 MB: O ficheiro model_url é um FBX ASCII acima de 100 MB. Envie-o como FBX binário ou GLB.
    • Ficheiro de modelo ilegível: O ficheiro model_url tem mais de 100 MB e o seu cabeçalho não pode ser lido, por exemplo um GLB comprimido com Draco, ou um FBX binário anterior à versão 7.1.
    • Cabeçalho do modelo demasiado complexo: O ficheiro model_url tem mais de 100 MB e o seu cabeçalho tem demasiadas malhas, nós ou registos para verificar. Reduza o número de objetos no ficheiro e envie-o novamente.
    • Tarefa de entrada inválida: O input_task_id deve referir-se a uma tarefa bem-sucedida.
    • max_colors inválido: O valor deve estar entre 1 e 16.
    • style inválido: O valor deve ser realistic ou cartoon.
    • max_depth inválido: O valor deve estar entre 3 e 6.
    • printer_brand inválido: O valor deve ser uma das marcas listadas acima.
    • Sem fonte de cor: O modelo de entrada não tem textura de cor base (realistic precisa de uma única, com UVs, em cada parte da malha) nem cores por vértice (cartoon aceita qualquer uma das duas). Texturize primeiro o modelo, ou use cartoon para modelos com cor por vértice. Os uploads .fbx são verificados após a tarefa os normalizar e falham com model_missing_texture em vez disso.
  • Name
    401 - Unauthorized
    Description

    A autenticação falhou. Verifique a sua chave de API.

  • Name
    402 - Payment Required
    Description

    Créditos insuficientes para realizar esta tarefa.

  • Name
    429 - Too Many Requests
    Description

    Excedeu o seu limite de taxa.

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

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

Obter uma Tarefa de Impressão 3D Multicolor

Este endpoint obtém uma tarefa de impressão 3D multicolor através do seu ID.

Parâmetros

  • Name
    id
    Type
    path
    Description

    O ID da tarefa de impressão 3D a obter.

Retorna

O objeto Tarefa de Impressão 3D.

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
}

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

Eliminar uma Tarefa de Impressão 3D Multicolor

Este endpoint elimina permanentemente uma tarefa de impressão 3D multicolor, incluindo todos os modelos e dados associados. Esta ação é irreversível.

Parâmetros de Path

  • Name
    id
    Type
    path
    Description

    O ID da tarefa de impressão 3D multicolor a eliminar.

Estado da Tarefa

Uma tarefa que ainda esteja PENDING é eliminada e os créditos consumidos no momento da criação são reembolsados.

Uma tarefa que já esteja IN_PROGRESS não pode ser eliminada: o pedido é rejeitado com 409 Conflict e a tarefa continua a ser executada. Os créditos de uma tarefa que o worker já tenha iniciado não são reembolsáveis, pelo que eliminá-la a meio da execução custar-lhe-ia tanto os créditos como o resultado. Aguarde que atinja o estado SUCCEEDED, FAILED ou CANCELED e, só depois, elimine-a.

Uma tarefa num estado terminal (SUCCEEDED, FAILED ou CANCELED) é eliminada sem reembolso.

Retorna

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

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 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/print/multi-color

Listar Tarefas de Impressão 3D Multicolor

Este endpoint permite obter uma lista de tarefas de impressão 3D multicolor.

Parâmetros

Atributos opcionais

  • Name
    page_num
    Type
    integer
    Description

    Número da página para paginação. Começa e tem como padrão 1.

  • Name
    page_size
    Type
    integer
    Description

    Limite de tamanho da página. O padrão é 10 itens. O máximo permitido é 100 itens.

  • Name
    sort_by
    Type
    string
    Description

    Campo pelo qual ordenar. Valores disponíveis:

    • +created_at: Ordenar pela hora de criação por ordem ascendente.
    • -created_at: Ordenar pela hora de criação por ordem descendente.

Devolve

Devolve uma lista paginada de Objetos de Tarefa de Impressão 3D.

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

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

Transmitir uma Tarefa de Impressão 3D Multicolor

Este endpoint transmite atualizações em tempo real para uma tarefa de impressão 3D multicolor utilizando Server-Sent Events (SSE).

Parâmetros

  • Name
    id
    Type
    path
    Description

    Identificador único da tarefa de impressão 3D multicolor a transmitir.

Devolve

Devolve um fluxo de Objetos de Tarefa de Impressão 3D 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/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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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
}

O Objeto de Tarefa de Impressão 3D

  • Name
    id
    Type
    string
    Description

    Identificador único da tarefa. Embora utilizemos um UUID k-sortable para os ids de tarefas como detalhe de implementação, não deve fazer nenhuma suposição sobre o formato do id.

  • Name
    type
    Type
    string
    Description

    Tipo da tarefa de Impressão 3D. O valor é print-multi-color.

  • Name
    model_urls
    Type
    object
    Description

    URL transferível para o ficheiro do modelo 3D gerado pela Meshy. A propriedade de um formato será omitida se esse formato não for gerado, em vez de ser devolvida uma string vazia.

    • Name
      3mf
      Type
      string
      Description

      URL transferível para o ficheiro 3MF multicolor.

  • Name
    progress
    Type
    integer
    Description

    Progresso da tarefa. Se a tarefa ainda não tiver começado, esta propriedade será 0. Assim que a tarefa for concluída com sucesso, passará a 100.

  • Name
    status
    Type
    string
    Description

    Estado da tarefa. Os valores possíveis são um de PENDING, IN_PROGRESS, SUCCEEDED, FAILED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    A contagem de tarefas precedentes.

  • Name
    created_at
    Type
    timestamp
    Description

    Carimbo de data/hora da criação da tarefa, em milissegundos.

  • Name
    started_at
    Type
    timestamp
    Description

    Carimbo de data/hora do início da tarefa, em milissegundos. Se a tarefa ainda não tiver começado, esta propriedade será 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Carimbo de data/hora da conclusão da tarefa, em milissegundos. Se a tarefa ainda não tiver terminado, esta propriedade será 0.

  • Name
    task_error
    Type
    object
    Description

    Detalhes do erro para tarefas falhadas. Consulte Erros para a referência completa do objeto task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    O número de créditos consumidos por esta tarefa. Presente quando o estado da tarefa é PENDING, IN_PROGRESS, ou SUCCEEDED. Devolve 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).

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
}