Skip to content
// moflux api — ai gateway

Every model.
One endpoint.

Moflux routes your requests to OpenAI, Anthropic, Gemini, DeepSeek and 40+ more providers through a single OpenAI‑compatible API. Swap models by changing a string — your code, your keys and your billing stay in one place.

$ pip install openai  # then base_url="https://mofluxapi.com/v1" — done.
live routing OpenAI Anthropic Gemini DeepSeek Qwen Mistral +40 moflux ROUTER your app POST /v1 · SSE
gateway operational 12,000,000 requests routed
OPENAI/ANTHROPIC/GEMINI/DEEPSEEK/QWEN/MISTRAL/LLAMA/GROK/KIMI/DOUBAO/COHERE/AZURE/BEDROCK/VERTEX/
// quickstart

Change a string, not your stack.

If your code speaks OpenAI, it already speaks Moflux. Point your SDK at one base URL, then reach any provider's models by name.

$ curl https://mofluxapi.com/v1/chat/completions \
-H "Authorization: Bearer $MOFLUX_API_KEY" \
-d '{"model": "claude-fable-5", "stream": true,
"messages": [{"role":"user","content":"hello"}]}'
 
HTTP/2 200 · routed in 38 ms
data: {"choices":[{"delta":{"content":"Hello"}}]}
data: {"choices":[{"delta":{"content":" from"}}]}
data: {"choices":[{"delta":{"content":" Moflux."}}]}
data: [DONE]
 
# tomorrow: "model": "gpt-5.2" — nothing else changes
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://mofluxapi.com/v1",
    api_key=os.environ["MOFLUX_API_KEY"],
)

stream = client.chat.completions.create(
    model="claude-fable-5",  # or "gpt-5.2", "gemini-3-pro", ...
    messages=[{"role": "user", "content": "hello"}],
    stream=True,
)

for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://mofluxapi.com/v1",
  apiKey: process.env.MOFLUX_API_KEY,
});

const stream = await client.chat.completions.create({
  model: "claude-fable-5", // or "gpt-5.2", "gemini-3-pro", ...
  messages: [{ role: "user", content: "hello" }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
// what the router does

A gateway that earns its place in the request path.

ROUTE

OpenAI-compatible, and then some

Point any OpenAI SDK at /v1 and it just works. Native Claude and Gemini endpoints are there when you want provider-specific features.

BALANCE

Smart load balancing

Weighted routing across multiple upstream channels, with automatic retries and failover the moment a provider degrades.

METER

Token-level billing

Every request metered to the token. Pay-as-you-go quota, transparent per-model pricing, real-time spend — no surprises at the end of the month.

SCOPE

Keys you can hand out

Per-key quotas, model allowlists, expiry dates and IP restrictions. Give your team and your apps keys — not liability.

STREAM

Streaming first

SSE pass-through with minimal gateway overhead. Your tokens arrive as fast as the model emits them.

OBSERVE

Full observability

Request logs, latency and per-model spend, live in the console. When something is slow, you'll know which provider — and when.

0+
providers behind one API
0+
models, one key
0%
gateway uptime
<0ms
added latency
// get started

Start routing in minutes.

Create a key, point your SDK at Moflux, ship.

Get your API key ->