One API for any open model
Call Kimi, Qwen, DeepSeek, GLM, MiniMax and GPT-OSS through one endpoint. Drop-in compatible with the OpenAI and Anthropic SDKs — change the base URL and go.
Better prices, better uptime, no lock-in. One OpenAI- and Anthropic-compatible API for Kimi, MiniMax, Qwen, DeepSeek, GLM and GPT-OSS — routed across live inference providers at the edge.
# OpenAI-compatible — just swap the base URL curl https://api.opengateway.one/oss/v1/chat/completions \ -H "Authorization: Bearer $OPENGATEWAY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "moonshotai/Kimi-K2.7-Code:preferred", "messages": [{"role": "user", "content": "Refactor this function"}] }'
Access the strongest open-weight models through a single, unified interface. The OpenAI and Anthropic SDKs work out of the box.
Call Kimi, Qwen, DeepSeek, GLM, MiniMax and GPT-OSS through one endpoint. Drop-in compatible with the OpenAI and Anthropic SDKs — change the base URL and go.
Every model is hosted by multiple inference providers. OpenGateway routes to a healthy one and fails over automatically when a provider degrades — across 13 live providers.
Pick a routing policy per request — :cheapest, :fastest or :preferred. Runs at the edge for minimal latency between your users and inference.
No frontier lock-in. Every model on OpenGateway is open-weight and self-hostable — so you keep portability, control over your data, and freedom to leave.
The OpenAI SDK works by changing one line. Anthropic clients work too via the Messages API — point them at /oss.
from openai import OpenAI client = OpenAI( base_url="https://api.opengateway.one/oss/v1", api_key="$OPENGATEWAY_API_KEY", ) resp = client.chat.completions.create( model="moonshotai/Kimi-K2.7-Code:preferred", messages=[{"role": "user", "content": "Hello!"}], ) print(resp.choices[0].message.content)
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.opengateway.one/oss/v1", apiKey: process.env.OPENGATEWAY_API_KEY, }); const r = await client.chat.completions.create({ model: "MiniMaxAI/MiniMax-M3:preferred", messages: [{ role: "user", content: "Hello!" }], }); console.log(r.choices[0].message.content);
Append a policy to any model id to control routing.
Browse the catalog, copy a model id, and send your first request. Every model is open-weight and routed across live providers.