๏ปฟ
Gemini Business2API
Empowering AI with seamless integration
็ฎไฝไธญๆ | English
๐ก Tip: Remote environments (Hugging Face/Linux) and local environments can share the same database for automatic account data synchronization
Convert Gemini Business to OpenAI-compatible API with multi-account load balancing, image generation, multimodal capabilities, and built-in admin panel.
๐ License & Disclaimer
License: MIT License - See LICENSE for details
โ ๏ธ Prohibited Use & Anti-Abuse Policy
This tool is strictly prohibited for:
- Commercial use or profit-making activities
- Batch operations or automated abuse of any scale
- Market disruption or malicious competition
- Violations of Google's Terms of Service
- Violations of Microsoft's Terms of Service
Consequences of Abuse: Violations may result in permanent account suspension, legal liability, and all consequences are the sole responsibility of the user.
Legitimate Use Only: This project is intended solely for personal learning, technical research, and non-commercial educational purposes.
๐ Full Disclaimer: DISCLAIMER_EN.md
โจ Features
- โ Full OpenAI API compatibility - Seamless integration with existing tools
- โ Multi-account load balancing - Round-robin with automatic failover
- โ Automated account management - Auto registration and login with DuckMail and Microsoft email integration, supports headless browser mode
- โ Streaming output - Real-time responses
- โ Multimodal input - 100+ file types (images, PDF, Office docs, audio, video, code, etc.)
- โ Image generation & image-to-image - Configurable models, Base64 or URL output
- โ Smart file handling - Auto file type detection, supports URL and Base64
- โ Logging & monitoring - Real-time status and statistics
- โ Proxy support - Configure in the admin settings
- โ Built-in admin panel - Online configuration and account management
- โ Optional PostgreSQL backend โ persists accounts/settings/stats thanks PR
๐ค Model Capabilities
| Model ID | Vision | Native Web | File Multimodal | Image Gen |
|---|---|---|---|---|
gemini-auto |
โ | โ | โ | Optional |
gemini-2.5-flash |
โ | โ | โ | Optional |
gemini-2.5-pro |
โ | โ | โ | Optional |
gemini-3-flash-preview |
โ | โ | โ | Optional |
gemini-3-pro-preview |
โ | โ | โ | Optional |
๐ Quick Start
Method 1: Using Setup Script (Recommended)
Linux/macOS:
git clone https://github.com/Dreamy-rain/gemini-business2api.git
cd gemini-business2api
bash setup.sh
cp .env.example .env
# Edit .env to set ADMIN_KEY
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate.bat # Windows
python main.py
# Run with pm2 in background
# Make sure you're in the project directory
pm2 start main.py --name gemini-api --interpreter ./.venv/bin/python3
Windows:
git clone https://github.com/Dreamy-rain/gemini-business2api.git
cd gemini-business2api
setup.bat
copy .env.example .env
# Edit .env to set ADMIN_KEY
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate.bat # Windows
python main.py
# Run with pm2 in background
# Make sure you're in the project directory
pm2 start main.py --name gemini-api --interpreter ./.venv/bin/python3
Script Features:
- โ Automatically syncs latest code
- โ Updates frontend to latest versions
- โ Creates/updates Python virtual environment
- โ Installs/updates dependencies
- โ
Automatically creates
.envconfig file (if not exists)
First Installation: After completion, edit .env to set ADMIN_KEY, then run python main.py
Update Project: Simply run the same command, the script will automatically update all components (code, dependencies, frontend)
Method 2: Manual Deployment
git clone https://github.com/Dreamy-rain/gemini-business2api.git
cd gemini-business2api
# Build frontend
cd frontend
npm install
npm run build
cd ..
# Create virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate.bat # Windows
# Install Python dependencies
pip install -r requirements.txt
cp .env.example .env
# win copy .env.example .env
# Edit .env to set ADMIN_KEY
python main.py
# Run with pm2 in background
# Make sure you're in the project directory
pm2 start main.py --name gemini-api --interpreter ./.venv/bin/python3
Method 3: Docker Compose (Recommended for Production)
Supports ARM64 and AMD64 architectures
# 1. Clone the repository
git clone https://github.com/Dreamy-rain/gemini-business2api.git
cd gemini-business2api
# 2. Configure environment variables
cp .env.example .env
# Edit .env to set ADMIN_KEY
# 3. Start the service
docker-compose up -d
# 4. View logs
docker-compose logs -f
# 5. Update to the latest version
docker-compose pull && docker-compose up -d
Thanks to PR #9 for optimizing the Dockerfile build
Optional: Database Persistence (Local / HF Spaces)
- Recommended on HF Spaces (free tier) to avoid data loss after restart
- Set
DATABASE_URL=postgresql://user:password@host/dbname?sslmode=require- Local: put it in
.env - HF Spaces: Settings -> Variables/Secrets
- Local: put it in
- Accounts/settings/stats are stored in the database
- Keep the connection string secret (it includes credentials)
# Get DATABASE_URL from Neon (recommended)
1. Open https://neon.tech and sign in
2. Create project -> choose a region
3. Open the project page, copy the Connection string
4. Example:
postgresql://user:password@ep-xxx.neon.tech/dbname?sslmode=require
Access
- Admin Panel:
http://localhost:7860/(Login withADMIN_KEY) - OpenAI-compatible API:
http://localhost:7860/v1/chat/completions
Configuration Tips
- Account config prioritizes
ACCOUNTS_CONFIGenv var, or can be entered in admin panel and saved todata/accounts.json. - For authentication, configure
API_KEYin the admin settings to protect/v1/chat/completions.
Documentation
- Supported file types: SUPPORTED_FILE_TYPES.md
๐ธ Screenshots
Admin System
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Image Effects
![]() |
![]() |
![]() |
![]() |
โญ Star History
If this project helps you, please give it a โญ Star!









