Initial import
This commit is contained in:
23
progreso/2024-06-07-gemini-imagenes.md
Normal file
23
progreso/2024-06-07-gemini-imagenes.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# 2024-06-07 · Integración Gemini para imágenes en Lectura global
|
||||
|
||||
## Backend
|
||||
- Creado módulo `GeminiService` que usa el modelo `gemini-2.5-flash-image` de Gemini para generar ilustraciones infantiles.
|
||||
- Nuevo `GlobalWordsService` lee `content/palabras-globales.json`, precarga imágenes en `content/generated/global-words/` y expone endpoints REST (`/global-words`).
|
||||
- Endpoint `/global-words/:slug/image` entrega/auto-genera la imagen cuando el front la solicita.
|
||||
- Se habilitó CORS en Nest para que la webapp consuma el API desde `http://localhost:4173` u otros orígenes configurables.
|
||||
- Si Gemini rechaza la petición (por acceso al modelo) el servicio genera un placeholder SVG brillante y lo cachea, garantizando que Milo siempre vea una figura.
|
||||
|
||||
## Frontend
|
||||
- `Lectura global` ahora consume imágenes reales desde el backend y ofrece matching palabra-imagen con feedback inmediato.
|
||||
- Se agregó `VITE_API_BASE_URL` (ver `app/.env.example`) y se cachean URLs por palabra para evitar descargas repetidas.
|
||||
- Se mantiene el centro de ayuda con indicaciones prácticas.
|
||||
|
||||
## Uso
|
||||
1. En una terminal: `cd backend && npm run start:dev` (se precargarán imágenes en background automáticamente).
|
||||
2. En otra terminal: `cd app && npm run dev -- --host 0.0.0.0 --port 4173` y abrir `http://localhost:4173`.
|
||||
|
||||
## Pendientes
|
||||
- [ ] Manejar colas/concurrencia para lotes grandes (usar BullMQ u otra cola).
|
||||
- [ ] Guardar metadatos de generación (prompt, versión, timestamps) en BD.
|
||||
- [ ] Añadir endpoint para verificar progreso del prefetch y mostrarlo en el dashboard.
|
||||
- [ ] Validar acceso a los modelos de imagen en la cuenta de Gemini (si `gemini-2.5-flash-image` no está habilitado se seguirán viendo placeholders hasta que Google otorgue acceso).
|
||||
Reference in New Issue
Block a user