No Description

supeng 4efcff2606 update config 2 days ago
.agents 8b2b03d276 feat(web/default): unified UI overhaul โ€” Base UI migration, theme presets, rankings dashboard, and table toolbar refactor (#4633) 3 days ago
.cursor 0e9198e9b5 fix: preserve explicit zero values in native relay requests 2 months ago
.github cf0d8902fd merge: sync with main (latest upstream) while preserving Gemini File API customizations 2 days ago
bin 5224c767cf update 3 months ago
common a42b397607 ๐Ÿš€ feat: launch v1.0 โ€” next-generation frontend built from the ground up (#4265) 1 week ago
constant b4df9955f4 fix: isStream status in error logs instead of hardcoded false (#4195) 3 weeks ago
controller cf0d8902fd merge: sync with main (latest upstream) while preserving Gemini File API customizations 2 days ago
docs cf0d8902fd merge: sync with main (latest upstream) while preserving Gemini File API customizations 2 days ago
dto 38a3314b9b fix: preserve OpenAI image edit reference fields (#4646) 3 days ago
electron 346de02683 chore(deps-dev): bump @xmldom/xmldom from 0.8.12 to 0.8.13 in /electron 2 weeks ago
i18n 355307223a fix: clarify affinity disabled channel retry message 2 weeks ago
logger dcd0911612 fix: log management race condition, partial delete reporting, and UX issues 1 month ago
middleware cf0d8902fd merge: sync with main (latest upstream) while preserving Gemini File API customizations 2 days ago
model e8cfb546fa feat(default): add model performance badges 3 days ago
oauth 1911520eba fix: normalize generic oauth bearer token type 1 month ago
pkg e8cfb546fa feat(default): add model performance badges 3 days ago
relay cf0d8902fd merge: sync with main (latest upstream) while preserving Gemini File API customizations 2 days ago
router 459299477c fix: register GeminiFileRouter in main router 2 days ago
service f8cf9c57c4 feat(default): add real rankings data 3 days ago
setting 9acf5fecae feat: collect model performance metrics (#4635) 3 days ago
types ed7f839911 feat: improve model price error UX with role-aware messages and cleaner UI 4 weeks ago
web cf0d8902fd merge: sync with main (latest upstream) while preserving Gemini File API customizations 2 days ago
.dockerignore 725d61c5d3 feat: ionet integrate (#2105) 4 months ago
.env.example cf1b485389 add ๆทปๅŠ  ๅฏ็”จ้”™่ฏฏๆ—ฅๅฟ—่ฎฐๅฝ•ๅˆฐenv้…็ฝฎไธญ 1 month ago
.gitattributes 982dc5c56a chore: update .gitattributes 2 months ago
.gitignore 28f7e9eb2e feat: enhance UI and functionality in various components 1 week ago
AGENTS.md 8b2b03d276 feat(web/default): unified UI overhaul โ€” Base UI migration, theme presets, rankings dashboard, and table toolbar refactor (#4633) 3 days ago
CLAUDE.md 8b2b03d276 feat(web/default): unified UI overhaul โ€” Base UI migration, theme presets, rankings dashboard, and table toolbar refactor (#4633) 3 days ago
Dockerfile a42b397607 ๐Ÿš€ feat: launch v1.0 โ€” next-generation frontend built from the ground up (#4265) 1 week ago
Dockerfile.dev a42b397607 ๐Ÿš€ feat: launch v1.0 โ€” next-generation frontend built from the ground up (#4265) 1 week ago
LICENSE e74b92276e Update LICENSE file 3 months ago
README.en.md c609cb13b2 fix: update logo paths in README 1 week ago
README.fr.md c609cb13b2 fix: update logo paths in README 1 week ago
README.ja.md c609cb13b2 fix: update logo paths in README 1 week ago
README.md c609cb13b2 fix: update logo paths in README 1 week ago
README.zh_CN.md c609cb13b2 fix: update logo paths in README 1 week ago
README.zh_TW.md c609cb13b2 fix: update logo paths in README 1 week ago
VERSION 7e80e2da3a fix: add a blank VERSION file (#135) 2 years ago
docker-compose.dev.yml a42b397607 ๐Ÿš€ feat: launch v1.0 โ€” next-generation frontend built from the ground up (#4265) 1 week ago
docker-compose.yml 4efcff2606 update config 2 days ago
go.mod eab478bdc8 fix: miscellaneous quick fixes from CodeRabbit review 2 weeks ago
go.sum 6bde1a9c8d Merge origin/main into nightly 2 weeks ago
main.go 9acf5fecae feat: collect model performance metrics (#4635) 3 days ago
makefile a42b397607 ๐Ÿš€ feat: launch v1.0 โ€” next-generation frontend built from the ground up (#4265) 1 week ago
new-api.service e1c7a4f41f format: package name -> github.com/QuantumNous/new-api (#2017) 7 months ago
test_gemini_file_api.sh 248d82bb8d update gemini file api 3 months ago

README.en.md

![new-api](/web/default/public/logo.png) # New API ๐Ÿฅ **Next-Generation Large Model Gateway and AI Asset Management System**

ไธญๆ–‡ | English | Franรงais | ๆ—ฅๆœฌ่ชž

license release docker docker GoReportCard

Quick Start โ€ข Key Features โ€ข Deployment โ€ข Documentation โ€ข Help

๐Ÿ“ Project Description

[!NOTE]
This is an open-source project developed based on One API

[!IMPORTANT]


๐Ÿค Trusted Partners

No particular order

Cherry Studio Peking University UCloud Alibaba Cloud IO.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

### ๐Ÿ“– [Official Documentation](https://docs.newapi.pro/en/docs) | [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/QuantumNous/new-api)

Quick Navigation:

Category Link
๐Ÿš€ Deployment Guide Installation Documentation
โš™๏ธ Environment Configuration Environment Variables
๐Ÿ“ก API Documentation API Documentation
โ“ FAQ FAQ
๐Ÿ’ฌ Community Interaction Communication Channels

โœจ Key Features

For detailed features, please refer to Features Introduction

๐ŸŽจ Core Functions

Feature Description
๐ŸŽจ New UI Modern user interface design
๐ŸŒ Multi-language Supports 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

๐Ÿ’ฐ 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

๐Ÿš€ 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 Type Description Documentation
๐Ÿค– OpenAI GPTs gpt-4-gizmo-* series -
๐ŸŽจ 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 Supports complete call address -

๐Ÿ“ก Supported Interfaces

View complete interface list


๐Ÿšข Deployment

[!TIP] Latest Docker image: calciumion/new-api:latest

๐Ÿ“‹ Deployment Requirements

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

โš™๏ธ Environment Variable Configuration

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 -
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 64
MAX_REQUEST_BODY_MB Max request body size (MB, counted after decompression; prevents huge requests/zip bombs from exhausting memory). Exceeding it returns 413 32
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

๐Ÿ”ง 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 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

Project Description
One API Original project base
Midjourney-Proxy Midjourney interface support

Supporting Tools

Project Description
neko-api-key-tool Key quota query tool
new-api-horizon New API high-performance optimized version

๐Ÿ’ฌ Help Support

๐Ÿ“– Documentation Resources

Resource Link
๐Ÿ“˜ FAQ FAQ
๐Ÿ’ฌ Community Interaction Communication Channels
๐Ÿ› Issue Feedback Issue Feedback
๐Ÿ“š Complete Documentation Official Documentation

๐Ÿค Contribution Guide

Welcome all forms of contribution!

  • ๐Ÿ› Report Bugs
  • ๐Ÿ’ก Propose New Features
  • ๐Ÿ“ Improve Documentation
  • ๐Ÿ”ง Submit Code

๐ŸŒŸ Star History

[![Star History Chart](https://api.star-history.com/svg?repos=Calcium-Ion/new-api&type=Date)](https://star-history.com/#Calcium-Ion/new-api&Date)

### ๐Ÿ’– Thank you for using New API If this project is helpful to you, welcome to give us a โญ๏ธ Star๏ผ **[Official Documentation](https://docs.newapi.pro/en/docs)** โ€ข **[Issue Feedback](https://github.com/Calcium-Ion/new-api/issues)** โ€ข **[Latest Release](https://github.com/Calcium-Ion/new-api/releases)** Built with โค๏ธ by QuantumNous