A sophisticated web application that leverages multiple AI providers and models to generate artwork, banners, and custom visual content from text descriptions. Features include custom model training, multiple format support, and a comprehensive gallery system.
- OpenAI: Advanced language models for prompt enhancement
- Anthropic: State-of-the-art language models with Claude capabilities
- Google Gemini: Next-generation AI with multimodal understanding
- Groq: High-performance inference with ultra-low latency
- SVG banner creation with precise control
- Multiple style presets (modern, minimalist, artistic, corporate, playful, tech, elegant)
- Dynamic text alignment and positioning
- Automatic viewBox and preserveAspectRatio handling
- Support for gradients, patterns, and effects
- Flux Pro: High-quality standard image generation
- Flux Pro Ultra: Advanced generation with aspect ratio control
- Flux Lora: Custom model training support
- Flux Dev: Development and testing environment
- Flux Realism: Enhanced photorealistic generation
- Recraft V3: Advanced style control with color customization
- Support for 5-20 training images
- Automatic mask generation
- Real-time training progress monitoring
- Webhook integration for status updates
- Training history management
- Easy access to trained model files
- Trigger word management
- Personal image galleries
- Multiple format support (WebP, PNG, JPEG)
- Automatic format conversion
- Secure download system
- Image metadata tracking
- Creation history
- Role-based access control (User/Admin/Superadmin)
- Secure API key management
- Rate limiting protection
- First-user superadmin privileges
- User account management
- Activity monitoring
- Multiple authentication methods:
- Regular username/password authentication
- Google OAuth integration
- Configurable authentication controls
- Admin authentication controls:
- Enable/disable regular authentication
- Enable/disable Google authentication
- Configure Google OAuth credentials
- Manage authentication settings through admin interface
- Google OAuth features:
- Secure OAuth 2.0 implementation
- Automatic account creation for new Google users
- Account linking for existing users
- Profile information synchronization
- Secure callback handling
- Authentication security:
- Password strength requirements
- Secure password hashing
- Rate limiting on login attempts
- Session management
- Account recovery options
- Support for both SMTP and Amazon SES
- HTML email templates
- Welcome emails for new users
- Password reset functionality with OTP
- Test email functionality
- Email service status monitoring
- User registration with approval system
- Role management (User/Admin/Superadmin)
- Account status control
- Password reset with email verification
- User search functionality
- Bulk user management
- Python 3.12+
- Flask Web Framework
- SQLAlchemy ORM
- Flask-Login for authentication
- Flask-Limiter for rate limiting
- Boto3 for AWS services
- Multiple AI provider SDKs
- HTML5/CSS3
- JavaScript (ES6+)
- DaisyUI components
- Tailwind CSS
- GSAP animations
- Responsive design
- SQLite (development)
- PostgreSQL (production ready)
- SMTP support
- Amazon SES integration
- HTML email templates
- Email queue management
- Rate limiting
- Secure password hashing
- Role-based access control
- API key management
- Python virtual environment
- Git version control
- VSCode integration
- Clone the repository:
git clone https://github.com/marketcalls/sketchmaker.git
cd sketchmaker
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Initialize the database:
flask shell
>>> from app import db
>>> db.create_all()
>>> exit()
- Run the application:
python app.py
Configure authentication settings in the admin interface (/admin/manage/auth):
- Enable/disable username/password authentication
- Configure password requirements
- Manage user registration settings
- Go to Google Cloud Console
- Create a new project or select existing one
- Configure OAuth consent screen:
- Select "External" user type
- Add required app information
- Add scopes: email and profile
- Create OAuth credentials:
- Create OAuth client ID
- Select "Web application"
- Add authorized JavaScript origins:
http://localhost:5000 (development) https://your-domain.com (production)
- Add authorized redirect URIs:
http://localhost:5000/auth/google/callback (development) https://your-domain.com/auth/google/callback (production)
- Copy Client ID and Client Secret
- Configure in admin interface:
- Enable Google authentication
- Add Google Client ID
- Add Google Client Secret
Configure these in the admin settings after first login:
- OpenAI, Anthropic, Google Gemini, Groq API key (configure any one)
- FAL API key
Configure either SMTP or Amazon SES:
- SMTP Host
- SMTP Port
- SMTP Username
- SMTP Password
- TLS Support
- AWS Access Key
- AWS Secret Key
- AWS Region
-
Initial Setup:
- Register first user (becomes superadmin)
- Configure API keys in settings
- Set up email service
- Configure authentication methods
- Set up Google OAuth (if needed)
- Select preferred AI provider
-
Content Generation:
- Create banners with custom styles
- Generate images with various models
- Train custom models
- Manage gallery content
-
Admin Functions:
- Manage users and roles
- Configure email settings
- Configure authentication settings
- Monitor system settings
- Track user activity
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the AGPL v3.0 License - see the LICENSE file for details.
- Favicon and logo: Sketch book icons created by RA_IC0N21 - Flaticon