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.
Criar uma tarefa de impressão 3D multicor
Este endpoint cria uma nova tarefa de impressão 3D multicor. A tarefa converte um modelo 3D num ficheiro 3MF multicor 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 concluída com sucesso a utilizar como entrada. Tipos de tarefa suportados: Imagem para 3D, Multi-imagem para 3D, Texto para 3D, Remesh e Retexturizar. A tarefa tem de 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
- max_depth
- Type
- integer
- predefinição 4
- Description
Profundidade da quadtree para precisão de cor. Valores mais elevados produzem limites de cor mais finos, mas aumentam o tamanho do ficheiro.
Intervalo válido:
3a6.
Devoluções
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 era 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 descarregar o
model_url. - Tarefa de entrada inválida: O
input_task_idtem de referir-se a uma tarefa bem-sucedida. - max_colors inválido: O valor tem de estar entre 1 e 16.
- max_depth inválido: O valor tem de estar entre 3 e 6.
- Parâmetro em falta: É necessário fornecer
- Name
401 - Unauthorized- Description
A autenticação falhou. Verifique a sua chave de API.
- Name
402 - Payment Required- Description
Créditos insuficientes para executar 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,
"max_depth": 5
}'
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 pelo seu ID.
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa de impressão 3D a obter.
Devolve
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 do Caminho
- Name
- id
- Type
- path
- Description
O ID da tarefa de impressão 3D multicolor a eliminar.
Devolve
Devolve 200 OK em caso de sucesso.
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
// Returns 200 Ok on success.
Listar tarefas de impressão 3D multicolor
Este endpoint permite-lhe 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 em
1e o valor predefinido é1.
- Name
- page_size
- Type
- integer
- Description
Limite de tamanho da página. O valor predefinido é
10itens. O máximo permitido é50itens.
- Name
- sort_by
- Type
- string
- Description
Campo pelo qual ordenar. Valores disponíveis:
+created_at: Ordenar por hora de criação por ordem ascendente.-created_at: Ordenar por hora de criação por ordem descendente.
Devolve
Devolve uma lista com paginação 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.
Devoluções
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
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 quaisquer 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 descarregável para o ficheiro do 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 descarregável para o ficheiro 3MF multicolor.
- Name
- progress
- Type
- integer
- Description
Progress da tarefa. Se a tarefa ainda não tiver sido iniciada, esta propriedade será
0. Assim que a tarefa tiver sido concluída com êxito, passará a100.
- 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ó é significativo 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 sido iniciada, esta propriedade será
0.
- Name
- finished_at
- Type
- timestamp
- Description
Carimbo de data/hora de quando a tarefa foi concluída, em milissegundos. Se a tarefa ainda não tiver sido concluída, 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_PROGRESSouSUCCEEDED. 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
}