API de Impressão Multicolorida
Converta modelos 3D para o formato 3MF multicolorido para impressão 3D, com uma paleta de cores configurável de até 16 cores.
Criar uma Tarefa de Impressão 3D Multi-Color
Este endpoint cria uma nova tarefa de impressão 3D multi-color. A tarefa converte um modelo 3D em um arquivo 3MF multi-color adequado para impressão 3D.
Parâmetros
Apenas um dos parâmetros 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 ser usada como entrada. Tipos de tarefa suportados: Imagem para 3D, Multi-imagem para 3D, Texto para 3D, Remesh e Retexturizar. A tarefa deve ter o status
SUCCEEDED.
- Name
- model_url
- Type
- string
- Obrigatório
- Description
URL publicamente acessível ou Data URI de um modelo 3D. Atualmente oferecemos suporte aos formatos
.glbe.fbx.
- Name
- max_colors
- Type
- integer
- padrão 4
- Description
Número máximo de cores na paleta de saída.
Intervalo válido:
1a16.
- Name
- style
- Type
- string
- padrão realistic
- Description
Estilo visual de cor do arquivo 3MF gerado.
Valores disponíveis:
realistic: Amostra as cores diretamente da textura do modelo para obter detalhes finos e fotorrealistas. Produz um arquivo maior.cartoon: Simplifica as cores em regiões uniformes e limpas para um visual estilizado. Produz um arquivo menor.
A entrada deve conter informações de cor:
realisticexige 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 — vejamodel_missing_texture.
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
A solicitação foi inaceitável. Causas comuns:
- Parâmetro ausente:
model_urlouinput_task_iddevem ser fornecidos. - Formato de modelo inválido: O
model_urlaponta para um arquivo com uma extensão não suportada (apenas.glbe.fbxsão suportados). - URL inacessível: Não foi possível baixar o
model_url. - Tarefa de entrada inválida: O
input_task_iddeve se referir 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. - Nenhuma fonte de cor: O modelo de entrada não possui textura de cor base (
realisticrequer uma única, com UVs, em cada parte da malha) nem cores de vértice (cartoonaceita ambos). Aplique textura ao modelo primeiro, ou usecartoonpara modelos com cores de vértice. Uploads em.fbxsão verificados após a tarefa normalizá-los e falham commodel_missing_texturenesse caso.
- Parâmetro ausente:
- Name
401 - Unauthorized- Description
Falha na autenticação. Verifique sua chave de API.
- Name
402 - Payment Required- Description
Créditos insuficientes para realizar esta tarefa.
- Name
429 - Too Many Requests- Description
Você excedeu 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"
}
Recuperar uma Tarefa de Impressão 3D Multicolorida
Este endpoint recupera uma tarefa de impressão 3D multicolorida pelo seu ID.
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa de impressão 3D a ser recuperada.
Retornos
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
}
Excluir uma Tarefa de Impressão 3D Multicolorida
Este endpoint exclui permanentemente uma tarefa de impressão 3D multicolorida, 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 multicolorida 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, e 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
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 Multicolorida
Este endpoint permite recuperar uma lista de tarefas de impressão 3D multicolorida.
Parâmetros
Atributos opcionais
- Name
- page_num
- Type
- integer
- Description
Número da página para paginação. Começa e assume como padrão
1.
- Name
- page_size
- Type
- integer
- Description
Limite de itens por página. O padrão é
10itens. O máximo permitido é100itens.
- Name
- sort_by
- Type
- string
- Description
Campo pelo qual ordenar. Valores disponíveis:
+created_at: Ordena pelo horário de criação em ordem crescente.-created_at: Ordena pelo horário de criação em ordem decrescente.
Retornos
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
}
]
Stream a Multi-Color 3D Print Task
Este endpoint transmite atualizações em tempo real de uma tarefa de impressão 3D multicolorida usando Server-Sent Events (SSE).
Parâmetros
- Name
- id
- Type
- path
- Description
Identificador único da tarefa de impressão 3D multicolorida a ser transmitida.
Retornos
Retorna um stream de Objetos de Tarefa de Impressão 3D como Server-Sent Events.
Para tarefas PENDING ou IN_PROGRESS, o stream de resposta incluirá apenas os campos necessários progress e status.
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 usemos um UUID k-sortable para os ids de tarefa como detalhe de implementação, você 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 para download do arquivo de modelo 3D gerado pelo Meshy. A propriedade de um formato será omitida se o formato não for gerado, em vez de retornar uma string vazia.
- Name
3mf- Type
- string
- Description
URL para download do arquivo 3MF multicolorido.
- Name
- progress
- Type
- integer
- Description
Progress da tarefa. Se a tarefa ainda não foi iniciada, esta propriedade será
0. Uma vez que a tarefa tenha sido concluída com sucesso, isso se tornará100.
- Name
- status
- Type
- string
- Description
Status da tarefa. Os valores possíveis são um dos seguintes:
PENDING,IN_PROGRESS,SUCCEEDED,FAILED.
- Name
- preceding_tasks
- Type
- integer
- Description
A contagem de tarefas precedentes.
O valor deste campo só é significativo se o status 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 foi iniciada, esta propriedade será
0.
- Name
- finished_at
- Type
- timestamp
- Description
Carimbo de data/hora de quando a tarefa foi finalizada, em milissegundos. Se a tarefa ainda não foi finalizada, esta propriedade será
0.
- Name
- task_error
- Type
- object
- Description
Detalhes de erro para tarefas com falha. 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 status da tarefa é
PENDING,IN_PROGRESSouSUCCEEDED. Retorna0para 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
}