A beautiful web service that creates stylized letter banners where each letter is inspired by interests and themes of your choice. Each letter is generated with a transparent background, perfect for cutting out and taping together to create personalized banners, educational materials, or decorative prints.
- Interest-Based Letters: Each letter is inspired by personal interests and themes
- Transparent Backgrounds: Letters generated with transparent backgrounds for easy cutting and assembly
- Color Palette Selection: Choose from curated color palettes or create custom ones
- Print-Ready Output: Generates high-quality 300dpi images optimized for 8.5x11" printing
- Multiple Formats: Individual letters, combined banner layout, and PDF compilation
- Real-Time Progress: Track generation progress as letters are being created
- Cost Transparency: See exactly what each banner costs to generate
- Web Interface: Easy-to-use web UI for non-technical users
- Clone/Fork this repository to Replit
- Set up environment variables:
- Create a
.env
file with your OpenAI API key:
OPENAI_API_KEY=your_openai_api_key_here
- Create a
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python main.py
-
Clone the repository:
git clone <repository-url> cd streamlit-letter-banner
-
Create virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment:
- Create
.env
file with your OpenAI API key
- Create
-
Run the application:
python main.py
- Enter a Name: Type the name you want to create a banner for
- Choose Objects: For each letter, specify what object it should be shaped like
- Select Colors: Pick from beautiful pre-made color palettes or create your own
- Generate: Watch as AI creates each stylized letter
- Download: Get your print-ready banner files
streamlit-letter-banner/
βββ letter_banner/ # Core letter generation logic
β βββ main.py # Original CLI interface
β βββ openai_client.py # OpenAI API integration
β βββ color_palettes.py # Color palette definitions
β βββ config.py # Configuration settings
β βββ layout.py # Banner layout creation
β βββ utils.py # Utility functions
βββ web/ # Web service components
β βββ app.py # Flask/FastAPI web application
β βββ static/ # CSS, JavaScript, images
β βββ templates/ # HTML templates
βββ main.py # Web service entry point
βββ requirements.txt # Python dependencies
βββ README.md # This file
- Earthy Vintage: Warm beige, forest greens, browns, orange sunset
- Ocean Breeze: Deep navy, seafoam green, sandy beige, coral pink
- Autumn Harvest: Burnt orange, golden yellow, deep red, chestnut
- Spring Garden: Soft pink, sage green, lavender, butter yellow
- Modern Minimal: Charcoal gray, soft blue, warm white
- Sunset Desert: Terracotta, dusty rose, sage green, golden yellow
- Bright Blue: Electric blue, bright yellow, lime green, orange
- Custom: Create your own color combination
Start banner generation process
{
"name": "HELLO",
"letters": [
{"letter": "H", "object": "house"},
{"letter": "E", "object": "elephant"},
{"letter": "L", "object": "lion"},
{"letter": "L", "object": "leaf"},
{"letter": "O", "object": "octopus"}
],
"color_palette": "earthy_vintage"
}
Check generation progress
Download generated files (banner, pdf, individual letters)
- Image Generation: Uses OpenAI's DALL-E for creating stylized letters
- Output Format: 1024x1024 PNG images at 300dpi
- Print Optimization: Designed for 8.5x11" paper printing
- File Management: Automatic cleanup of temporary files
- Progress Tracking: Real-time updates during generation process
- Python 3.8+
- OpenAI API key
- Modern web browser
- Internet connection for AI generation
- Simply fork this repository to Replit
- Add your OpenAI API key to the secrets/environment
- Click "Run" - Replit handles the rest!
- Works on any platform supporting Python web applications
- Ensure environment variables are properly configured
- May need to adjust file paths for different hosting environments
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
[Add your preferred license here]
- Requires valid OpenAI API key with image generation access
- Generation time varies based on complexity (typically 30-60 seconds per letter)
- Large names (8+ letters) may take several minutes to complete
- Files are automatically cleaned up after download
If you encounter issues:
- Check that your OpenAI API key is valid and has sufficient credits
- Ensure all dependencies are installed correctly
- Check the console logs for detailed error messages
- Create an issue for persistent problems
Created with β€οΈ for making beautiful, personalized letter banners