Skip to content

Latest commit

History

5,471 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

new-api

New API

🍥 Next-Generation LLM Gateway and AI Asset Management System

简体中文 | 繁體中文 | English | Français | 日本語

licensereleasedockerGoReportCard

QuantumNous%2Fnew-api | Trendshift
Featured|HelloGitHubNew API - All-in-one AI asset management gateway. | Product Hunt

Quick StartKey FeaturesDeploymentDocumentationHelp

📝 Project Description

Important


🤝 Trusted Partners

No particular order

Cherry StudioAion UIPeking UniversityUCloudAlibaba CloudIO.NET


🙏 Special Thanks

JetBrains Logo

Thanks to JetBrains for providing free open-source development license for this project


🚀 Quick Start

Using Docker Compose (Recommended)

# Clone the project
git clone https://github.com/QuantumNous/new-api.git
cd new-api
# Edit docker-compose.yml configuration
nano docker-compose.yml
# Start the service
docker-compose up -d
Using 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:/data will save data in the data folder 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!

📖 For more deployment methods, please refer to Deployment Guide


📚 Documentation

Quick Navigation:

CategoryLink
🚀 Deployment GuideInstallation Documentation
⚙️ Environment ConfigurationEnvironment Variables
📡 API DocumentationAPI Documentation
❓ FAQFAQ
💬 Community InteractionCommunication Channels

✨ Key Features

For detailed features, please refer to Features Introduction

🎨 Core Functions

FeatureDescription
🎨 New UIModern user interface design
🌍 Multi-languageSupports Simplified Chinese, Traditional Chinese, English, French, Japanese
🔄 Data CompatibilityFully compatible with the original One API database
📈 Data DashboardVisual console and statistical analysis
🔒 Permission ManagementToken grouping, model restrictions, user management

💰 Payment and Billing

  • ✅ Online recharge (EPay, Stripe)
  • ✅ Pay-per-use model pricing
  • ✅ Cache billing support (OpenAI, Azure, DeepSeek, Claude, Qwen and all supported models)
  • ✅ Flexible billing policy configuration

🔐 Authorization and Security

  • 😈 Discord authorization login
  • 🤖 LinuxDO authorization login
  • 📱 Telegram authorization login
  • 🔑 OIDC unified authentication
  • 🔍 Key quota query usage (with neko-api-key-tool)

🚀 Advanced Features

API Format Support:

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 effort
  • o3-mini-medium - Medium reasoning effort
  • o3-mini-low - Low reasoning effort
  • gpt-5-high - High reasoning effort
  • gpt-5-medium - Medium reasoning effort
  • gpt-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 mode
  • gemini-2.5-flash-nothinking - Disable thinking mode
  • gemini-2.5-pro-thinking - Enable thinking mode
  • gemini-2.5-pro-thinking-128 - Enable thinking mode with thinking budget of 128 tokens
  • You can also append -low, -medium, or -high to any Gemini model name to request the corresponding reasoning effort (no extra thinking-budget suffix needed).

🤖 Model Support

For details, please refer to API Documentation - Relay Interface

Model TypeDescriptionDocumentation
🤖 OpenAI-CompatibleOpenAI compatible modelsDocumentation
🤖 OpenAI ResponsesOpenAI Responses formatDocumentation
🎨 Midjourney-ProxyMidjourney-Proxy(Plus)Documentation
🎵 Suno-APISuno APIDocumentation
🔄 RerankCohere, JinaDocumentation
💬 ClaudeMessages formatDocumentation
🌐 GeminiGoogle Gemini formatDocumentation
🔧 DifyChatFlow mode-
🎯 CustomSupports complete call address-

📡 Supported Interfaces

View complete interface list

🚢 Deployment

Tip

Latest Docker image:calciumion/new-api:latest

📋 Deployment Requirements

ComponentRequirement
Local databaseSQLite (Docker must mount /data directory)
Remote databaseMySQL ≥ 5.7.8 or PostgreSQL ≥ 9.6
Container engineDocker / Docker Compose

