Saltar a contenido

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):

{
  "job_id": "abc12345",
  "status": "processing",
  "message": "Exportacion STL iniciada"
}

Consultar Estado

GET /api/stl-status/abc12345
Authorization: Bearer <token>

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: downloadingconvertingrepairingvalidatingscalinguploadingdone

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