forked from innovacion/playground
Initial commit
This commit is contained in:
138
frontend/README.md
Normal file
138
frontend/README.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# 🎨 Image Playground - Google Generative AI
|
||||
|
||||
Playground interactivo para generar imágenes usando los modelos de Google Generative AI (Gemini).
|
||||
|
||||
## ✨ Características
|
||||
|
||||
- 🤖 **Múltiples modelos de Gemini** - Elige entre diferentes versiones de Gemini
|
||||
- 🎭 **Configuración completa** - Aspect ratios, negative prompts, safety levels
|
||||
- 🖼️ **Visualización en tiempo real** - Ve tus imágenes generadas al instante
|
||||
- 💾 **Descarga directa** - Guarda las imágenes con un clic
|
||||
- 📱 **Responsive** - Funciona en desktop y mobile
|
||||
- ⚡ **Vercel AI SDK** - Integración completa con el SDK oficial
|
||||
|
||||
## 🚀 Instalación
|
||||
|
||||
1. **Instalar dependencias:**
|
||||
```bash
|
||||
cd frontend
|
||||
npm install
|
||||
```
|
||||
|
||||
2. **Configuración automática:**
|
||||
|
||||
El proyecto usa automáticamente las credenciales del archivo `bnt-ia-innovacion-new.json` ubicado en la raíz del proyecto. **No necesitas configurar nada más.**
|
||||
|
||||
Si quieres usar una API key diferente (opcional), crea un archivo `.env.local`:
|
||||
|
||||
```bash
|
||||
cp .env.local.example .env.local
|
||||
# Edita y descomenta GOOGLE_API_KEY
|
||||
```
|
||||
|
||||
3. **Ejecutar el proyecto:**
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Abre [http://localhost:3000](http://localhost:3000) en tu navegador.
|
||||
|
||||
## 📦 Estructura del Proyecto
|
||||
|
||||
```
|
||||
frontend/
|
||||
├── app/
|
||||
│ ├── api/
|
||||
│ │ └── generate-image/
|
||||
│ │ └── route.ts # API endpoint para generación
|
||||
│ ├── layout.tsx # Layout principal
|
||||
│ ├── page.tsx # Página del playground
|
||||
│ └── globals.css # Estilos globales
|
||||
├── components/
|
||||
│ ├── model-selector.tsx # Selector de modelos
|
||||
│ ├── image-config.tsx # Configuración de imágenes
|
||||
│ └── image-card.tsx # Tarjeta de imagen generada
|
||||
├── lib/
|
||||
│ ├── google-ai.ts # Cliente de Google AI
|
||||
│ └── utils.ts # Utilidades
|
||||
└── package.json
|
||||
```
|
||||
|
||||
## 🎯 Uso
|
||||
|
||||
1. **Selecciona un modelo** en el panel lateral
|
||||
2. **Configura los parámetros:**
|
||||
- Aspect Ratio (1:1, 16:9, etc.)
|
||||
- Número de imágenes
|
||||
- Negative prompt (opcional)
|
||||
- Nivel de seguridad
|
||||
3. **Escribe tu prompt** describiendo la imagen que quieres
|
||||
4. **Haz clic en "Generar Imagen"** o presiona Enter
|
||||
5. **Descarga las imágenes** haciendo hover y clic en el botón de descarga
|
||||
|
||||
## 🛠️ Tecnologías
|
||||
|
||||
- **Next.js 14** - Framework React con App Router
|
||||
- **TypeScript** - Type safety
|
||||
- **Vercel AI SDK** - Integración con IA
|
||||
- **Google Generative AI SDK** - API de Google Gemini
|
||||
- **Tailwind CSS** - Estilos
|
||||
- **Lucide Icons** - Iconos
|
||||
|
||||
## 🔧 Configuración Avanzada
|
||||
|
||||
### Modelos Disponibles
|
||||
|
||||
El playground incluye estos modelos de Gemini:
|
||||
|
||||
- `gemini-2.0-flash-exp` - Experimental, rápido
|
||||
- `gemini-exp-1206` - Experimental con mejoras
|
||||
- `gemini-1.5-pro` - Más capaz para tareas complejas
|
||||
- `gemini-1.5-flash` - Rápido y eficiente
|
||||
|
||||
### Aspect Ratios Soportados
|
||||
|
||||
- `1:1` - Cuadrado (1024x1024)
|
||||
- `3:4` - Vertical (768x1024)
|
||||
- `4:3` - Horizontal (1024x768)
|
||||
- `9:16` - Móvil vertical (576x1024)
|
||||
- `16:9` - Widescreen (1024x576)
|
||||
|
||||
## 🤝 Integración con el Backend Python
|
||||
|
||||
El proyecto también incluye un backend en Python en `/backend` que puedes usar alternativamente:
|
||||
|
||||
```bash
|
||||
cd ../backend
|
||||
python list_models.py
|
||||
```
|
||||
|
||||
## 📝 Notas
|
||||
|
||||
- Las imágenes se generan usando la API de Google Generative AI
|
||||
- Asegúrate de tener cuota suficiente en tu cuenta de Google Cloud
|
||||
- Algunos prompts pueden ser bloqueados por políticas de seguridad
|
||||
- Las imágenes se guardan temporalmente en el navegador
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
**Error: "API key inválida"**
|
||||
- Verifica que tu API key esté correctamente configurada en `.env.local`
|
||||
- Asegúrate de que la API key tenga permisos para Generative AI
|
||||
|
||||
**Error: "No se generaron imágenes"**
|
||||
- Prueba con un prompt más descriptivo
|
||||
- Cambia el modelo seleccionado
|
||||
- Verifica los logs del servidor en la consola
|
||||
|
||||
**Las imágenes no se muestran**
|
||||
- Verifica la consola del navegador para errores
|
||||
- Asegúrate de que el modelo soporte generación de imágenes
|
||||
|
||||
## 📄 Licencia
|
||||
|
||||
MIT
|
||||
|
||||
## 🙋 Soporte
|
||||
|
||||
Si encuentras algún problema o tienes preguntas, crea un issue en el repositorio.
|
||||
Reference in New Issue
Block a user