← all repositories
QuantumNous/new-api

The universal translator for AI model APIs

A Go-based gateway that cross-converts between OpenAI, Claude, and Gemini formats so you don't have to pick sides in the API format wars.

new-api
Velocity · 7d
+40
★ / day
Trend
steady
star history

What it does

New API is a self-hosted gateway that sits between your applications and upstream LLM providers. It normalizes requests and responses across OpenAI-compatible, Claude Messages, and Google Gemini formats, adds token-based access control, usage dashboards, and billing hooks for internal or authorized enterprise use. Deploy via Docker Compose; SQLite or MySQL for persistence.

The interesting bit

The format conversion is bidirectional where possible—OpenAI ↔ Claude, OpenAI → Gemini, Gemini → OpenAI (text-only)—and it exposes reasoning-effort controls through model name suffixes like -high or -thinking-128. That’s a pragmatic hack to surface vendor-specific knobs through a unified interface.

Key highlights

  • Supports chat, image, audio, realtime, rerank (Cohere/Jina), Midjourney-Proxy, Suno, and Dify ChatFlow endpoints
  • Channel-weighted random routing with automatic retry on failure
  • OIDC, Discord, Telegram, and LinuxDO auth options
  • Per-request cost accounting with cache-hit billing for OpenAI, Azure, DeepSeek, Claude, and Qwen
  • Compatible with One API database schemas for migration

Caveats

  • Gemini → OpenAI conversion is text-only; function calling is explicitly unsupported
  • OpenAI Responses format conversion is marked “in development”
  • The README repeatedly emphasizes lawful authorized use with compliance warnings; the project appears designed for jurisdictions with strict generative-AI service regulations

Verdict

Worth a look if you’re running a multi-provider AI setup and need one consistent API surface for internal teams or authorized resale. Skip if you’re already all-in on a single provider’s native SDKs and don’t need billing or access-control middleware.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.