API de Conversão
A API de Conversão permite converter modelos 3D existentes em diferentes formatos de ficheiro.
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 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 ficheiro 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
O pedido foi inaceitável. Causas comuns:
- Parâmetro em falta: Deve ser fornecido
model_urlouinput_task_id. - target_formats em falta: Pelo menos um formato de destino deve ser especificado.
- Tarefa de entrada inválida: O
input_task_iddeve referir-se a uma tarefa bem-sucedida. - Formato de modelo inválido: O
model_urlaponta para um ficheiro com uma extensão não suportada. - URL inacessível: O
model_urlnão pôde ser descarregado.
401 - Unauthorized
A autenticação falhou. Por favor, verifique a sua chave de API.
402 - Payment Required
Créditos insuficientes para realizar esta tarefa.
429 - Too Many Requests
Excedeu o 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 Converter
Este endpoint recupera uma tarefa de converter pelo seu ID.
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa de converter a recuperar.
Retorna
O objeto da Tarefa de Converter.
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
}
Eliminar uma Tarefa de Converter
Este endpoint elimina 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 eliminar.
Retornos
Retorna 200 OK em caso de sucesso.
Pedido
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Resposta
// Returns 200 Ok on success.
Listar Tarefas de Conversão
Este endpoint permite-lhe obter uma lista de tarefas de conversão.
Parâmetros
- Name
- page_num
- Type
- integer
- predefinição 1
- Description
Número da página para paginação.
- Name
- page_size
- Type
- integer
- predefiniçã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 ascendente.-created_at: Ordenar por tempo de criação em ordem descendente.
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 transmitir.
Retorna
Retorna um fluxo 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.
Pedido
curl -N https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Fluxo de Resposta
// 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 Converter
O objeto Tarefa de Converter 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 ficheiros do modelo convertido. Apenas os formatos especificados em target_formats terão URLs. Outras propriedades de formato serão cadeias de caracteres vazias.
progress· integer
Progresso da tarefa (0-100).
status· string
Estado da tarefa. Valores possíveis: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
A contagem de tarefas precedentes. Significativo apenas quando o estado é 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 foi iniciada.
finished_at· timestamp
Carimbo de data/hora de quando a tarefa foi concluída, em milissegundos. 0 se não foi concluída.
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.