Features: - Image generation (OpenAI, Gemini, Leonardo, Bria, Stability, Flux) - Nano Banana iterative editing - Video generation and upscaling - Audio TTS, STT, sound effects (ElevenLabs) - Text prompt studio and alt text - User authentication with JWT/cookies - Admin panel with voice management - Job queue with Celery - PostgreSQL + Redis backend - Next.js 15 + FastAPI architecture 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
174 lines
4.5 KiB
Markdown
174 lines
4.5 KiB
Markdown
# FORGE AI
|
|
|
|
A unified AI platform for creative media generation, processing, and management.
|
|
|
|
## Features
|
|
|
|
### Image
|
|
- **Generate** - AI image generation with multiple providers (OpenAI DALL-E, Google Gemini/Imagen, Leonardo AI, Bria AI, Stability AI)
|
|
- **Upscale** - Enhance image resolution with Topaz Labs AI
|
|
- **Remove Background** - Remove backgrounds from images
|
|
|
|
### Video
|
|
- **Generate** - AI video generation
|
|
- **Upscale** - Enhance video resolution with Topaz Labs AI
|
|
- **Subtitles** - Generate and add subtitles to videos
|
|
|
|
### Audio
|
|
- **Text to Speech** - Convert text to natural-sounding speech (ElevenLabs)
|
|
- **Voice to Text** - Transcribe audio/video to text (OpenAI Whisper)
|
|
- **Sound Effects** - Generate AI sound effects (ElevenLabs)
|
|
|
|
### Text
|
|
- **Prompt Studio** - AI-powered prompt enhancement and generation
|
|
- **Alt Text Generator** - Generate accessible alt text for images
|
|
|
|
## Tech Stack
|
|
|
|
- **Frontend**: Next.js 15, React 19, TypeScript, TailwindCSS
|
|
- **Backend**: FastAPI, Python 3.11
|
|
- **Database**: PostgreSQL 16
|
|
- **Cache**: Redis
|
|
- **Task Queue**: Celery
|
|
- **Containerization**: Docker Compose
|
|
|
|
## Quick Start
|
|
|
|
### Prerequisites
|
|
- Docker and Docker Compose
|
|
- API Keys for services you want to use (OpenAI, Google AI, ElevenLabs, etc.)
|
|
|
|
### Setup
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone <repo-url>
|
|
cd forge-ai
|
|
```
|
|
|
|
2. Copy the example environment file:
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
3. Configure your API keys in `.env`:
|
|
```bash
|
|
# Required for basic functionality
|
|
OPENAI_API_KEY=your-openai-key
|
|
|
|
# Optional - for additional providers
|
|
GOOGLE_AI_API_KEY=your-google-ai-key
|
|
ELEVENLABS_API_KEY=your-elevenlabs-key
|
|
LEONARDO_API_KEY=your-leonardo-key
|
|
BRIA_API_KEY=your-bria-key
|
|
STABILITY_API_KEY=your-stability-key
|
|
ANTHROPIC_API_KEY=your-anthropic-key
|
|
```
|
|
|
|
4. Start the application:
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
5. Access the application:
|
|
- **Frontend**: http://localhost:3020
|
|
- **API**: http://localhost:8020
|
|
- **API Docs**: http://localhost:8020/docs
|
|
|
|
## Test Accounts
|
|
|
|
### Admin User
|
|
- **Email**: test@forge.ai
|
|
- **Password**: password123
|
|
- **Role**: Admin (full access including admin panel)
|
|
|
|
You can also create new accounts via the signup page.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
forge-ai/
|
|
├── frontend/ # Next.js frontend application
|
|
│ ├── app/ # App router pages
|
|
│ ├── components/ # React components
|
|
│ └── lib/ # Utilities and API client
|
|
├── backend/ # FastAPI backend
|
|
│ └── app/
|
|
│ ├── api/ # API routes
|
|
│ ├── models/ # SQLAlchemy models
|
|
│ ├── schemas/ # Pydantic schemas
|
|
│ └── services/ # Business logic
|
|
├── docker/ # Docker configuration
|
|
│ ├── init.sql # Database initialization
|
|
│ └── *.dockerfile # Service Dockerfiles
|
|
└── storage/ # File storage (mounted volume)
|
|
```
|
|
|
|
## API Providers
|
|
|
|
### Image Generation
|
|
| Provider | Models | Features |
|
|
|----------|--------|----------|
|
|
| OpenAI | DALL-E 3, DALL-E 2 | Text to image |
|
|
| Google Gemini | Imagen 3, Gemini 2.0 Flash (Nano Banana) | Text to image, iterative editing |
|
|
| Leonardo AI | Multiple models with style presets | Text to image, style control |
|
|
| Bria AI | Bria 2.3, Bria Fast | Text to image, fast generation |
|
|
| Stability AI | Stable Diffusion 3 | Text to image |
|
|
|
|
### Audio Generation
|
|
| Provider | Features |
|
|
|----------|----------|
|
|
| ElevenLabs | Text-to-speech, voice cloning, sound effects |
|
|
| OpenAI Whisper | Speech-to-text transcription |
|
|
|
|
## Admin Panel
|
|
|
|
The admin panel is accessible at `/admin` for users with admin role:
|
|
|
|
- **Dashboard** - System stats and recent activity
|
|
- **Users** - User management
|
|
- **Reports** - Usage analytics
|
|
- **Audit Logs** - System audit trail
|
|
- **Voices** - ElevenLabs voice management
|
|
|
|
## Development
|
|
|
|
### Running locally without Docker
|
|
|
|
**Backend:**
|
|
```bash
|
|
cd backend
|
|
pip install -r requirements.txt
|
|
uvicorn app.main:app --reload --port 8020
|
|
```
|
|
|
|
**Frontend:**
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
### Environment Variables
|
|
|
|
See `.env.example` for all available configuration options.
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
**Login not working:**
|
|
- Ensure the database is initialized with test data
|
|
- Check that bcrypt==4.0.1 is installed (for passlib compatibility)
|
|
|
|
**API calls failing:**
|
|
- Verify your API keys are configured correctly
|
|
- Check backend logs: `docker compose logs backend`
|
|
|
|
**File uploads/downloads not working:**
|
|
- Ensure the storage volume is mounted correctly
|
|
- Check file permissions in `/app/storage`
|
|
|
|
## License
|
|
|
|
Proprietary - All rights reserved.
|