Skip to content
AI MODELS

Every major model.
One API key.

Use GPT, Claude, Gemini, Grok, DeepSeek and Qwen from your app with the OpenAI SDK you already know. No accounts or keys with each provider. Switch models by changing one line.

OpenAI-compatible Streaming and tools No provider accounts
AI MODELS · LIVE
gpt-5-miniclaude-sonnet-4.5gemini-2.5-flashgrok-4deepseek-chatqwen3-coder+ HUNDREDS MORE1 KEYOPENAI APIYOUR APPAI_BASE_URLSTREAM
1 keyfor every provider and model
300requests per minute on Pro, 1,000 on Scale
5 minlongest request, streamed or not
WHAT YOU GET

Everything included.
Nothing to wire up.

One OpenAI-compatible API key for GPT, Claude, Gemini, Grok, DeepSeek, Qwen and hundreds more models.

OpenAI-compatible

The API speaks Chat Completions. Point any OpenAI client at AI_BASE_URL with AI_API_KEY and it works, in TypeScript, Python or curl.

Switch with one line

Models are named by provider, such as openai/gpt-5-mini or anthropic/claude-sonnet-4.5. Change the model string, keep the rest of your code.

Streaming, tools and JSON

Streaming, tools and function calling, JSON output and images all work as they do with OpenAI.

Works with agent frameworks

Use the OpenAI Agents SDK, the Vercel AI SDK or LangChain. Tell them to use Chat Completions and they run on any model.

Pay per request

Each request is charged at the provider's own price plus a fixed percentage, from your credits. Every model's price is listed in the docs.

Prompts are not stored

Prompts and answers are never stored. Only each request's model, token counts and cost are kept, for billing.

HOW IT WORKS

Three steps
to production.

  1. 01
    Deploy

    Click Deploy on the AI card. You get AI_BASE_URL and AI_API_KEY. Keep the key on your server.

  2. 02
    Connect

    Give them to any OpenAI client as its base URL and API key.

  3. 03
    Pick a model

    Choose one by name from the docs or from GET AI_BASE_URL/models, and stream the reply to your UI.

Read the AI models guide
chat.ts
import OpenAI from "openai";

const ai = new OpenAI({
  baseURL: process.env.AI_BASE_URL,
  apiKey: process.env.AI_API_KEY,
});

const stream = await ai.chat.completions.create({
  model: "anthropic/claude-sonnet-4.5",
  messages: [{ role: "user", content: "Write a haiku about Postgres." }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
BETTER TOGETHER

One project.
Every service connected.

Same project, same .env, same bill.

FAQ

Questions about
AI models.

Do I need an OpenAI or Anthropic account?
No. One AI_API_KEY covers every model. You do not need accounts or keys with OpenAI, Anthropic, Google or anyone else.
Which models can I use?
GPT, Claude, Gemini, Grok, DeepSeek, Qwen and hundreds more. The docs list every model with its price, and GET AI_BASE_URL/models returns the same list as JSON. Free :free variants are not available.
How am I billed?
Each request costs what its provider charges plus a fixed percentage, taken from your credits and charged every hour. A stream you stop early is charged for what was generated until then.
Can I call it from the browser?
No. Keep AI_API_KEY on your server and stream replies to your UI from a route handler or API endpoint.

Add AI models to your project.
Free to start.

Postgres, auth, storage, Redis, email and AI models. One API key.