ntia / README_VECTOR_GRAPHICS.md
Ntdeseb's picture
Agregar funcionalidad de gráficos vectoriales SVG con SVGDreamer y modelos Microsoft
8d8ad99
# 🎨 Gráficos Vectoriales SVG - NTIA Space
## 📋 Descripción
Esta funcionalidad permite generar gráficos vectoriales SVG de alta calidad usando modelos de IA especializados. Los gráficos vectoriales son escalables sin pérdida de calidad y perfectos para iconos, logos, ilustraciones y elementos de diseño.
## 🚀 Modelos Disponibles
### 🎨 SVGDreamer (Principal)
- **Modelo**: `jree423/svgdreamer`
- **Descripción**: Modelo avanzado de texto a SVG con múltiples estilos
- **Características**:
- Generación multi-partícula (hasta 8 variantes simultáneas)
- 4 estilos diferentes: iconography, pixel_art, sketch, painting
- Optimizado para ZeroGPU H200
- Formato de salida: SVG escalable
### 🏢 Modelos Microsoft (Especializados)
- **IconGenerator**: Generador de iconos vectoriales
- **LogoMaker**: Creador de logos corporativos
- **VectorArt**: Arte vectorial general
- **IllustrationGen**: Ilustraciones editoriales
- **PatternMaker**: Generador de patrones
- **DiagramGen**: Diagramas técnicos
- **ChartMaker**: Gráficos de datos
- **FlowchartGen**: Diagramas de flujo
- **MindMapGen**: Mapas mentales
- **InfographicGen**: Infografías
- **PosterMaker**: Pósters vectoriales
- **BannerGen**: Banners web
- **CardMaker**: Tarjetas de presentación
- **BadgeGen**: Insignias y premios
- **StickerMaker**: Stickers vectoriales
- **EmojiGen**: Emojis personalizados
- **IconSetGen**: Conjuntos de iconos
- **UIElementGen**: Elementos de interfaz
## 🎯 Estilos Disponibles
### 1. Iconography
- **Descripción**: Iconos limpios y minimalistas
- **Uso**: Logos, iconos de apps, símbolos
- **Ejemplo**: "a simple house icon"
### 2. Pixel Art
- **Descripción**: Estilo retro con píxeles visibles
- **Uso**: Juegos, arte retro, nostalgia
- **Ejemplo**: "a pixel art character"
### 3. Sketch
- **Descripción**: Dibujo a mano alzada
- **Uso**: Bocetos, ilustraciones artísticas
- **Ejemplo**: "a sketch of a mountain landscape"
### 4. Painting
- **Descripción**: Estilo pictórico con pinceladas
- **Uso**: Arte digital, ilustraciones expresivas
- **Ejemplo**: "an oil painting of a sunset"
## ⚙️ Parámetros de Configuración
### Parámetros Principales
- **Número de partículas**: 1-8 (más partículas = más variantes)
- **Iteraciones**: 100-1000 (más iteraciones = mejor calidad)
- **Guidance scale**: 1.0-15.0 (controla adherencia al prompt)
- **Dimensiones**: 64x64 a 512x512 píxeles
### Optimización para ZeroGPU
- **Timeout**: 45 segundos máximo
- **Memoria**: Optimizado para H200
- **Cuota**: Estimación precisa de uso
## 📝 Ejemplos de Prompts
### 🦅 Naturaleza
- "a majestic eagle soaring through clouds"
- "ocean waves crashing on rocks"
- "a field of sunflowers under blue sky"
### 🤖 Personajes y Objetos
- "a friendly robot character"
- "a vintage bicycle"
- "a magical wizard casting spells"
### 🎨 Arte Abstracto
- "geometric patterns in bright colors"
- "flowing organic shapes"
- "mandala design with intricate details"
### 🏢 Elementos Corporativos
- "modern company logo with geometric shapes"
- "professional business card design"
- "corporate presentation template"
## 🔧 Uso Técnico
### API Directa
```python
from huggingface_hub import InferenceClient
client = InferenceClient("jree423/svgdreamer")
result = client.post(
json={
"inputs": "a cyberpunk cityscape at night",
"parameters": {
"n_particle": 4,
"style": "pixel_art",
"guidance_scale": 8.0
}
}
)
```
### Parámetros Completos
```python
payload = {
"inputs": "tu prompt aquí",
"parameters": {
"n_particle": 6, # Número de variantes
"num_iter": 1000, # Iteraciones de optimización
"guidance_scale": 7.5, # Control de adherencia
"style": "iconography", # Estilo artístico
"width": 224, # Ancho en píxeles
"height": 224, # Alto en píxeles
"seed": 42 # Semilla para reproducibilidad
}
}
```
## 📊 Formato de Salida
### SVGDreamer
- **Formato**: Lista de objetos JSON
- **Contenido**: SVG como string + metadatos
- **Partículas**: Múltiples variantes por request
### Otros Modelos
- **Formato**: SVG único
- **Contenido**: Código SVG directo
- **Metadatos**: Información del modelo usado
## ⚡ Optimizaciones de Rendimiento
### Para ZeroGPU H200
- **Memoria**: Uso optimizado de VRAM
- **Velocidad**: Configuración turbo para H200
- **Cuota**: Estimación precisa de tiempo
### Parámetros Recomendados
- **Rápido**: 1 partícula, 100 iteraciones
- **Balanceado**: 4 partículas, 500 iteraciones
- **Alta calidad**: 8 partículas, 1000 iteraciones
## 🎨 Casos de Uso
### 1. Diseño de Marca
- Logos corporativos
- Identidad visual
- Elementos de marca
### 2. Desarrollo Web
- Iconos de interfaz
- Elementos UI/UX
- Gráficos responsivos
### 3. Marketing Digital
- Banners publicitarios
- Infografías
- Material promocional
### 4. Contenido Educativo
- Diagramas técnicos
- Mapas conceptuales
- Ilustraciones didácticas
### 5. Arte Digital
- Ilustraciones personalizadas
- Patrones decorativos
- Elementos artísticos
## 🔍 Solución de Problemas
### Error de Cuota
- **Síntoma**: "Cuota de ZeroGPU agotada"
- **Solución**: Esperar unos minutos y reintentar
- **Prevención**: Usar menos partículas/iteraciones
### Error de Autenticación
- **Síntoma**: "Error de autenticación"
- **Solución**: Verificar HF_TOKEN
- **Prevención**: Configurar token correctamente
### Error de Memoria
- **Síntoma**: "Error de memoria GPU"
- **Solución**: Reducir parámetros
- **Prevención**: Usar configuraciones conservadoras
### Timeout
- **Síntoma**: "Timeout en la generación"
- **Solución**: Usar modelo más rápido
- **Prevención**: Optimizar parámetros
## 📈 Métricas de Rendimiento
### SVGDreamer
- **Tiempo promedio**: 15-30 segundos
- **Calidad**: Alta (escalable sin pérdida)
- **Variedad**: Excelente (múltiples estilos)
### Modelos Microsoft
- **Tiempo promedio**: 10-20 segundos
- **Calidad**: Especializada por dominio
- **Variedad**: Específica por tipo
## 🚀 Próximas Mejoras
- [ ] Soporte para más estilos artísticos
- [ ] Integración con editores SVG
- [ ] Exportación a formatos adicionales
- [ ] Optimización de velocidad
- [ ] Más modelos especializados
## 📞 Soporte
Para problemas técnicos o sugerencias:
- Revisar logs del Space
- Verificar configuración de ZeroGPU
- Consultar documentación de Hugging Face
---
**🎨 ¡Disfruta creando gráficos vectoriales increíbles con IA!**