⚙️ Environment Variable Configuration

Common environment variable configuration
Variable NameDescriptionDefault Value
SESSION_SECRETSession secret (required for multi-machine deployment)-
CRYPTO_SECRETEncryption secret (required for Redis)-
SQL_DSNDatabase connection string-
REDIS_CONN_STRINGRedis connection string-
STREAMING_TIMEOUTStreaming timeout (seconds)300
STREAM_SCANNER_MAX_BUFFER_MBMax per-line buffer (MB) for the stream scanner; increase when upstream sends huge image/base64 payloads64
MAX_REQUEST_BODY_MBMax request body size (MB, counted after decompression; prevents huge requests/zip bombs from exhausting memory). Exceeding it returns 41332
AZURE_DEFAULT_API_VERSIONAzure API version2025-04-01-preview
ERROR_LOG_ENABLEDError log switchfalse
PYROSCOPE_URLPyroscope server address-
PYROSCOPE_APP_NAMEPyroscope application namenew-api
PYROSCOPE_BASIC_AUTH_USERPyroscope basic auth user-
PYROSCOPE_BASIC_AUTH_PASSWORDPyroscope basic auth password-
PYROSCOPE_MUTEX_RATEPyroscope mutex sampling rate5
PYROSCOPE_BLOCK_RATEPyroscope block sampling rate5
HOSTNAMEHostname tag for Pyroscopenew-api

📖 Complete configuration:Environment Variables Documentation

🔧 Deployment Methods

Method 1: Docker Compose (Recommended)
# Clone the project
git clone https://github.com/QuantumNous/new-api.git
cd new-api
# Edit configuration
nano docker-compose.yml
# Start service
docker-compose up -d
Method 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: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

💡 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
  1. Install BaoTa Panel (≥ 9.2.0 version)
  2. Search for New-API in the application store
  3. One-click installation

📖 Tutorial with images

⚠️ Multi-machine Deployment Considerations

Warning

  • Must setSESSION_SECRET - Otherwise login status inconsistent
  • Shared Redis must setCRYPTO_SECRET - Otherwise data cannot be decrypted

🔄 Channel Retry and Cache

Retry configuration:Settings → Operation Settings → General Settings → Failure Retry Count

Cache configuration:

  • REDIS_CONN_STRING: Redis cache (recommended)
  • MEMORY_CACHE_ENABLED: Memory cache

🔗 Related Projects

Upstream Projects

ProjectDescription
One APIOriginal project base
Midjourney-ProxyMidjourney interface support

Supporting Tools

ProjectDescription
neko-api-key-toolKey quota query tool
new-api-horizonNew API high-performance optimized version

💬 Help Support

📖 Documentation Resources

ResourceLink
📘 FAQFAQ
💬 Community InteractionCommunication Channels
🐛 Issue FeedbackIssue Feedback
📚 Complete DocumentationOfficial Documentation

🤝 Contribution Guide

Welcome all forms of contribution!

  • 🐛 Report Bugs
  • 💡 Propose New Features
  • 📝 Improve Documentation
  • 🔧 Submit Code

📜 License

This project is licensed under the GNU Affero General Public License v3.0 (AGPLv3).

This is an open-source project developed based on One API (MIT License).

If your organization's policies do not permit the use of AGPLv3-licensed software, or if you wish to avoid the open-source obligations of AGPLv3, please contact us at: support@quantumnous.com


🌟 Star History

Star History Chart


💖 Thank you for using New API

If this project is helpful to you, welcome to give us a ⭐️ Star!

Official DocumentationIssue FeedbackLatest Release

Built with ❤️ by QuantumNous

About

A unified AI model hub for aggregation & distribution. It supports cross-converting various LLMs into OpenAI-compatible, Claude-compatible, or Gemini-compatible formats. A centralized gateway for personal and enterprise model management. 🍥

Resources

Code of conduct

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages