- Update vision, architecture and technical documentation - Update module definitions (PMC-001 to PMC-008) - Update requirements documentation - Add CONTEXT-MAP.yml and ENVIRONMENT-INVENTORY.yml - Add orchestration guidelines and references 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
193 lines
4.6 KiB
Markdown
193 lines
4.6 KiB
Markdown
---
|
||
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
|