Canonical repository: xvyimu/TransitHub (renamed from
xvyimu/new-api, left the upstream fork network).
Go module:github.com/xvyimu/TransitHub. Local git: onlyorigin→ this repo.
Product UI may still say New API. License: AGPL-3.0 — derivative of QuantumNous/Calcium-Ionnew-api(ancestorsongquanpeng/one-api). See LICENSE + NOTICE.
Independent ops profile:../agent_docs/CURRENT_STATE.mdwhen present. Companion: README.TransitHub.md · GITHUB_IDENTITY.md.
🍥 LLM Gateway and AI Asset Management (independently maintained fork-network-detached distribution)
简体中文 | 繁體中文 | English | Français | 日本語
Quick Start • Key Features • Deployment • Documentation • Help
| Doc | What |
|---|---|
| docs/PRODUCT-LAYERS.md | Product layers L0–L6 · L0 identity · L4 acceptance |
| docs/PROJECT.md | Form & stack SSOT |
| CONTRIBUTING.md | Collaboration · public issues/PRs |
| SECURITY.md | Security policy & vulnerability reporting |
Primary Chinese README: README.zh_CN.md.
TransitHub is independently maintained by xvyimu at github.com/xvyimu/TransitHub.
It is a derivative of the New API lineage (QuantumNous / Calcium-Ion new-api, ancestor songquanpeng/one-api), licensed AGPL-3.0.
Upstream attribution and UI §7 terms: NOTICE. Full license: LICENSE.
Important
- This project is intended solely for lawful and authorized AI API gateway, organization-level authentication, multi-model management, usage analytics, cost accounting, and private deployment scenarios.
- Users must lawfully obtain upstream API keys, accounts, model services, and interface permissions, and must comply with upstream terms of service and applicable laws and regulations.
- Users should ensure their use complies with upstream terms of service and applicable laws and regulations.
- When providing generative AI services to the public, users should comply with applicable regulatory requirements and fulfill all filing, licensing, content safety, real-name verification, log retention, tax, and upstream authorization obligations required by their jurisdiction.
No particular order
Thanks to JetBrains for providing free open-source development license for this project
# Clone the project
git clone https://github.com/xvyimu/TransitHub.git
cd TransitHub
# Edit docker-compose.yml configuration
nano docker-compose.yml
# Start the service
docker-compose up -dUsing Docker Commands
# Pull the latest image
docker pull calciumion/new-api:latest
# Using SQLite (default)
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
# Using MySQL
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest💡 Tip:
-v ./data:/datawill save data in thedatafolder of the current directory, you can also change it to an absolute path like-v /your/custom/path:/data
🎉 After deployment is complete, visit http://localhost:3000 to start using!
Warning
When operating this project as a public generative AI service or API resale service, users should first complete all required filing, licensing, content safety, real-name verification, log retention, tax, payment, and upstream authorization obligations.
📖 For more deployment methods, please refer to Deployment Guide
Quick Navigation:
| Category | Link |
|---|---|
| 🚀 Deployment Guide | Installation Documentation |
| ⚙️ Environment Configuration | Environment Variables |
| 📡 API Documentation | API Documentation |
| ❓ FAQ | FAQ |
| 💬 Community Interaction | Communication Channels |
For detailed features, please refer to Features Introduction
| Feature | Description |
|---|---|
| 🎨 New UI | Modern user interface design |
| 🌍 Multi-language | Supports Simplified Chinese, Traditional Chinese, English, French, Japanese |
| 🔄 Data Compatibility | Fully compatible with the original One API database |
| 📈 Data Dashboard | Visual console and statistical analysis |
| 🔒 Permission Management | Token grouping, model restrictions, user management |
- ✅ Internal top-up and quota allocation for lawful authorized scenarios (EPay, Stripe)
- ✅ Organization-level per-request, usage-based, and cache-hit cost accounting
- ✅ Cache billing statistics for OpenAI, Azure, DeepSeek, Claude, Qwen, and supported models
- ✅ Flexible billing policies for internal management or authorized enterprise customers
- 😈 Discord authorization login
- 🤖 LinuxDO authorization login
- 📱 Telegram authorization login
- 🔑 OIDC unified authentication
- 🔍 Key quota query usage (with new-api-key-tool)
API Format Support:
- ⚡ OpenAI Responses
- ⚡ OpenAI Realtime API (including Azure)
- ⚡ Claude Messages
- ⚡ Google Gemini
- 🔄 Rerank Models (Cohere, Jina)
Intelligent Routing:
- ⚖️ Channel weighted random
- 🔄 Automatic retry on failure
- 🚦 User-level model rate limiting
Format Conversion:
- 🔄 OpenAI Compatible ⇄ Claude Messages
- 🔄 OpenAI Compatible → Google Gemini
- 🔄 Google Gemini → OpenAI Compatible - Text only, function calling not supported yet
- 🚧 OpenAI Compatible ⇄ OpenAI Responses - In development
- 🔄 Thinking-to-content functionality
Reasoning Effort Support:
View detailed configuration
OpenAI series models:
o3-mini-high- High reasoning efforto3-mini-medium- Medium reasoning efforto3-mini-low- Low reasoning effortgpt-5-high- High reasoning effortgpt-5-medium- Medium reasoning effortgpt-5-low- Low reasoning effort
Claude thinking models:
claude-3-7-sonnet-20250219-thinking- Enable thinking mode
Google Gemini series models:
gemini-2.5-flash-thinking- Enable thinking modegemini-2.5-flash-nothinking- Disable thinking modegemini-2.5-pro-thinking- Enable thinking modegemini-2.5-pro-thinking-128- Enable thinking mode with thinking budget of 128 tokens- You can also append
-low,-medium, or-highto any Gemini model name to request the corresponding reasoning effort (no extra thinking-budget suffix needed).
For details, please refer to API Documentation - Gateway Interface
| Model Type | Description | Documentation |
|---|---|---|
| 🤖 OpenAI-Compatible | OpenAI compatible models | Documentation |
| 🤖 OpenAI Responses | OpenAI Responses format | Documentation |
| 🎨 Midjourney-Proxy | Midjourney-Proxy(Plus) | Documentation |
| 🎵 Suno-API | Suno API | Documentation |
| 🔄 Rerank | Cohere, Jina | Documentation |
| 💬 Claude | Messages format | Documentation |
| 🌐 Gemini | Google Gemini format | Documentation |
| 🔧 Dify | ChatFlow mode | - |
| 🎯 Custom upstream | Supports configuring legally authorized upstream endpoints | - |
View complete interface list
Tip
Latest Docker image: calciumion/new-api:latest
| Component | Requirement |
|---|---|
| Local database | SQLite (Docker must mount /data directory) |
| Remote database | MySQL ≥ 5.7.8 or PostgreSQL ≥ 9.6 |
| Container engine | Docker / Docker Compose |
| System architecture | 64-bit only (amd64 / arm64); 32-bit systems are not supported |
Common environment variable configuration
| Variable Name | Description | Default Value |
|---|---|---|
SESSION_SECRET |
Session secret (required for multi-machine deployment) | - |
CRYPTO_SECRET |
Encryption secret (required for Redis) | - |
SQL_DSN |
Database connection string | - |
REDIS_CONN_STRING |
Redis connection string | - |
RELAY_IDLE_CONN_TIMEOUT |
Idle keep-alive timeout for relay HTTP clients, seconds. Defaults to Go standard library behavior; set 0 to disable |
90 |
STREAMING_TIMEOUT |
Streaming timeout (seconds) | 300 |
STREAM_SCANNER_MAX_BUFFER_MB |
Max per-line buffer (MB) for the stream scanner; increase when upstream sends huge image/base64 payloads | 128 |
MAX_REQUEST_BODY_MB |
Max request body size (MB, counted after decompression; prevents huge requests/zip bombs from exhausting memory). Exceeding it returns 413 |
128 |
AZURE_DEFAULT_API_VERSION |
Azure API version | 2025-04-01-preview |
ERROR_LOG_ENABLED |
Error log switch | false |
PYROSCOPE_URL |
Pyroscope server address | - |
PYROSCOPE_APP_NAME |
Pyroscope application name | new-api |
PYROSCOPE_BASIC_AUTH_USER |
Pyroscope basic auth user | - |
PYROSCOPE_BASIC_AUTH_PASSWORD |
Pyroscope basic auth password | - |
PYROSCOPE_MUTEX_RATE |
Pyroscope mutex sampling rate | 5 |
PYROSCOPE_BLOCK_RATE |
Pyroscope block sampling rate | 5 |
HOSTNAME |
Hostname tag for Pyroscope | new-api |
📖 Complete configuration: Environment Variables Documentation
Method 1: Docker Compose (Recommended)
# Clone the project
git clone https://github.com/xvyimu/TransitHub.git
cd TransitHub
# Edit configuration
nano docker-compose.yml
# Start service
docker-compose up -dMethod 2: Docker Commands
Using SQLite:
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latestUsing MySQL:
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest💡 Path explanation:
./data:/data- Relative path, data saved in the data folder of the current directory- You can also use absolute path, e.g.:
/your/custom/path:/data
Method 3: BaoTa Panel
- Install BaoTa Panel (≥ 9.2.0 version)
- Search for New-API in the application store
- One-click installation
Warning
- Must set
SESSION_SECRET- Otherwise login status inconsistent - Shared Redis must set
CRYPTO_SECRET- Otherwise data cannot be decrypted
Retry configuration: Settings → Operation Settings → General Settings → Failure Retry Count
Cache configuration:
REDIS_CONN_STRING: Redis cache (recommended)MEMORY_CACHE_ENABLED: Memory cache
| Project | Description |
|---|---|
| One API | Original project base |
| Midjourney-Proxy | Midjourney interface support |
| Project | Description |
|---|---|
| new-api-key-tool | Key quota query tool |
| new-api-horizon | New API high-performance optimized version |
| Resource | Link |
|---|---|
| 📘 FAQ | FAQ |
| 💬 Community Interaction | Communication Channels |
| 🐛 Issue Feedback | Issue Feedback |
| 📚 Complete Documentation | Official Documentation |
Welcome all forms of contribution!
- 🐛 Report Bugs
- 💡 Propose New Features
- 📝 Improve Documentation
- 🔧 Submit Code
TransitHub is licensed under the GNU Affero General Public License v3.0 (AGPLv3).
This distribution is a derivative of the New API lineage. Additional terms under AGPLv3 Section 7 apply (see NOTICE):
- Preserve the author attribution notice
Frontend design and development by New API contributors.in Appropriate Legal Notices / UI about·legal·footer. - Preserve a visible link to the original project: https://github.com/QuantumNous/new-api.
- Lineage also includes One API (MIT) as an ancestor work.
Commercial dual-licensing or AGPL exceptions for the upstream project are offered by upstream maintainers (not by this fork-detached distribution). For this repository, open issues at xvyimu/TransitHub.
If this project is helpful to you, welcome to give a ⭐️ Star.
Issues · This repo · NOTICE / attribution
Upstream lineage (not this remote): QuantumNous/new-api · docs may still reference https://docs.newapi.pro
Independently maintained by xvyimu · AGPL-3.0 · upstream copyright retained
