GStars
    QuantumNous

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

    ai
    ai-gateway
    claude
    deepseek
    gemini
    openai
    rerank
    Go
    AGPL-3.0
    23.2K stars
    4.6K forks
    23.2K watching
    Updated 3/27/2026
    View on GitHub
    Backblaze Advertisement

    Loading star history...

    Health Score

    25.44

    Weekly Growth

    +0

    +0.0% this week

    Contributors

    1

    Total contributors

    Open Issues

    531

    Generated Insights

    About new-api

    new-api

    New API

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

    ็ฎ€ไฝ“ไธญๆ–‡ | ็น้ซ”ไธญๆ–‡ | English | Franรงais | ๆ—ฅๆœฌ่ชž

    license release docker GoReportCard

    QuantumNous%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

    [!IMPORTANT]


    ๐Ÿค Trusted Partners

    No particular order

    Cherry Studio Aion UI 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

    # 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 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

    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: [email protected]


    ๐ŸŒŸ 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

    Discover Repositories

    Search across tracked repositories by name or description