API de Converter
A API de Converter permite que você converta modelos 3D existentes para diferentes formatos de arquivo.
Create a Convert Task
Este endpoint cria uma nova tarefa de conversão de formato.
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 Meshy concluída cujo modelo você deseja converter. A tarefa deve ter o status
SUCCEEDED.
- Name
- model_url
- Type
- string
- Obrigatório
- Description
Uma URL publicamente acessível ou data URI apontando para um arquivo de modelo 3D. Formatos suportados:
.glb,.gltf,.obj,.fbx,.stl. Para Data URIs, use o MIME type:application/octet-stream.
- Name
- target_formats
- Type
- string[]
- Obrigatório
- Description
Uma lista de formatos de saída para o modelo convertido. Valores disponíveis:
glb,fbx,obj,usdz,blend,stl,3mf.
Retornos
A propriedade result da resposta contém o id da tarefa de conversão recém-criada.
Modos de Falha
400 - Bad Request
A requisição foi inaceitável. Causas comuns:
- Parâmetro ausente: É necessário fornecer
model_urlouinput_task_id. - target_formats ausente: Pelo menos um formato de destino deve ser especificado.
- Tarefa de entrada inválida: O
input_task_iddeve se referir a uma tarefa bem-sucedida. - Formato de modelo inválido: O
model_urlaponta para um arquivo com uma extensão não suportada. - URL inacessível: Não foi possível baixar o
model_url.
401 - Unauthorized
Falha na autenticação. Verifique sua chave de API.
402 - Payment Required
Créditos insuficientes para realizar esta tarefa.
429 - Too Many Requests
Você excedeu seu limite de taxa.
Request
curl https://api.meshy.ai/openapi/v1/convert \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["fbx", "stl"]
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Recuperar uma Tarefa de Conversão
Este endpoint recupera uma tarefa de conversão pelo seu ID.
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa de conversão a ser recuperada.
Retornos
O objeto Convert Task.
Request
curl https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"glb": "",
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"obj": "",
"usdz": "",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Excluir uma Tarefa de Conversão
Este endpoint exclui permanentemente uma tarefa de conversão, 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 conversão 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 requisição é
rejeitada com 409 Conflict e a tarefa continua em execução. Os créditos de uma tarefa
que o worker já começou a processar 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 alcance
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/convert/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 Conversão
Este endpoint permite recuperar uma lista de tarefas de conversão.
Parâmetros
- Name
- page_num
- Type
- integer
- padrão 1
- Description
Número da página para paginação.
- Name
- page_size
- Type
- integer
- padrão 10
- Description
Limite de tamanho da página. 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 Conversão.
Request
curl https://api.meshy.ai/openapi/v1/convert?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Transmitir uma Tarefa de Conversão
Este endpoint transmite atualizações em tempo real de uma tarefa de conversão usando Server-Sent Events (SSE).
Parâmetros
- Name
- id
- Type
- path
- Description
Identificador único da tarefa de conversão a ser transmitida.
Retornos
Retorna um fluxo de Objetos de Tarefa de Conversão como Server-Sent Events.
Para tarefas PENDING ou IN_PROGRESS, o fluxo de resposta incluirá apenas os campos necessários progress e status.
Request
curl -N https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
O Objeto Convert Task
O objeto Convert Task representa um trabalho de conversão de formato.
Propriedades
id· string
Identificador único para a tarefa.
type· string
Tipo da tarefa. O valor é convert.
model_urls· object
URLs para download dos arquivos de modelo convertidos. Apenas os formatos especificados em target_formats terão URLs. As demais propriedades de formato ficarão com strings vazias.
progress· integer
Progress da tarefa (0-100).
status· string
Status da tarefa. Valores possíveis: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
A contagem de tarefas precedentes. Significativo apenas quando o status é PENDING.
created_at· timestamp
Carimbo de data/hora de quando a tarefa foi criada, em milissegundos.
started_at· timestamp
Carimbo de data/hora de quando a tarefa foi iniciada, em milissegundos. 0 se não iniciada.
finished_at· timestamp
Carimbo de data/hora de quando a tarefa foi finalizada, em milissegundos. 0 se não finalizada.
task_error· object
Objeto de erro caso a tarefa tenha falhado. Consulte Erros para mais detalhes.
consumed_credits· integer
O número de créditos consumidos por esta tarefa (1 crédito por tarefa de conversão). Retorna 0 para tarefas FAILED.