--- id: "ADR-003" title: "Motor de Generacion de Imagenes" type: "ADR" status: "Accepted" date: "2025-12-08" deciders: ["Architecture Team"] tags: ["ai", "comfyui", "sdxl", "generation", "lora"] project: "platform_marketing_content" created_date: "2025-12-08" updated_date: "2026-01-04" --- # ADR-003: Motor de Generación de Imágenes **Fecha:** 2025-12-08 **Estado:** Aceptado --- ## Contexto La plataforma necesita generar imágenes para marketing con: 1. Alta calidad fotográfica 2. Consistencia de marca (LoRAs) 3. Control sobre composición (ControlNets) 4. Capacidad de personalización 5. Costos controlables a escala Opciones: - APIs de terceros (Midjourney, DALL-E, etc.) - Modelos open source auto-hosteados - Híbrido --- ## Decisión ### Motor Principal: ComfyUI + Stable Diffusion XL Usaremos **ComfyUI** como motor de generación con **SDXL** como modelo base, complementado con APIs externas para casos específicos. ### Componentes 1. **ComfyUI Server** - Servidor dedicado con GPU - API HTTP para ejecución de workflows - Soporte para nodos personalizados 2. **Modelos Base** - Stable Diffusion XL 1.0 - Checkpoints especializados (realismo, producto, etc.) 3. **Adaptadores** - LoRAs para personalización de marcas/productos - ControlNets para poses y composición - IP-Adapter para consistencia de personajes 4. **Integración vía ComfyDeploy o HTTP directo** ### Arquitectura ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Backend │────▶│ Bull │────▶│ ComfyUI │ │ NestJS │ │ Queue │ │ Server │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │◀──────── Webhook callback ───────────┘ │ ▼ ┌─────────────┐ │ S3/MinIO │ │ Storage │ └─────────────┘ ``` ### Workflows Predefinidos 1. **product_photo_synthetic** - Fotografía de producto 2. **social_media_post** - Posts para redes 3. **ad_variations** - Variaciones A/B 4. **virtual_avatar** - Personajes consistentes --- ## Consecuencias ### Positivas - **Control total:** Personalización ilimitada de workflows - **Sin costos por generación:** Solo infraestructura - **LoRAs propios:** Entrenar modelos específicos de marca - **Sin censura externa:** Control sobre políticas de contenido - **Escalable:** Agregar más GPUs según demanda - **Open source:** Sin dependencia de vendor ### Negativas - **Infraestructura:** Requiere servidor(es) con GPU - **Complejidad:** Mantener ComfyUI y modelos actualizados - **Expertise:** Necesario conocimiento de diffusion models - **Tiempo inicial:** Setup más largo que usar API ### Costos Estimados | Componente | Costo Mensual (Estimado) | |------------|--------------------------| | GPU Server (RTX 4090) | $300-500 cloud / $0 on-prem | | Storage (500GB) | $20-50 | | Bandwidth | $10-30 | | **Total** | **$330-580/mes** | vs API pricing: ~$0.02-0.08 por imagen × miles de imágenes --- ## APIs Complementarias Para casos donde SDXL no es óptimo: | Caso | API Sugerida | |------|--------------| | Texto perfecto en imagen | Gemini/Ideogram | | Generación de texto/copy | OpenAI GPT-4 | | Video (futuro) | Runway/Seedream | --- ## Alternativas Consideradas ### 1. Midjourney API **Pros:** - Calidad excepcional - Sin infraestructura **Contras:** - No hay API oficial (solo Discord) - Sin LoRAs personalizados - Costos por imagen - Políticas de contenido restrictivas **Rechazo:** No viable sin API oficial ### 2. DALL-E 3 API **Pros:** - API oficial de OpenAI - Buena calidad **Contras:** - Sin LoRAs - Costos altos a escala ($0.04-0.08/imagen) - Censura agresiva **Rechazo:** Costos y falta de personalización ### 3. Replicate/Banana/Modal **Pros:** - SDXL en la nube - Pago por uso **Contras:** - Costos similares a APIs - Menos control sobre workflows - Latencia adicional **Rechazo:** Costo-beneficio no favorable --- ## Plan de Migración 1. **Fase 1:** ComfyUI local con workflows básicos 2. **Fase 2:** LoRAs de marcas, ComfyDeploy 3. **Fase 3:** Cluster de GPUs, auto-scaling --- ## Referencias - [ComfyUI GitHub](https://github.com/comfyanonymous/ComfyUI) - [SDXL Paper](https://arxiv.org/abs/2307.01952) - [ComfyDeploy](https://www.comfydeploy.com/) --- **Documento generado por:** Requirements-Analyst **Fecha:** 2025-12-08