API de Reparar imprimibilidad
Repara un modelo 3D para su imprimibilidad — corrige aristas non-manifold, caras degeneradas, agujeros y otros problemas de topology para que la malla esté lista para imprimir. Opcionalmente, también engrosa las paredes que sean demasiado delgadas para el tamaño en el que planeas imprimir.
Crear una tarea de Reparar imprimibilidad
Este endpoint crea una nueva tarea de reparación de imprimibilidad. La tarea ejecuta una reparación de topology en un modelo 3D y devuelve una versión estanca (watertight) y lista para imprimir.
La tarea se ejecuta en segundo plano. Para saber cuánto suele tardar, consulta Tiempos de procesamiento.
El formato de salida coincide con el formato de entrada. Si envías un .stl mediante model_url, el model_urls.stl de la respuesta contendrá la malla reparada y los demás campos de formato quedarán vacíos. La ruta input_task_id siempre lee el GLB de la tarea de origen, por lo que la salida es .glb.
Para también engrosar las paredes que resulten demasiado finas en el tamaño que planeas imprimir, envía printer_type, un tamaño de impresión, o ambos. Las paredes solo se engrosan cuando más del 5% de la superficie es demasiado fina para esa impresora. El modelo reparado conserva su escala original; redimensiónalo con la API de Redimensionar, que toma metros (100 mm es 0.1).
Parámetros
Solo se requiere uno de input_task_id o model_url. Si se proporcionan ambos, input_task_id tiene prioridad.
Las texturas existentes se eliminan durante la reparación debido a los cambios de geometría. Para volver a añadir texturas, usa la API de Retexturizar en el modelo reparado.
- Name
- input_task_id
- Type
- string
- Requerido
- Description
El ID de una tarea exitosa de tu propiedad. Tipos de tarea admitidos: Imagen a 3D, Multi-imagen a 3D, Texto a 3D, Remallado, Retexturizar y Analizar imprimibilidad. La tarea debe tener un estado
SUCCEEDEDy debe haber producido un asset GLB.Una tarea de análisis que comprobó el grosor de pared también transmite su impresora y tamaño, por lo que la reparación comprueba el grosor de pared, y engrosa las paredes finas, incluso si no envías ninguno de los dos; un
printer_typeo un tamaño de impresión que envíes anulará ese valor. Las tareas de análisis creadas a partir de unmodel_url.stl,.fbxo.gltfno se aceptan: envía el archivo comomodel_urlen su lugar.
- Name
- model_url
- Type
- string
- Requerido
- Description
URL de un modelo 3D a reparar. Formatos admitidos:
.glb,.gltf,.obj,.fbx,.stl. Tamaño máximo de archivo: 100 MB. Debe usarhttp,https, o una URLdata:(las URL data omiten las comprobaciones de extensión).Las URL de descarga de Meshy (
assets.meshy.ai/…?Expires=…&Signature=…) están firmadas y dejan de funcionar al llegar aexpires_atde la tarea; volver a consultar la tarea no las renueva. Para un modelo generado con Meshy, pasainput_task_iden su lugar. Funciona mientras la tarea de origen se conserve (consulta Retención de recursos). Para reutilizar un modelo después de eso, descárgalo antes deexpires_aty envía tu propia copia.
- Name
- alpha_thumbnail
- Type
- boolean
- predeterminado false
- Description
Cuando se establece en
true, la tarea además renderiza una versión con fondo transparente (RGBA) de la vista previa y la devuelve comoalpha_thumbnail_urlen la respuesta GET. El campothumbnail_urlexistente no cambia.
Envía como máximo uno de los dos campos de tamaño de impresión. Si envías printer_type sin un tamaño, y no se reutiliza ningún tamaño de una tarea de análisis, el tamaño predeterminado es:
.glby cualquierinput_task_id: 150 mm de alto..stl: el lado más largo propio del archivo, leído en milímetros. Para un STL en otras unidades, envíaintended_print_longest_side_mm..obj,.fbx,.gltf: 150 mm en el lado más largo.
- Name
- printer_type
- Type
- string
- Description
La impresora que planeas usar. Establece el grosor de pared mínimo al que apunta la reparación. Por defecto es
fdmcuando envías un tamaño de impresión sin indicarlo, a menos que una tarea de análisis pasada comoinput_task_idproporcione la impresora.Valores disponibles:
fdm: filamento, 1.0 mm de pared mínima.sla: resina, 0.8 mm de pared mínima.full_color: color completo, 2.0 mm de pared mínima.
- Name
- intended_print_height_mm
- Type
- number
- Description
Altura de la impresión, en milímetros. Rango:
[1, 1000]. Redondeado al milímetro más cercano. Solo para entrada GLB.
- Name
- intended_print_longest_side_mm
- Type
- number
- Description
Longitud del lado más largo de la impresión, en milímetros. Rango:
[1, 1000]. Redondeado al milímetro más cercano. Funciona con cada formato de entrada.
Devuelve
La propiedad result de la respuesta contiene el id de la tarea de reparar imprimibilidad recién creada.
Modos de fallo
- Name
400 - Bad Request- Description
La solicitud era inaceptable. Causas comunes:
- Parámetro faltante: no se proporcionó ni
input_task_idnimodel_url. - UUID inválido:
input_task_idno es un UUID válido. - URL de modelo inválida:
model_urltiene un formato incorrecto, usa un esquema no compatible, o tiene una extensión de archivo no compatible. - Archivo de modelo demasiado grande: el cuerpo de
model_urlsuperó los 100 MB. - No se pudo descargar el archivo de modelo:
model_urldevolvió un error, con mayor frecuencia porque una URL de descarga de Meshy firmada ha caducado. Volver a consultar la tarea devuelve la misma URL con la misma caducidad, así que envía tu propia copia del archivo, o usainput_task_idmientras la tarea de origen aún esté retenida. - Tarea no exitosa: la tarea referenciada aún está pendiente, en progreso, o falló.
- Falta GLB: la tarea referenciada no tiene ningún asset GLB para reparar.
- Tamaño de impresión inválido:
intended_print_height_mmointended_print_longest_side_mmestá fuera de[1, 1000], o se enviaron ambos. - Tipo de impresora desconocido:
printer_typeno esfdm,sla, nifull_color. - Altura en un modelo que no es GLB: se envió
intended_print_height_mmcon unmodel_urlque no es.glb. Usaintended_print_longest_side_mmen su lugar. - No se puede dimensionar este modelo por altura: a la altura solicitada (o al valor predeterminado de 150 mm), el lado más largo del modelo quedaría fuera de
[1, 1000]mm, el modelo es plano, o no se puede determinar su tamaño. Usaintended_print_longest_side_mmen su lugar. Para unmodel_url.glby algunas tareasinput_task_id, esto solo se detecta después de que la tarea comienza, y la tarea terminaFAILEDen su lugar. - Tamaño de STL inutilizable: se envió
printer_typesin un tamaño, y el lado más largo propio del.stlno se puede leer o está fuera de[1, 1000]mm. Envíaintended_print_longest_side_mm.
- Parámetro faltante: no se proporcionó ni
- Name
401 - Unauthorized- Description
Falló la autenticación. Por favor verifica tu clave de API.
- Name
402 - Payment Required- Description
Causas comunes:
- Plan gratuito: la creación de tareas requiere un plan de pago. Mejora tu plan en la página de suscripción.
- Créditos insuficientes: se alcanzó el límite de créditos del espacio de trabajo.
- Name
404 - Not Found- Description
La tarea referenciada no existe o pertenece a un usuario diferente.
- Name
429 - Too Many Requests- Description
Has excedido tu cuota de tareas pendientes o tu límite de tasa.
Request
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.stl"
}'
# Also thicken walls that are too thin for a 100 mm tall SLA print
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"printer_type": "sla",
"intended_print_height_mm": 100
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Recuperar una tarea de Reparar imprimibilidad
Este endpoint recupera una tarea de reparación de imprimibilidad mediante su ID.
Parámetros
- Name
- id
- Type
- path
- Description
El ID de la tarea de reparación de imprimibilidad que se desea recuperar.
Devuelve
El objeto de tarea de Reparar imprimibilidad. El bloque model_urls está vacío hasta que la tarea alcanza el estado SUCCEEDED. Solo se completa el campo de model_urls que coincide con el formato de entrada. Una reparación de grosor de pared incluye intended_print desde el inicio, y print_repair_report una vez que la tarea se completa con éxito.
Request
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
Response (wall thickness checked)
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000090000,
"expires_at": 1715725490000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10,
"intended_print": {
"printer_type": "sla",
"height_mm": 100,
"longest_side_mm": 118,
"wall_thickness_mm": 0.8,
"dimensions_mm": [118, 72.41, 99.87]
},
"print_repair_report": {
"route": "thin_wall",
"applied": true,
"faces_before": 243112,
"faces_after": 251870,
"thin_area_ratio_before": 0.083,
"thin_area_ratio_after": 0.004
}
}
Eliminar una tarea de Reparar imprimibilidad
Este endpoint elimina permanentemente una tarea de reparar imprimibilidad y su resultado reparado. Esta acción es irreversible.
Parámetros de ruta
- Name
- id
- Type
- path
- Description
El ID de la tarea de reparar imprimibilidad que se va a eliminar.
Estado de la tarea
Una tarea que aún está en PENDING se elimina y los créditos consumidos en
el momento de la creación se reembolsan.
Una tarea que ya está IN_PROGRESS no se puede eliminar: la solicitud se
rechaza con 409 Conflict y la tarea sigue ejecutándose. Los créditos de
una tarea que el worker ya ha iniciado no son reembolsables, por lo que
eliminarla a mitad de ejecución te haría perder tanto los créditos como el
resultado. Espera a que alcance el estado SUCCEEDED, FAILED o
CANCELED, y luego elimínala.
Una tarea en un estado terminal (SUCCEEDED, FAILED o CANCELED) se
elimina sin reembolso.
Devuelve
Devuelve 200 OK en caso de éxito, o 409 Conflict cuando la tarea está
en IN_PROGRESS.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/repair/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 tareas de reparar imprimibilidad
Este endpoint le permite recuperar una lista de tareas de reparar imprimibilidad.
Parámetros
Atributos opcionales
- Name
- page_num
- Type
- integer
- Description
Número de página para la paginación. Comienza y por defecto es
1.
- Name
- page_size
- Type
- integer
- Description
Límite de tamaño de página. Por defecto es
10elementos. El máximo permitido es100elementos.
- Name
- sort_by
- Type
- string
- Description
Campo por el cual ordenar. Valores disponibles:
+created_at: Ordenar por hora de creación en orden ascendente.-created_at: Ordenar por hora de creación en orden descendente.
Devuelve
Devuelve una lista paginada de Objetos de tarea de reparar imprimibilidad.
Request
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
]
Transmitir una Tarea de Reparar Imprimibilidad
Este endpoint transmite actualizaciones en tiempo real para una tarea de reparar imprimibilidad utilizando Server-Sent Events (SSE).
Parámetros
- Name
- id
- Type
- path
- Description
Identificador único de la tarea de reparar imprimibilidad que se va a transmitir.
Devuelve
Devuelve un flujo de Objetos de Tarea de Reparar Imprimibilidad como Server-Sent Events.
Cada fotograma lleva el objeto de tarea completo para la etapa — la misma forma que
devuelve el endpoint Get — así que mientras la tarea esté en PENDING o IN_PROGRESS, los
campos de salida simplemente aún no están poblados (null, [] o {}) y
finished_at es null. El bloque model_urls se envía solo una vez que la tarea alcanza el estado SUCCEEDED.
Request
curl -N https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
El objeto de tarea Reparar imprimibilidad
- Name
- id
- Type
- string
- Description
Identificador único de la tarea. Aunque usamos un UUID k-sortable para los ids de tareas como detalle de implementación, no debes hacer ninguna suposición sobre el formato del id.
- Name
- type
- Type
- string
- Description
Tipo de la tarea de reparar imprimibilidad. El valor es
print-repair.
- Name
- status
- Type
- string
- Description
Estado de la tarea. Los valores posibles son uno de
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- progress
- Type
- integer
- Description
Progreso de la tarea. Si la tarea aún no ha comenzado, esta propiedad será
0. Una vez que la tarea haya tenido éxito, pasará a ser100.
- Name
- preceding_tasks
- Type
- integer
- Description
El recuento de tareas precedentes.
El valor de este campo solo tiene sentido si el estado de la tarea es
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Marca de tiempo de cuándo se creó la tarea, en milisegundos.
- Name
- started_at
- Type
- timestamp
- Description
Marca de tiempo de cuándo se inició la tarea, en milisegundos. Si la tarea aún no ha comenzado, esta propiedad será
0.
- Name
- finished_at
- Type
- timestamp
- Description
Marca de tiempo de cuándo finalizó la tarea, en milisegundos. Si la tarea aún no ha finalizado, esta propiedad será
0.
- Name
- expires_at
- Type
- timestamp
- Description
Marca de tiempo de cuándo el resultado de la tarea caducará en el sistema, en milisegundos.
0si la tarea aún no ha finalizado.
- Name
- task_error
- Type
- object
- Description
Información del error si la tarea ha fallado. Esta propiedad es
nullsi la tarea no ha fallado. Consulta Errores para más detalles.- Name
message- Type
- string
- Description
Mensaje de error que describe qué salió mal.
- Name
- model_urls
- Type
- object
- Description
URLs descargables del modelo 3D reparado. Solo se rellena el campo que coincide con el formato de entrada; los campos de los demás formatos quedan como cadenas vacías.
- Name
glb- Type
- string
- Description
URL descargable del GLB reparado. Se rellena cuando la entrada era un GLB o cuando se usó
input_task_id.
- Name
gltf- Type
- string
- Description
URL descargable del GLTF reparado. Se rellena cuando la entrada fue una carga de GLTF.
- Name
fbx- Type
- string
- Description
URL descargable del FBX reparado. Se rellena cuando la entrada fue una carga de FBX.
- Name
obj- Type
- string
- Description
URL descargable del OBJ reparado. Se rellena cuando la entrada fue una carga de OBJ.
- Name
stl- Type
- string
- Description
URL descargable del STL reparado. Se rellena cuando la entrada fue una carga de STL.
- Name
usdz- Type
- string
- Description
Reservado para la salida USDZ. Siempre es una cadena vacía para las tareas de reparar imprimibilidad.
- Name
3mf- Type
- string
- Description
Reservado para la salida 3MF. Siempre es una cadena vacía para las tareas de reparar imprimibilidad.
- Name
mtl- Type
- string
- Description
Reservado para la salida MTL. Siempre es una cadena vacía para las tareas de reparar imprimibilidad.
- Name
- thumbnail_url
- Type
- string
- Description
URL de una imagen de vista previa renderizada a partir del modelo reparado.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL descargable de una versión con fondo transparente (RGBA) de
thumbnail_url. Solo está presente cuando la tarea se creó conalpha_thumbnail: truey la vista previa transparente se renderizó correctamente; de lo contrario, este campo se omite.
- Name
- texture_urls
- Type
- array
- Description
Siempre es un array vacío. La reparación conserva únicamente la geometría de entrada y no vuelve a generar las texturas.
- Name
- consumed_credits
- Type
- integer
- Description
El número de créditos consumidos por esta tarea.
10una vez que la tarea ha alcanzadoSUCCEEDED. Devuelve0para las tareasFAILED(los créditos se reembolsan en caso de fallo).
- Name
- intended_print
- Type
- object
- Description
La impresora y el tamaño que usó la reparación, ya sea enviados o reutilizados de una tarea de análisis. Presente en una reparación de grosor de pared desde el inicio (
PENDING); los valores aún no conocidos sonnull.- Name
printer_type- Type
- string
- Description
fdm,slaofull_color.
- Name
height_mm- Type
- number
- Description
La altura de impresión en milímetros, si la impresión se dimensionó por altura. En caso contrario,
null.
- Name
longest_side_mm- Type
- number
- Description
El lado más largo de la impresión en milímetros. Cuando se dimensiona por altura, se calcula a partir de las proporciones del modelo, y es
nullhasta que el modelo haya sido medido.
- Name
wall_thickness_mm- Type
- number
- Description
El grosor de pared mínimo para
printer_type, en milímetros.
- Name
dimensions_mm- Type
- array
- Description
El
[ancho, profundidad, altura]de la impresión en milímetros. La altura puede diferir deheight_mmen una fracción de milímetro.nullhasta que la tarea tenga éxito, y siemprenullpara entradas que no sean GLB.
- Name
- print_repair_report
- Type
- object
- Description
Lo que hizo la reparación de grosor de pared. Presente una vez que una reparación de grosor de pared ha tenido éxito.
- Name
route- Type
- string
- Description
Qué reparación se ejecutó. Una de:
thin_wall: más del 5% de la superficie era demasiado delgada, por lo que también se ejecutó el engrosamiento de paredes (verapplied).topology: las paredes eran lo suficientemente gruesas; solo se ejecutó la reparación de topology.topology_unmeasured: no se pudieron medir las paredes; solo se ejecutó la reparación de topology.
- Name
applied- Type
- boolean
- Description
Si el engrosamiento de paredes modificó la malla. Solo está presente cuando
routeesthin_wall.
- Name
faces_before- Type
- integer
- Description
Número de caras de la malla de entrada. Solo está presente cuando
routeesthin_wall.
- Name
faces_after- Type
- integer
- Description
Número de caras de la malla reparada. Solo está presente cuando
routeesthin_wall.
- Name
thin_area_ratio_before- Type
- number
- Description
Proporción de la superficie de entrada, de
0a1, que era más delgada queintended_print.wall_thickness_mm. Se omite si la entrada no pudo medirse.
- Name
thin_area_ratio_after- Type
- number
- Description
La misma proporción, medida en el modelo reparado. Se omite si no pudo medirse; la tarea aún así tiene éxito.
The Repair Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
The Repair Printability Task Object (wall thickness checked)
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000090000,
"expires_at": 1715725490000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10,
"intended_print": {
"printer_type": "sla",
"height_mm": 100,
"longest_side_mm": 118,
"wall_thickness_mm": 0.8,
"dimensions_mm": [118, 72.41, 99.87]
},
"print_repair_report": {
"route": "thin_wall",
"applied": true,
"faces_before": 243112,
"faces_after": 251870,
"thin_area_ratio_before": 0.083,
"thin_area_ratio_after": 0.004
}
}