Pipeline de Exportacion STL¶
El pipeline STL convierte modelos GLB de proveedores IA en archivos STL listos para imprimir con control de calidad automatizado.
Arquitectura¶
Modelo GLB (Tripo/Meshy)
|
v
Descargar y Convertir (trimesh)
|
v
Auto-Reparacion (admesh)
|
v
Evaluador de Calidad (GPT-4o) → REJECT / FAST / FULL
|
v
Escalar y Validar
|
v
Decision de Remix (GPT-4o) → PASS / REMIX / ESCALATE
|
v
Subir STL a MinIO
El pipeline se ejecuta como microservicio FastAPI (mdu-stl-pipeline) en el puerto 8090, con proxy a traves de mdu-api.
Endpoints¶
Directos (STL Pipeline)¶
| Metodo | Ruta | Auth | Descripcion |
|---|---|---|---|
| GET | /api/stl/health |
- | Health check |
| GET | /api/stl/profiles |
- | Listar perfiles de impresora |
| POST | /api/stl/export/stl |
- | Iniciar trabajo de exportacion STL |
| GET | /api/stl/export/status/:jobId |
- | Consultar estado del trabajo |
Con proxy via mdu-api¶
| Metodo | Ruta | Auth | Descripcion |
|---|---|---|---|
| GET | /api/stl-profiles |
- | Listar perfiles de impresora |
| POST | /api/stl-export |
Requerido | Iniciar exportacion STL |
| GET | /api/stl-status/:jobId |
Requerido | Consultar estado |
Perfiles de Impresora¶
5 perfiles integrados optimizados para diferentes tipos de impresora:
| Perfil | Tipo | Altura Capa | Boquilla |
|---|---|---|---|
fdm_standard |
FDM | 0.2mm | 0.4mm |
fdm_fine |
FDM | 0.1mm | 0.4mm |
resin_standard |
Resina | 0.05mm | - |
resin_fine |
Resina | 0.025mm | - |
resin_ultra |
Resina | 0.01mm | - |
Exportar STL¶
POST /api/stl-export
Authorization: Bearer <token>
Content-Type: application/json
{
"source": "tripo",
"tripo_task_id": "abc123",
"printer_profile": "fdm_standard",
"target_scale": "32mm_standard",
"auto_repair": true,
"original_prompt": "guerrero enano"
}
Respuesta (inmediata):
Consultar Estado¶
Respuesta (exito):
{
"job_id": "abc12345",
"status": "success",
"progress": 100,
"stage": "done",
"stl_url": "https://minidreamuniverse.com/api/assets/mdu-assets/...",
"metadata": {
"face_count": 42800,
"is_watertight": true,
"volume_mm3": 12450.5,
"bounding_box_mm": [24.5, 31.2, 38.7],
"quality_status": "PASS"
},
"qa_path": "FAST",
"qa_score": 92,
"remix_decision": { "action": "PASS", "confidence": 0.95 }
}
Etapas: downloading → converting → repairing → validating → scaling → uploading → done
Control de Calidad con IA¶
Flow 2 — Evaluador de Calidad¶
Despues de la reparacion de malla, GPT-4o evalua y enruta:
| Decision | Accion |
|---|---|
| FAST | Saltar validacion detallada |
| FULL | Ejecutar suite de validacion completa |
| REJECT | Fallar el trabajo inmediatamente |
Flow 3 — Decision de Remix¶
Despues de la validacion, GPT-4o evalua el resultado final:
| Decision | Accion |
|---|---|
| PASS | Modelo listo para imprimir |
| REMIX | Badge en metadata (sugerir re-generacion) |
| ESCALATE | Marcar para revision manual |
Generacion de Bases¶
POST /api/generate-base
Authorization: Bearer <token>
{
"miniature_bbox": [24.5, 31.2, 38.7],
"style": "gaming",
"base_type": "round",
"base_size": "32mm",
"magnet_slots": true,
"printer_profile": "fdm_standard"
}
Usa el Flow 4 (Personalizador de Bases) para generar codigo Python build123d, lo ejecuta en el contenedor mdu-base-builder y devuelve una URL STL alojada en MinIO.
Limites de Uso¶
| Plan | Exportaciones STL/mes |
|---|---|
| Free | 10 |
| Starter | 30 |
| Pro | 50 |
Rendimiento¶
- Pipeline Tripo3D: ~12 segundos de extremo a extremo
- Pipeline Meshy: ~154 segundos (usa Remesh), fallback GLB disponible
- Timeout de validacion: 240 segundos