API de Conversão
A API de Conversão permite converter modelos 3D existentes em diferentes formatos de arquivo.
Criar uma Tarefa de Conversão
Este endpoint cria uma nova tarefa de conversão de formato.
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 Meshy concluída cujo modelo você deseja converter. A tarefa deve ter um status de
SUCCEEDED.
- Name
- model_url
- Type
- string
- Obrigatório
- Description
Um 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 nova tarefa de conversão criada.
Modos de Falha
400 - Bad Request
A solicitação foi inaceitável. Causas comuns:
- Parâmetro ausente: Ou
model_urlouinput_task_iddeve ser fornecido. - 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: O
model_urlnão pôde ser baixado.
401 - Unauthorized
A autenticação falhou. Por favor, 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 da Tarefa de Conversão.
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 Converter
Este endpoint exclui permanentemente uma tarefa de converter, 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 converter a ser excluída.
Retornos
Retorna 200 OK em caso de sucesso.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Listar Tarefas de Conversão
Este endpoint permite que você recupere 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 do tamanho da página. O máximo permitido é
50itens.
- Name
- sort_by
- Type
- string
- Description
Campo para ordenar. Valores disponíveis:
+created_at: Ordenar por tempo de criação em ordem crescente.-created_at: Ordenar por tempo de criação em ordem decrescente.
Retornos
Retorna uma lista paginada de Os 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 Converter
Este endpoint transmite atualizações em tempo real para uma tarefa de converter usando Server-Sent Events (SSE).
Parâmetros
- Name
- id
- Type
- path
- Description
Identificador único para a tarefa de converter a ser transmitida.
Retornos
Retorna uma transmissão de Os Objetos da Tarefa de Converter 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 Tarefa de Conversão
O objeto Tarefa de Conversão 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. Somente os formatos especificados em target_formats terão URLs. Outras propriedades de formato serão strings vazias.
progress· integer
Progresso 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 se a tarefa falhou. Veja 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.