API de Desdobramento UV
Gere um desdobramento UV para um modelo 3D existente. Execute-o antes de texturizar o modelo, ou quando uma ferramenta como o Blender, o Substance Painter ou o Unreal precisar de uma disposição UV limpa e sem sobreposições.
O resultado é um modelo branco UV. Tem a mesma forma do modelo de entrada, novas coordenadas UV e nenhuma textura real. Inclui um material cinzento 2×2 de preenchimento para que a ranhura de material do glTF se mantenha válida, e as ferramentas padrão tratam-no como não texturizado.
O Desdobramento UV suporta malhas com até 40.000 faces. Um modelo maior devolve 400. Para reduzir o número de faces, execute primeiro o Remesh.
A Meshy triangula malhas quad e n-gon durante a geração UV, pelo que o resultado é sempre uma malha de triângulos.
Criar uma tarefa de Desdobramento UV
Cria uma tarefa de Desdobramento UV.
A tarefa é executada em segundo plano. Para saber quanto tempo uma tarefa normalmente demora, consulte Tempos de processamento.
Request
# Chain from an existing Meshy task
curl https://api.meshy.ai/openapi/v1/uv-unwrap \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}'
# Or from a publicly accessible model URL
curl https://api.meshy.ai/openapi/v1/uv-unwrap \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/path/to/model.glb"
}'
Response
{
"result": "019361c6-9b34-7b23-bef2-d0107c4d92e2"
}
Parâmetros
- Name
- input_task_id
- Type
- string
- Obrigatório
- Description
Obrigatório, a menos que envie
model_url. O ID de uma tarefa da Meshy API cujo resultado GLB pretende desdobrar, por exemplo uma tarefa de Imagem para 3D, Texto para 3D ou Remesh. A tarefa deve ter o estadoSUCCEEDEDe ter produzido um ficheiro GLB.A malha pode ter no máximo 40 000 faces. Uma malha com mais faces devolve
400. Para reduzir o número de faces, execute primeiro Remesh.
- Name
- model_url
- Type
- string
- Obrigatório
- Description
Obrigatório, a menos que envie
input_task_id. O modelo a desdobrar, como um URL público ou um Data URI. Se enviar ambos, a Meshy utilizainput_task_id.O modelo deve ser um ficheiro
.glb. Para desdobrar outro formato, converta-o primeiro para GLB com a Convert API.O ficheiro pode ter no máximo 400 MB a partir de um URL
httpouhttps, ou 100 MB como Data URI. Para um Data URI, utilize o MIME typeapplication/octet-stream. Um GLB com mais de 100 MB não pode utilizar compressão Draco.Aplica-se o mesmo limite de 40 000 faces que para
input_task_id. Uma malha com mais faces devolve400, pelo que deve executar primeiro o Remesh.
Devoluções
O campo result da resposta contém o ID da nova tarefa de Desdobramento UV.
Modos de falha
- Name
400 - Bad Request- Description
O pedido não pode ser executado. A mensagem de erro indica qual o problema encontrado. Por exemplo:
- Parâmetro em falta: Não foi enviado nem
input_task_idnemmodel_url. - Tarefa de entrada inválida:
input_task_idnão corresponde a uma tarefa da API bem-sucedida com um resultado GLB. - Limite de faces excedido: A malha tem mais faces do que o permitido pelo Desdobramento UV. Execute primeiro Remesh.
- Formato de modelo inválido: O ficheiro
model_urltem uma extensão não suportada. - URL inacessível: A Meshy não consegue transferir o ficheiro
model_url. - Ficheiro de modelo demasiado grande: O ficheiro
model_urltem mais de 400 MB a partir de um URLhttpouhttps, ou mais de 100 MB como Data URI. - Demasiadas faces: O ficheiro
model_urltem mais de 100 MB e mais de 10 000 000 faces. Reduza o número de faces e envie o ficheiro novamente. - Ficheiro de modelo ilegível: O ficheiro
model_urltem mais de 100 MB, e a Meshy não consegue ler o seu cabeçalho. Por exemplo, é um GLB comprimido com Draco. - Cabeçalho do modelo demasiado complexo: O ficheiro
model_urltem mais de 100 MB, e o seu cabeçalho tem demasiadas malhas, nós ou registos para verificar. Reduza o número de objetos no ficheiro e envie-o novamente.
Corrija o pedido e envie-o novamente. Consulte Erros.
- Parâmetro em falta: Não foi enviado nem
- Name
401 - Unauthorized- Description
A chave de API está em falta ou é inválida. Verifique o cabeçalho
Authorization.
- Name
402 - Payment Required- Description
Por exemplo:
- Créditos insuficientes: A conta não tem créditos suficientes para esta tarefa, ou a conta atingiu um limite de créditos. Uma tarefa de Desdobramento UV custa 5 créditos. Verifique o seu saldo de créditos e tente novamente.
- Plano gratuito: Criar uma tarefa requer um plano pago. Atualize o seu plano nas definições de subscrição e tente novamente.
- Name
403 - Forbidden- Description
input_task_idé um modelo de baixo-relevo, que este endpoint não consegue desdobrar. A mensagem éThis model type does not support this operation. Envie um modelo diferente.
- Name
404 - Not Found- Description
input_task_idnão corresponde a nenhuma das suas tarefas. Verifique o ID da tarefa e envie o pedido novamente.
- Name
429 - Too Many Requests- Description
Excedeu o seu limite de taxa. Aguarde e tente novamente. Consulte Limites de taxa.
Obter uma tarefa de Desdobramento UV
Devolve o estado atual de uma tarefa de Desdobramento UV através do seu ID.
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Para ver um exemplo de resposta, consulte o exemplo de objeto de tarefa de Desdobramento UV.
Devolve
Eliminar uma tarefa de Desdobramento UV
Elimina permanentemente uma tarefa de Desdobramento UV, incluindo os seus resultados. Não é possível anular uma eliminação.
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-X DELETE \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Estado da tarefa
Eliminar uma tarefa PENDING reembolsa os créditos que utilizou ao criá-la.
Uma tarefa IN_PROGRESS não pode ser eliminada. O pedido devolve 409 Conflict,
e a tarefa continua em execução. A Meshy não reembolsa uma tarefa que já começou,
pelo que eliminá-la custar-lhe-ia tanto os créditos como o resultado. Aguarde até
que atinja o estado SUCCEEDED, FAILED ou CANCELED, e só depois a elimine.
Eliminar uma tarefa num estado final (SUCCEEDED, FAILED ou CANCELED)
não reembolsa os seus créditos.
Listar tarefas de Desdobramento UV
Devolve uma lista paginada das suas tarefas de Desdobramento UV, começando pelas mais recentes. Para percorrer a lista, use page_num e page_size.
Request
curl "https://api.meshy.ai/openapi/v1/uv-unwrap?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Fazer streaming de uma tarefa de Desdobramento UV
Transmite as atualizações de uma tarefa de Desdobramento UV como Server-Sent Events (SSE). Cada evento message transporta um objeto de tarefa de Desdobramento UV. O stream fecha quando a tarefa atinge SUCCEEDED, FAILED ou CANCELED.
Para saber mais cedo que a tarefa terminou, utilize este endpoint em vez de fazer polling a GET /openapi/v1/uv-unwrap/:id.
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-N
O objeto da tarefa Desdobramento UV
Um objeto da tarefa Desdobramento UV descreve um desdobramento UV de um modelo 3D. Contém o estado, o progress e o ficheiro do modelo quando a tarefa é bem-sucedida.
Example UV Unwrap Task Object
{
"id": "019361c6-9b34-7b23-bef2-d0107c4d92e2",
"type": "uv-unwrap",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/019361c6-9b34-7b23-bef2-d0107c4d92e2/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/019361c6-9b34-7b23-bef2-d0107c4d92e2/output/preview.png?Expires=***",
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1716579120000,
"started_at": 1716579122000,
"finished_at": 1716579180000,
"expires_at": 1716665580000,
"task_error": {
"message": ""
},
"consumed_credits": 5
}
- Name
- id
- Type
- string
- Description
O ID da tarefa. Trate-o como uma string opaca e não dependa do seu formato.
- Name
- type
- Type
- string
- Description
O tipo de tarefa, sempre
uv-unwrap.
- Name
- model_urls
- Type
- object
- Description
URLs de transferência assinados para o modelo branco UV. O Desdobramento UV devolve sempre uma única chave
glb. O modelo mantém a geometria de entrada, tem novas coordenadas UV e usa um material cinzento predefinido em vez de uma textura.
- Name
- thumbnail_url
- Type
- string
- Description
URL de transferência assinado para uma imagem de pré-visualização PNG do modelo branco UV.
- Name
- progress
- Type
- integer
- Description
Quanto da tarefa está concluído, como percentagem de
0a100.
- Name
- status
- Type
- string
- Description
O estado da tarefa, um de
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDouCANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
O número de tarefas à frente desta na fila. Presente enquanto a tarefa está
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Hora em que a tarefa foi criada, em milissegundos Unix.
- Name
- started_at
- Type
- timestamp
- Description
Hora em que a tarefa foi iniciada, em milissegundos Unix. É
0até a tarefa começar.
- Name
- finished_at
- Type
- timestamp
- Description
Hora em que a tarefa terminou, em milissegundos Unix. É
0até a tarefa terminar.
- Name
- expires_at
- Type
- timestamp
- Description
Hora em que os URLs de transferência assinados expiram, em milissegundos Unix.
- Name
- task_error
- Type
- object
- Description
Os detalhes do erro quando a tarefa falha. Consulte Erros.
- Name
- consumed_credits
- Type
- integer
- Description
O número de créditos que a tarefa utilizou. Uma tarefa de Desdobramento UV bem-sucedida custa 5 créditos. É
0para uma tarefaFAILED, porque a Meshy reembolsa os créditos quando uma tarefa falha.