OpenAI-compatible LLM gateway
One API key for every major model, priced below list.
Call GPT, Claude, Gemini and DeepSeek models through one endpoint. Keep your OpenAI SDK, change the base URL, and pay per token from prepaid credits at 5–15% under provider list prices.
summarize.py
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.mobiforgesystems.store/v1",
api_key=os.environ["MOBIFORGE_API_KEY"],
)
stream = client.chat.completions.create(
model="anthropic/claude-sonnet-5.5",
messages=[{"role": "user", "content": "Summarize this ticket in one line."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="") Models available through one key, using provider/model IDs
OpenAI
- openai/gpt-6-astra
- openai/gpt-6.1-sol
- openai/gpt-6-luna
Anthropic
- anthropic/claude-opus-5.5
- anthropic/claude-sonnet-5.5
- anthropic/claude-haiku-5.5
- google/gemini-4-argon
- google/gemini-3.8-flash
DeepSeek
- deepseek/deepseek-v4-pro
- deepseek/deepseek-flash
From signup to first response in four steps
- 01
Add credits
Top up from $10. Credits never expire and every request is deducted at the per-token rate shown on the pricing page.
- 02
Create a key
Issue one key per app or environment, each with its own spend cap and model allowlist.
- 03
Change the base URL
Point the OpenAI SDK, LangChain or any HTTP client at https://api.mobiforgesystems.store/v1. No other code changes.
- 04
Track spend per model
The console splits cost into input, output and cached tokens by model, provider and key.
$ curl https://api.mobiforgesystems.store/v1/chat/completions \-H "Authorization: Bearer $MOBIFORGE_API_KEY" \-d '{"model":"deepseek/deepseek-flash","messages":[{"role":"user","content":"ping"}]}'{"id":"gen-7f3a","model":"deepseek/deepseek-flash","choices":[{"message":{"content":"pong"}}],"usage":{"prompt_tokens":9,"completion_tokens":2,"total_tokens":11}}200 OK · 412 ms · $0.000005 charged
One bill across four providers
Stop juggling separate OpenAI, Anthropic, Google and DeepSeek accounts. Every request draws from one credit balance, and the console shows what each model cost you, split into input, output and cached tokens.
- Per-request usage returned in the standard usage object
- Daily spend by model, provider and key
- CSV export for finance and cost allocation
- Usage
- Keys
- Models
- Billing
Usage
Last 7 days
- Credit balance
- $412.60
- Auto top-up off
- Requests
- 48,210
- Cache hit rate
- 31%
- Prompt caching
Spend by model
| Model | Cost |
|---|---|
| anthropic/claude-sonnet-5.5 | $64.12 |
| openai/gpt-6.1-sol | $38.70 |
| google/gemini-3.8-flash | $21.95 |
| deepseek/deepseek-flash | $13.48 |
- POST /chat/completions · anthropic/claude-sonnet-5.5 14:02:11.204
- Upstream returned 429 rate_limit_error 14:02:11.611
- Retried on secondary route for the same model 14:02:11.640
- 200 OK · streamed 812 tokens · billed once 14:02:13.902
Rate limits and outages handled in the request
When a provider returns a 429, a 5xx or times out, the gateway retries the same model on another route, up to two times, inside the same call. Your code sees one response and is billed once. Requests pinned to a single provider are never rerouted.
Spend caps on every key
Give each service, environment or teammate its own key with a monthly cap and a model allowlist. You get an email at 80% of the cap, and requests stop with a clear 402 error once it is reached, so a runaway loop can't drain your balance.
API keys
| Key | Used / cap | Status |
|---|---|---|
| prod-support-bot mf-…9c2e | $182 / $400 | Active |
| staging mf-…41ab | $41 / $50 | 82% used |
| eval-batch mf-…77d0 | $100 / $100 | Capped |
Also included
- SSE streaming
- Set stream: true and receive tokens as server-sent events.
- Prompt caching passthrough
- Provider cache-hit discounts are passed through and shown per request.
- Batch requests
- Async jobs on supported OpenAI and Gemini models at batch rates.
- Bring your own key
- Attach your own provider keys; that usage is billed by the provider, not from credits.
- Team workspaces
- Invite teammates with Owner, Developer or Billing roles.
- Model list endpoint
- GET /v1/models returns every model ID and its current rate.
Solo developers
Try Claude, GPT and Gemini side by side from a $10 top-up, without opening four billing accounts.
Product teams
Route support bots to a fast model and analysis jobs to a reasoning model, with one invoice and per-key budgets.
Platforms and agencies
Issue a capped key per client or tenant and export usage by key for rebilling.
How we handle your data
The gateway passes your request to the provider and returns the answer. It keeps what billing needs and nothing more.
- Prompts and outputs are not stored. We log metadata only: timestamp, model, token counts, latency and cost.
- Metadata kept 30 days in the request log, then aggregated into daily totals.
- Keys stored as hashes. A full key is shown once at creation; revoke it anytime from the console.
- TLS 1.2+ in transit between your app, the gateway and each provider.
- Export or delete. Download usage as CSV, or ask us to delete your account data by email.
- Support replies within one business day, within 4 business hours on Enterprise.
Questions developers ask
Do I need to change my code?+
No. Mobiforge implements the OpenAI Chat Completions format. Set base_url to the gateway, use your Mobiforge key, and pass a provider/model ID such as anthropic/claude-sonnet-5.5.
How much cheaper is it than going direct?+
Starter usage is billed at 5% below each provider's list price and Pro at 15% below. The pricing page lists every model with both numbers.
What happens when a provider is down?+
The gateway retries the same model on another route up to two times within the same request. If every route fails you get a standard error response and are not charged.
Do credits expire?+
No. Credits stay on your account until used. Unused credits can be refunded under our Refund Policy.
Do you store my prompts?+
No. Only request metadata is logged (time, model, token counts, cost). Prompt and completion content is passed through and not retained.
Are there rate limits?+
Starter keys allow 60 requests per minute and Pro keys 600. Provider-side limits still apply; Enterprise limits are set per contract.