back to home

QuantumNous / new-api

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. ๐Ÿฅ

17,946 stars
3,518 forks
602 issues
JavaScriptGoCSS

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing QuantumNous/new-api in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/QuantumNous/new-api)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<div align="center">

new-api

New API

๐Ÿฅ Next-Generation LLM Gateway and AI Asset Management System

<p align="center"> <a href="./README.zh_CN.md">็ฎ€ไฝ“ไธญๆ–‡</a> | <a href="./README.zh_TW.md">็น้ซ”ไธญๆ–‡</a> | <strong>English</strong> | <a href="./README.fr.md">Franรงais</a> | <a href="./README.ja.md">ๆ—ฅๆœฌ่ชž</a> </p> <p align="center"> <a href="https://raw.githubusercontent.com/Calcium-Ion/new-api/main/LICENSE"> <img src="https://img.shields.io/github/license/Calcium-Ion/new-api?color=brightgreen" alt="license"> </a><!-- --><a href="https://github.com/Calcium-Ion/new-api/releases/latest"> <img src="https://img.shields.io/github/v/release/Calcium-Ion/new-api?color=brightgreen&include_prereleases" alt="release"> </a><!-- --><a href="https://hub.docker.com/r/CalciumIon/new-api"> <img src="https://img.shields.io/badge/docker-dockerHub-blue" alt="docker"> </a><!-- --><a href="https://goreportcard.com/report/github.com/Calcium-Ion/new-api"> <img src="https://goreportcard.com/badge/github.com/Calcium-Ion/new-api" alt="GoReportCard"> </a> </p> <p align="center"> <a href="https://trendshift.io/repositories/20180" target="_blank"> <img src="https://trendshift.io/api/badge/repositories/20180" alt="QuantumNous%2Fnew-api | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/> </a> <br> <a href="https://hellogithub.com/repository/QuantumNous/new-api" target="_blank"> <img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=539ac4217e69431684ad4a0bab768811&claim_uid=tbFPfKIDHpc4TzR" alt="Featured๏ฝœHelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /> </a><!-- --><a href="https://www.producthunt.com/products/new-api/launches/new-api?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-new-api" target="_blank" rel="noopener noreferrer"> <img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1047693&theme=light&t=1769577875005" alt="New API - All-in-one AI asset management gateway. | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /> </a> </p> <p align="center"> <a href="#-quick-start">Quick Start</a> โ€ข <a href="#-key-features">Key Features</a> โ€ข <a href="#-deployment">Deployment</a> โ€ข <a href="#-documentation">Documentation</a> โ€ข <a href="#-help-support">Help</a> </p> </div>

๐Ÿ“ Project Description

[!IMPORTANT]


๐Ÿค Trusted Partners

<p align="center"> <em>No particular order</em> </p> <p align="center"> <a href="https://www.cherry-ai.com/" target="_blank"> <img src="./docs/images/cherry-studio.png" alt="Cherry Studio" height="80" /> </a><!-- --><a href="https://github.com/iOfficeAI/AionUi/" target="_blank"> <img src="./docs/images/aionui.png" alt="Aion UI" height="80" /> </a><!-- --><a href="https://bda.pku.edu.cn/" target="_blank"> <img src="./docs/images/pku.png" alt="Peking University" height="80" /> </a><!-- --><a href="https://www.compshare.cn/?ytag=GPU_yy_gh_newapi" target="_blank"> <img src="./docs/images/ucloud.png" alt="UCloud" height="80" /> </a><!-- --><a href="https://www.aliyun.com/" target="_blank"> <img src="./docs/images/aliyun.png" alt="Alibaba Cloud" height="80" /> </a><!-- --><a href="https://io.net/" target="_blank"> <img src="./docs/images/io-net.png" alt="IO.NET" height="80" /> </a> </p>

๐Ÿ™ Special Thanks

<p align="center"> <a href="https://www.jetbrains.com/?from=new-api" target="_blank"> <img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" alt="JetBrains Logo" width="120" /> </a> </p> <p align="center"> <strong>Thanks to <a href="https://www.jetbrains.com/?from=new-api">JetBrains</a> for providing free open-source development license for this project</strong> </p>

๐Ÿš€ 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
<details> <summary><strong>Using Docker Commands</strong></summary>
# 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

</details>

๐ŸŽ‰ After deployment is complete, visit http://localhost:3000 to start using!

๐Ÿ“– For more deployment methods, please refer to Deployment Guide


๐Ÿ“š Documentation

<div align="center">

๐Ÿ“– Official Documentation | Ask DeepWiki

</div>

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:

<details> <summary>View detailed configuration</summary>

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).
</details>

๐Ÿค– 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

<details> <summary>View complete interface list</summary> </details>

๐Ÿšข 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

<details> <summary>Common environment variable configuration</summary>
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

</details>

๐Ÿ”ง Deployment Methods

<details> <summary><strong>Method 1: Docker Compose (Recommended)</strong></summary>
# 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
</details> <details> <summary><strong>Method 2: Docker Commands</strong></summary>

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
</details> <details> <summary><strong>Method 3: BaoTa Panel</strong></summary>
  1. Install BaoTa Panel (โ‰ฅ 9.2.0 version)
  2. Search for New-API in the application store
  3. One-click installation

๐Ÿ“– Tutorial with images

</details>

โš ๏ธ Multi-machine Deployment Considerations

[!WARNING]

  • Must set SESSION_SECRET - Otherwise login status inconsistent
  • Shared Redis must set CRYPTO_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

<div align="center">

Star History Chart

</div>
<div align="center">

๐Ÿ’– Thank you for using New API

If this project is helpful to you, welcome to give us a โญ๏ธ Star๏ผ

Official Documentation โ€ข Issue Feedback โ€ข Latest Release

<sub>Built with โค๏ธ by QuantumNous</sub>

</div>