API de Despliegue UV
Genera un Despliegue UV para un modelo 3D existente. Ejecútalo antes de texturizar el modelo, o cuando una herramienta como Blender, Substance Painter o Unreal necesite una distribución UV limpia y sin solapamientos.
El resultado es un modelo blanco UV. Tiene la misma forma que la entrada, coordenadas UV nuevas y ninguna textura real. Incluye un material de marcador de posición gris de 2×2 para que la ranura de material de glTF siga siendo válida, y las herramientas estándar lo tratan como no texturizado.
Despliegue UV admite mallas de hasta 40,000 caras. Un modelo más grande devuelve 400. Para reducir el número de caras, ejecuta primero Remallado.
Meshy triangula las mallas con cuadriláteros y n-gonos durante la generación de UV, por lo que el resultado siempre es una malla triangular.
Crear una tarea de Despliegue UV
Crea una tarea de Despliegue UV.
La tarea se ejecuta en segundo plano. Para saber cuánto suele tardar una tarea, consulta Tiempos de procesamiento.
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
- Requerido
- Description
Obligatorio a menos que envíes
model_url. El ID de una tarea de Meshy API cuya salida GLB quieres desplegar, por ejemplo una tarea de Imagen a 3D, Texto a 3D o Remallado. La tarea debe tener el estadoSUCCEEDEDy haber generado un archivo GLB.La malla puede tener como máximo 40,000 caras. Una malla con más devuelve
400. Para reducir el número de caras, ejecuta primero Remallado.
- Name
- model_url
- Type
- string
- Requerido
- Description
Obligatorio a menos que envíes
input_task_id. El modelo a desplegar, como una URL pública o un Data URI. Si envías ambos, Meshy usainput_task_id.El modelo debe ser un archivo
.glb. Para desplegar otro formato, conviértelo a GLB primero con la API de Convertir.El archivo puede tener como máximo 400 MB desde una URL
httpohttps, o 100 MB como Data URI. Para un Data URI, usa el MIME typeapplication/octet-stream. Un GLB de más de 100 MB no debe usar compresión Draco.Se aplica el mismo límite de 40,000 caras que para
input_task_id. Una malla con más devuelve400, así que ejecuta primero Remallado.
Devuelve
El campo result de la respuesta contiene el ID de la nueva tarea de Despliegue UV.
Modos de error
- Name
400 - Bad Request- Description
La solicitud no se puede ejecutar. El mensaje de error indica qué problema encontró. Por ejemplo:
- Parámetro faltante: No se envió ni
input_task_idnimodel_url. - Tarea de entrada inválida:
input_task_idno es una tarea de API exitosa con un resultado GLB. - Límite de caras superado: La malla tiene más caras de las que permite Despliegue UV. Ejecuta primero Remallado.
- Formato de modelo inválido: El archivo de
model_urltiene una extensión no admitida. - URL inaccesible: Meshy no puede descargar el archivo de
model_url. - Archivo de modelo demasiado grande: El archivo de
model_urlsupera los 400 MB desde una URLhttpohttps, o supera los 100 MB como Data URI. - Demasiadas caras: El archivo de
model_urlsupera los 100 MB y tiene más de 10,000,000 de caras. Reduce el número de caras y vuelve a enviar el archivo. - Archivo de modelo ilegible: El archivo de
model_urlsupera los 100 MB y Meshy no puede leer su encabezado. Por ejemplo, es un GLB comprimido con Draco. - Encabezado de modelo demasiado complejo: El archivo de
model_urlsupera los 100 MB y su encabezado tiene demasiadas mallas, nodos o registros para verificar. Reduce el número de objetos en el archivo y vuelve a enviarlo.
Corrige la solicitud y vuelve a enviarla. Consulta Errores.
- Parámetro faltante: No se envió ni
- Name
401 - Unauthorized- Description
Falta la clave de API o no es válida. Verifica el encabezado
Authorization.
- Name
402 - Payment Required- Description
Por ejemplo:
- Créditos insuficientes: La cuenta no tiene suficientes créditos para esta tarea, o la cuenta alcanzó un límite de créditos. Una tarea de Despliegue UV cuesta 5 créditos. Verifica tu saldo de créditos y vuelve a intentarlo.
- Plan gratuito: Crear una tarea requiere un plan de pago. Mejora tu plan en tu configuración de suscripción y vuelve a intentarlo.
- Name
403 - Forbidden- Description
input_task_ides un modelo de bajorrelieve, que este endpoint no puede desplegar. El mensaje esThis model type does not support this operation. Envía un modelo diferente.
- Name
404 - Not Found- Description
input_task_idno coincide con ninguna de tus tareas. Verifica el ID de la tarea y vuelve a enviar la solicitud.
- Name
429 - Too Many Requests- Description
Superaste tu límite de tasa. Espera y vuelve a intentarlo. Consulta Límites de tasa.
Obtener una tarea de Despliegue UV
Devuelve el estado actual de una tarea de Despliegue UV según su ID.
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Para ver un ejemplo de respuesta, consulta el ejemplo de objeto de tarea de Despliegue UV.
Devuelve
Eliminar una tarea de Despliegue UV
Elimina permanentemente una tarea de Despliegue UV, incluidos sus resultados. No puedes deshacer una eliminación.
Request
curl https://api.meshy.ai/openapi/v1/uv-unwrap/019361c6-9b34-7b23-bef2-d0107c4d92e2 \
-X DELETE \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Estado de la tarea
Eliminar una tarea PENDING reembolsa los créditos que usó al crearla.
Una tarea IN_PROGRESS no se puede eliminar. La solicitud devuelve 409 Conflict,
y la tarea sigue ejecutándose. Meshy no reembolsa una tarea que ya ha comenzado,
por lo que eliminarla te costaría tanto los créditos como el resultado. Espera a que
alcance el estado SUCCEEDED, FAILED o CANCELED, y luego elimínala.
Eliminar una tarea en un estado final (SUCCEEDED, FAILED o CANCELED)
no reembolsa sus créditos.
Listar tareas de Despliegue UV
Devuelve una lista paginada de tus tareas de Despliegue UV, con las más recientes primero. Para recorrer la lista, usa page_num y page_size.
Request
curl "https://api.meshy.ai/openapi/v1/uv-unwrap?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Stream de una tarea de Despliegue UV
Transmite las actualizaciones de una tarea de Despliegue UV como Server-Sent Events (SSE). Cada evento message contiene un objeto de tarea de Despliegue UV. El stream se cierra cuando la tarea alcanza el estado SUCCEEDED, FAILED o CANCELED.
Para saber antes que la tarea ha finalizado, utiliza este endpoint en lugar de consultar repetidamente 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
El objeto de tarea de Despliegue UV
Un objeto de tarea de Despliegue UV describe un despliegue UV de un modelo 3D. Contiene el estado, el progress y el archivo del modelo cuando la tarea tiene éxito.
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
El ID de la tarea. Trátelo como una cadena opaca y no dependa de su formato.
- Name
- type
- Type
- string
- Description
El tipo de tarea, siempre
uv-unwrap.
- Name
- model_urls
- Type
- object
- Description
URLs de descarga firmadas para el modelo blanco UV. Despliegue UV siempre devuelve una única clave
glb. El modelo conserva la geometría de entrada, tiene coordenadas UV nuevas y usa un material gris predeterminado en lugar de una textura.
- Name
- thumbnail_url
- Type
- string
- Description
URL de descarga firmada para una imagen de vista previa PNG del modelo blanco UV.
- Name
- progress
- Type
- integer
- Description
Cuánto se ha completado la tarea, como un porcentaje de
0a100.
- Name
- status
- Type
- string
- Description
El estado de la tarea, uno de
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDoCANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
La cantidad de tareas por delante de esta en la cola. Está presente mientras la tarea está
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Hora en que se creó la tarea, en milisegundos Unix.
- Name
- started_at
- Type
- timestamp
- Description
Hora en que la tarea comenzó, en milisegundos Unix. Es
0hasta que la tarea comienza.
- Name
- finished_at
- Type
- timestamp
- Description
Hora en que la tarea finalizó, en milisegundos Unix. Es
0hasta que la tarea finaliza.
- Name
- expires_at
- Type
- timestamp
- Description
Hora en que expiran las URLs de descarga firmadas, en milisegundos Unix.
- Name
- task_error
- Type
- object
- Description
Los detalles del error cuando la tarea falla. Consulte Errores.
- Name
- consumed_credits
- Type
- integer
- Description
La cantidad de créditos que usó la tarea. Una tarea de Despliegue UV exitosa cuesta 5 créditos. Es
0para una tareaFAILED, porque Meshy reembolsa los créditos cuando una tarea falla.