Write once, run on any provider
Your app speaks one protocol (OpenAI *or* Anthropic); the proxy translates bidirectionally to every upstream. Switch providers by changing a model name, not your code.
One gateway for every LLM. Any client protocol in, any provider out — with smart routing, cost control, and a full admin console.
LLM Proxy is a self-hostable LLM API gateway. Point your existing OpenAI or Anthropic SDK at it and instantly gain access to every provider you have configured — with automatic failover, cost-aware routing, per-key budgets, request logging, and an admin dashboard that manages it all without restarts.

Speak any client protocol; the proxy normalizes it to a unified internal model and renders it for whatever provider serves the request — including SSE streaming, tool calls, and reasoning traces.
| Protocol | Endpoint |
|---|---|
| OpenAI Chat Completions | POST /v1/chat/completions |
| OpenAI Responses API | POST /v1/responses (with GET/DELETE /v1/responses/{id}) |
| Anthropic Messages | POST /v1/messages |
| OpenAI-compatible utilities | /v1/embeddings · /v1/images/generations · /v1/images/edits · /v1/audio/speech · /v1/audio/transcriptions · /v1/audio/translations · /v1/models |
auto, fast, or best and let the built-in classifier (structural + Unicode + n-gram features, no LLM call) pick a real model by complexity, cost, and capability.ECONOMY / BALANCED / PREMIUM) with bandit-style exploration that learns from real outcomes.admin / viewer roles, per-user model allowlists, per-key budgets and rate limits.| Section | What is inside |
|---|---|
| Getting Started | Install, first-run setup, connect an SDK or coding agent, concepts |
| Deployment | Docker Compose, databases, reverse proxy, upgrades |
| Admin Console | Every dashboard screen and server setting, explained |
| API Reference | Endpoints, auth, streaming, tools, routing, errors |
| Guides | Cost control, monitoring, security hardening |
| Reference | Environment variables, FAQ |
MIT — see LICENSE.