# 2024-06-07 · Motor local de imágenes

## Resumen
- Se creó `image_service/` (FastAPI + Diffusers + SD Turbo) que usa la GPU local (RTX 3060 Ti) para generar ilustraciones infantiles.
- El servicio expone `POST /generate` y guarda los PNG en `content/generated/global-words/`. Corre con `uvicorn` en el puerto 8001 usando el entorno `.venv`.
- El backend Nest reemplazó la dependencia de Gemini por `ImageEngineService`, que llama al servicio local y mantiene fallbacks SVG si algo falla.
- Al iniciar el backend se lanza `prefetchAll` para generar todas las palabras. `POST /global-words/prefetch` permite relanzar el proceso manualmente.
- README y `.env.example` actualizados para reflejar el nuevo flujo (variable `IMAGE_SERVICE_URL`).

## Cómo correr todo
1. `source .venv/bin/activate` (opcional si querés revisar el servicio).
2. `nohup .venv/bin/python -m uvicorn image_service.main:app --host 0.0.0.0 --port 8001 >/tmp/image-service.log 2>&1 &`
3. `cd backend && npm run build && nohup node dist/main.js >/tmp/backend.log 2>&1 &`
4. `cd app && npm run dev -- --host 0.0.0.0 --port 4173` (si no estaba corriendo) y abrir `http://localhost:4173`.

## Pendientes / mejoras
- [ ] Ajustar prompts dependiendo del módulo (por ejemplo, palabras de fútbol vs. autos) para variar estilos.
- [ ] Agregar parámetro `seed` por palabra para reproducibilidad.
- [ ] Exponer desde el backend un endpoint para consultar el estado del prefetch (cuántas imágenes faltan).
- [ ] Afinar tamaño/relación de aspecto según categoría.
