Sketch Maker Ai
Una aplicación web sofisticada que aprovecha múltiples proveedores y modelos de IA para generar obras de arte, pancartas y contenido visual personalizado a partir de descripciones de texto. Las características incluyen capacitación de modelos personalizados, soporte de formato múltiple y un sistema integral de galería.
Características del núcleo
Soporte de IA de múltiples productores
- OpenAI: modelos de lenguaje avanzado para una mejora rápida
- Antropic: modelos de idiomas de última generación con capacidades de Claude
- Google Gemini: IA de próxima generación con comprensión multimodal
- Groq: inferencia de alto rendimiento con latencia ultra baja
Generación de banner
- Creación de banner SVG con control preciso
- Presets de múltiples estilo (modernos, minimalistas, artísticos, corporativos, juguetones, tecnológicos, elegantes)
- Alineación y posicionamiento de texto dinámico
- Viewbox automático y manejo de la preservación de la presentación
- Soporte para gradientes, patrones y efectos
Generación de imágenes (integración FAL)
- Flux Pro: generación de imágenes estándar de alta calidad
- Flux Pro Ultra: generación avanzada con control de relación de aspecto
- Flux Lora: soporte de capacitación de modelos personalizados
- Flux Dev: entorno de desarrollo y prueba
- Realismo de flujo: generación fotorrealista mejorada
- Recraft V3: control de estilo avanzado con personalización de color
Capacitación de modelos personalizados
- Soporte para 5-20 imágenes de entrenamiento
- Generación de máscara automática
- Monitoreo del progreso del entrenamiento en tiempo real
- Integración de Webhook para actualizaciones de estado
- Gestión del historial de capacitación
- Fácil acceso a archivos de modelo capacitado
- Gestión de palabras de activación
Gestión de galería y activos
- Galerías de imágenes personales
- Soporte de formato múltiple (WebP, PNG, JPEG)
- Conversión de formato automático
- Sistema de descarga segura
- Seguimiento de metadatos de imagen
- Historia de la creación
Seguridad avanzada
- Control de acceso basado en roles (usuario/administrador/superadmin)
- Gestión de claves API seguras
- Protección limitante de tasas
- Privilegios de primer usuario del primer usuario
- Administración de cuentas de usuario
- Monitoreo de la actividad
Sistema de autenticación
- Métodos de autenticación múltiples:
- Autenticación regular de nombre de usuario/contraseña
- Integración de Google Oauth
- Controles de autenticación configurables
- Controles de autenticación de administrador:
- Habilitar/deshabilitar la autenticación regular
- Habilitar/deshabilitar la autenticación de Google
- Configurar las credenciales de Google Oauth
- Administrar la configuración de autenticación a través de la interfaz de administración
- Características de Google Oauth:
- Implementación segura de OAuth 2.0
- Creación de cuentas automáticas para nuevos usuarios de Google
- Enlace de cuenta para los usuarios existentes
- Sincronización de información de perfil
- Manejo seguro de devolución de llamada
- Seguridad de la autenticación:
- Requisitos de resistencia a la contraseña
- Asegurado de contraseña
- Limitar la tasa en los intentos de inicio de sesión
- Gestión de sesiones
- Opciones de recuperación de cuentas
Sistema de correo electrónico
- Soporte para SMTP y Amazon SES
- Plantillas de correo electrónico HTML
- Correos electrónicos de bienvenida para nuevos usuarios
- Funcionalidad de restablecimiento de contraseña con OTP
- Prueba de la funcionalidad de correo electrónico
- Monitoreo del estado del servicio de correo electrónico
Gestión de usuarios
- Registro de usuarios con sistema de aprobación
- Gestión de roles (usuario/administrador/superadmin)
- Control de estado de la cuenta
- Restablecer contraseña con verificación por correo electrónico
- Funcionalidad de búsqueda de usuarios
- Administración de usuarios a granel
Pila de tecnología
Backend
- Python 3.12+
- Marco web de Flask
- Sqlalchemy orm
- Flask-login para la autenticación
- Limitador para el matraz para limitar la velocidad
- Boto3 para servicios de AWS
- Múltiples SDK de proveedores de IA
Interfaz
- HTML5/CSS3
- JavaScript (ES6+)
- Componentes de Daisyui
- CSS de viento de cola
- Animaciones GSAP
- Diseño receptivo
Base de datos
- Sqlite (desarrollo)
- PostgreSQL (producción de producción)
Servicios de correo electrónico
- Soporte SMTP
- Integración de Amazon SES
- Plantillas de correo electrónico HTML
- Administración de colas de correo electrónico
Seguridad
- Limitación de tasas
- Asegurado de contraseña
- Control de acceso basado en roles
- Gestión de claves de API
Herramientas de desarrollo
- Entorno virtual de Python
- Control de la versión GIT
- Integración VSCODE
Instalación
- Clon el repositorio:
git clone https://github.com/marketcalls/sketchmaker.git
cd sketchmaker
- Crear y activar el entorno virtual:
python -m venv venv
source venv/bin/activate # Windows: venvScriptsactivate
- Instalar dependencias:
pip install -r requirements.txt
- Inicializar la base de datos:
flask shell
>>> from app import db
>>> db.create_all ()
>>> exit ()
- Ejecute la aplicación:
Configuración
Configuración de autenticación
Configurar configuraciones de autenticación en la interfaz de administración (/administrador/administración/auth):
Autenticación regular
- Habilitar/deshabilitar la autenticación de nombre de usuario/contraseña
- Configurar los requisitos de contraseña
- Administrar la configuración de registro del usuario
Configuración de Google Oauth
- Vaya a Google Cloud Console
- Crear un nuevo proyecto o seleccionar uno existente
- Configurar la pantalla de consentimiento de OAuth:
- Seleccione Tipo de usuario "externo"
- Agregar información de la aplicación requerida
- Agregar ámbitos: correo electrónico y perfil
- Crear credenciales OAuth:
- Crear ID de cliente OAuth
- Seleccione "Aplicación web"
- Agregar orígenes de JavaScript autorizados:
http://localhost:5000 (development)
https://your-domain.com (production)
- Agregue URI de redirección autorizada:
http://localhost:5000/auth/google/callback (development)
https://your-domain.com/auth/google/callback (production)
- Copiar la identificación del cliente y el secreto del cliente
- Configurar en la interfaz de administración:
- Habilitar la autenticación de Google
- Agregar ID de cliente de Google
- Agregar secreto del cliente de Google
Llaves API requeridas
Configurarlos en la configuración de administrador después de la primera sesión:
- Operai, Anthrope, Google Gemini, Groq API Key (configure cualquiera)
- Clave de API FAL
Configuración de correo electrónico
Configurar SMTP o Amazon SES:
Configuración SMTP
- Host SMTP
- Puerto SMTP
- Nombre de usuario SMTP
- Contraseña SMTP
- Soporte TLS
Configuración de Amazon SES
- Clave de acceso de AWS
- AWS Clave secreta
- Región de AWS
Guía de uso
Configuración inicial:
- Registre el primer usuario (se convierte en SuperAdmin)
- Configurar las teclas API en la configuración
- Configurar el servicio de correo electrónico
- Configurar métodos de autenticación
- Configurar Google Oauth (si es necesario)
- Seleccione el proveedor de IA preferido
Generación de contenido:
- Crear pancartas con estilos personalizados
- Generar imágenes con varios modelos
- Entrenar modelos personalizados
- Administrar contenido de la galería
Funciones de administración:
- Administrar usuarios y roles
- Configurar la configuración de correo electrónico
- Configurar configuraciones de autenticación
- Monitorear la configuración del sistema
- Seguimiento de la actividad del usuario
Que contribuye
- Bifurca el repositorio
- Cree su rama de características (
git checkout -b feature/AmazingFeature ) - Comprometer sus cambios (
git commit -m 'Add some AmazingFeature' ) - Push to the Branch (
git push origin feature/AmazingFeature ) - Abra una solicitud de extracción
Licencia
Este proyecto tiene licencia bajo la licencia AGPL v3.0; consulte el archivo de licencia para obtener más detalles.
Autor
MarketCalls
Créditos
Iconos e imágenes
- Favicon y logotipo: íconos de libros de bocetos creados por RA_IC0N21 - Flaticon