Skip to content

carycode4fun/llm-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,181 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

new-api

New API

πŸ₯ Next-Generation LLM Gateway and AI Asset Management System

δΈ­ζ–‡ | English | FranΓ§ais | ζ—₯本θͺž

license release docker docker GoReportCard

Calcium-Ion%2Fnew-api | Trendshift
Featured|HelloGitHub New API - All-in-one AI asset management gateway. | Product Hunt

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

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
  • πŸ” 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 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 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

πŸ“œ License

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

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 Documentation β€’ Issue Feedback β€’ Latest 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

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 52.5%
  • Go 47.0%
  • CSS 0.5%
  • Shell 0.0%
  • Lua 0.0%
  • Dockerfile 0.0%