API de Impressão Multicor
Converter modelos 3D para o formato 3MF multicor para impressão 3D, com uma paleta de cores configurável de até 16 cores.
Create a Multi-Color 3D Print Task
Este endpoint cria uma nova tarefa de impressão 3D multi-cor. A tarefa converte um modelo 3D num ficheiro 3MF multi-cor adequado para impressão 3D.
Parâmetros
Apenas um de input_task_id ou model_url é obrigatório. Se ambos forem fornecidos, input_task_id tem prioridade.
- Name
- input_task_id
- Type
- string
- Obrigatório
- Description
O ID de uma tarefa bem-sucedida a usar como entrada. Tipos de tarefa suportados: Imagem para 3D, Multi-imagem para 3D, Texto para 3D, Remesh e Retexturizar. A tarefa deve ter o estado
SUCCEEDED.
- Name
- model_url
- Type
- string
- Obrigatório
- Description
URL publicamente acessível ou Data URI de um modelo 3D. Atualmente suportamos os formatos
.glbe.fbx.
- Name
- max_colors
- Type
- integer
- predefinição 4
- Description
Número máximo de cores na paleta de saída.
Intervalo válido:
1a16.
- 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 foto-realista. Produz um ficheiro maior.cartoon: Achata as cores em regiões uniformes e limpas para um visual estilizado. Produz um ficheiro mais pequeno.
A entrada deve conter cor:
realisticrequer uma única textura de cor base com coordenadas UV em cada parte da malha;cartoontambém aceita cores por vértice. Modelos sem textura (brancos) são rejeitados — consultemodel_missing_texture.
Retorna
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_urlouinput_task_id. - Formato de modelo inválido: O
model_urlaponta para um ficheiro com uma extensão não suportada (apenas.glbe.fbxsão suportados). - URL inacessível: Não foi possível transferir o
model_url. - Tarefa de entrada inválida: O
input_task_iddeve 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
realisticoucartoon. - Sem fonte de cor: O modelo de entrada não tem uma textura de cor base (
realisticprecisa de uma, com UVs, em cada parte da malha) nem cores de vértice (cartoonaceita qualquer uma delas). Aplique textura ao modelo primeiro, ou usecartoonpara modelos com cor de vértice. Os carregamentos.fbxsão verificados após a tarefa os normalizar e falham commodel_missing_textureem vez disso.
- Parâmetro em falta: É necessário fornecer
- Name
401 - Unauthorized- Description
A autenticação falhou. Por favor, 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
# Convert a 3D model to multi-color 3MF for printing
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
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
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 da Tarefa de Impressão 3D.
Request
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
}
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 Caminho
- Name
- id
- Type
- path
- Description
O ID da tarefa de impressão 3D multicolor a eliminar.
Estado da Tarefa
Uma tarefa que ainda está PENDING é eliminada e os créditos consumidos no
momento da criação são reembolsados.
Uma tarefa que já está 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á iniciou não são reembolsáveis, pelo que eliminá-la a meio da execução
faria com que perdesse tanto os créditos como o resultado. Aguarde até que atinja o estado
SUCCEEDED, FAILED ou CANCELED e só depois a elimine.
Uma tarefa num estado terminal (SUCCEEDED, FAILED ou CANCELED) é eliminada
sem reembolso.
Devolve
Devolve 200 OK em caso de sucesso, ou 409 Conflict quando a tarefa está
IN_PROGRESS.
Request
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."
}
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 assume por predefinição
1.
- Name
- page_size
- Type
- integer
- Description
Limite de itens por página. O valor predefinido é
10itens. O máximo permitido é100itens.
- Name
- sort_by
- Type
- string
- Description
Campo pelo qual ordenar. Valores disponíveis:
+created_at: Ordenar pela hora de criação em ordem ascendente.-created_at: Ordenar pela hora de criação em ordem descendente.
Retorna
Retorna uma lista paginada de Objetos de Tarefa de Impressão 3D.
Request
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
}
]
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.
Retorna
Retorna um stream de The 3D Print Task Objects como Server-Sent Events.
Para tarefas PENDING ou IN_PROGRESS, o stream de resposta incluirá apenas os campos progress e status necessários.
Request
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 das tarefas como detalhe de implementação, não deve fazer suposições 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 para download do ficheiro de modelo 3D gerado pela Meshy. A propriedade de um formato será omitida se o formato não for gerado, em vez de devolver uma string vazia.
- Name
3mf- Type
- string
- Description
URL para download do ficheiro 3MF multicolor.
- Name
- progress
- Type
- integer
- Description
Progress da tarefa. Se a tarefa ainda não tiver começado, esta propriedade será
0. Uma vez que a tarefa tenha sido concluída com sucesso, passará a ser100.
- 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.
O valor deste campo só é relevante se o estado da tarefa for
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Carimbo de data/hora de quando a tarefa foi criada, em milissegundos.
- Name
- started_at
- Type
- timestamp
- Description
Carimbo de data/hora de quando a tarefa foi iniciada, 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 de quando a tarefa foi terminada, 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, ouSUCCEEDED. Devolve0para tarefasFAILED(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
}