You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ViralLab is a full-stack AI-powered platform that helps YouTube creators generate viral content. From scripts to thumbnails to voiceovers - all powered by GPT-4 and Google Gemini.
β¨ Features
π¬ Content Generation
Feature
Description
Script Generation
AI analyzes viral YouTube videos and generates optimized scripts for any topic
Thumbnail Studio
Generate eye-catching thumbnails with AI (Google Gemini)
Face Integration
Upload your face and have it seamlessly integrated into thumbnails
Neural Audio
Professional text-to-speech voiceovers with multiple voices and personas
Image Generation
Generate any image from a text prompt with optional face integration
π Workflow Features
Feature
Description
One-Click Workflow
Generate script + thumbnails + audio in a single request
Real-time Streaming
Server-Sent Events (SSE) for live progress updates
Background Processing
Generate content while you work on other things
Multi-model Support
GPT-4, GPT-3.5, Gemini Pro, and more
π Security & Storage
Feature
Description
JWT Authentication
Secure user authentication with access/refresh tokens
# 1. Clone the repository
git clone https://github.com/yourusername/youtuber.git
cd youtuber
# 2. Copy environment file and add your API keys
cp .env.example .env
# Edit .env with your API keys# 3. Start with Docker Compose
docker compose up --build
# App will be available at http://localhost:8001
Local Development
# Backend Setup
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
pip install -r requirements.txt
# Start PostgreSQL (or use Docker)
docker compose up db -d
# Run migrationscd backend && alembic upgrade head
# Start backend
uvicorn backend.main:app --reload --port 8001
# Frontend Setup (new terminal)cd frontend
npm install
npm run dev
# Frontend at http://localhost:5173# Backend at http://localhost:8001
π Environment Variables
# API Keys (Required)OPENAI_API_KEY=sk-your-openai-keyGEMINI_API_KEY=your-gemini-key# DatabaseDATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/youtuber# JWT SecurityJWT_SECRET_KEY=your-super-secret-key-change-in-production# Optional: CloudFlare R2 StorageSTORAGE_MODE=local# or "r2"R2_ACCOUNT_ID=R2_ACCESS_KEY_ID=R2_SECRET_ACCESS_KEY=R2_BUCKET_NAME=virallab-mediaR2_PUBLIC_URL=
π‘ API Endpoints
Authentication
Method
Endpoint
Description
POST
/auth/signup
Register new user
POST
/auth/login
Login and get tokens
POST
/auth/refresh
Refresh access token
POST
/auth/logout
Logout current device
GET
/auth/me
Get current user info
GET
/auth/sessions
List active sessions
Content Generation
Method
Endpoint
Description
POST
/generate/script
Generate YouTube script
POST
/generate/thumbnail
Generate thumbnails
POST
/generate/full-workflow
Script + thumbnails in one call
POST
/generate/full-workflow/stream
Streaming workflow with SSE
Audio
Method
Endpoint
Description
GET
/audio/options
Get available voices & personas
POST
/audio/generate
Generate voiceover audio
GET
/audio/list
List user's audio files
Images
Method
Endpoint
Description
POST
/image/generate
Generate images from prompt
GET
/image/list
List user's generated images
Face Management
Method
Endpoint
Description
POST
/face/upload
Upload face image
GET
/face/current
Get current face image
DELETE
/face/current
Delete face image
π¨ Frontend Pages
Page
Path
Description
Landing
/
Marketing landing page
Login
/login
User authentication
Signup
/signup
New user registration
Dashboard
/dashboard
Main app dashboard
Workflow
/dashboard/workflow
Full content workflow
Thumbnail Studio
/dashboard/thumbnail
Generate thumbnails
Image Studio
/dashboard/image
Generate images
Audio Studio
/dashboard/audio
Generate voiceovers
Settings
/dashboard/settings
User settings
π³ Docker Commands
# Production build & run
docker compose up --build
# Development mode (with hot reload)
docker compose --profile dev up db frontend-dev backend-dev
# Just the database
docker compose up db
# View logs
docker compose logs -f app
# Stop all services
docker compose down
# Clean volumes
docker compose down -v
π§ͺ Testing
# Run backend testscd backend
pytest
# Run with coverage
pytest --cov=backend
# Run specific test file
pytest tests/test_auth.py -v
π License
MIT License - feel free to use this project for personal or commercial purposes.
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Full-stack AI platform for YouTube creators. Generate scripts, thumbnails with face cloning, and voiceovers using GPT-4 & Gemini. React 19 + FastAPI + PostgreSQL.