An OpenAI-compatible gateway. Point any OpenAI SDK at the base URL below, use your API key as a bearer token, and call any of the 18 models on your account (chat & reasoning, embeddings, image, and speech).
https://api.aiforbiz.email/v1
Auth Authorization: Bearer YOUR_KEY
Balance GET /key/info · dashboard
18 models across chat/reasoning, embeddings, image, and speech. The authoritative,
always-current list is GET /v1/models.
max_completion_tokens.max_completion_tokens generously
(a few hundred or more), or you may get an empty reply because the budget was consumed by
reasoning. gpt-oss-120b is the open-weight option and the lowest-cost reasoning model
($0.15 / $0.60 per 1M in / out); it returns the final answer in content and its
thinking in reasoning_content, so keep max_completion_tokens high.
gpt-chat-latest requires max_completion_tokens (it rejects max_tokens).USD per 1M tokens (exact Azure list prices). Your spend accrues at these rates; live balance and per-model daily usage are in your dashboard.
| Model | Input | Cached input | Output |
|---|---|---|---|
gpt-5.6-sol | $5.00 | $0.50 | $30.00 |
gpt-5.6-terra | $2.50 | $0.25 | $15.00 |
gpt-5.6-luna | $1.00 | $0.10 | $6.00 |
gpt-5.5 | $5.00 | $0.50 | $30.00 |
gpt-chat-latest | $5.00 | $0.50 | $30.00 |
gpt-5.4 | $2.50 | – | $15.00 |
gpt-5.4-mini | $0.75 | – | $4.50 |
gpt-5.4-nano | $0.20 | – | $1.25 |
gpt-5.3-codex | $1.75 | $0.175 | $14.00 |
o3 | $2.00 | – | $8.00 |
gpt-oss-120b | $0.15 | – | $0.60 |
text-embedding-3-small | $0.02 | – | – |
text-embedding-3-large | $0.13 | – | – |
text-embedding-ada-002 | $0.10 | – | – |
whisper | $0.36 per audio-hour | ||
gpt-image-2 | billed per generated image | ||
gpt-image-1.5 | billed per generated image | ||
gpt-image-1 | billed per generated image (original, preview) | ||
List the models available to your key.
curl https://api.aiforbiz.email/v1/models \
-H "Authorization: Bearer $AIFORBIZ_KEY"
Chat and reasoning. Models: gpt-5.6-sol, gpt-5.6-terra,
gpt-5.6-luna, gpt-5.5, gpt-chat-latest,
gpt-5.4, gpt-5.4-mini, gpt-5.4-nano,
gpt-5.3-codex, o3, gpt-oss-120b.
(gpt-5.3-codex is a Responses-API model: call it via /v1/responses
below; the OpenAI-style /v1/chat/completions is auto-translated, but an Azure-SDK
.chat.completions call returns 404.)
| Field | Notes |
|---|---|
model | any chat / reasoning model above |
messages | array of {role, content} |
max_completion_tokens | reserve headroom for reasoning + answer |
stream | optional, true for token streaming |
curl https://api.aiforbiz.email/v1/chat/completions \
-H "Authorization: Bearer $AIFORBIZ_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [
{"role": "user", "content": "Summarize relativity in two sentences."}
],
"max_completion_tokens": 500
}'
Responses API. Required for gpt-5.3-codex (Azure does not expose chat completions for it).
Use your SDK's client.responses.create(...) or POST directly.
curl https://api.aiforbiz.email/v1/responses \
-H "Authorization: Bearer $AIFORBIZ_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.3-codex",
"input": "Write a Python function that reverses a linked list."
}'
Generate an image. Models: gpt-image-2 (newest flagship), gpt-image-1.5, or gpt-image-1. Returns base64 image data.
Long calls: high-quality / large images can take 2–3 min. The proxied host caps at ~100s (HTTP 524);
for those, use the direct host https://direct-api.aiforbiz.email/v1 and set your client timeout to ≥ 300s.
| Field | Notes |
|---|---|
model | gpt-image-2 |
prompt | text description |
size | e.g. 1024x1024 |
n | number of images |
curl https://api.aiforbiz.email/v1/images/generations \
-H "Authorization: Bearer $AIFORBIZ_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A watercolor fox in a misty forest",
"size": "1024x1024",
"n": 1
}'
Vector embeddings. Models: text-embedding-3-small,
text-embedding-3-large, text-embedding-ada-002.
curl https://api.aiforbiz.email/v1/embeddings \
-H "Authorization: Bearer $AIFORBIZ_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-large",
"input": "the quick brown fox"
}'
Speech-to-text. Model: whisper. Multipart upload of an audio file; returns {"text": ...}.
curl https://api.aiforbiz.email/v1/audio/transcriptions \
-H "Authorization: Bearer $AIFORBIZ_KEY" \
-F "[email protected]" \
-F "model=whisper"
Your key's budget and running spend, so you can show remaining balance in-app without opening
the dashboard. Call it with just your key and no parameters; it returns only your own key.
Note this route is at the root, not under /v1.
Budget left = max_budget − spend (USD). A null
max_budget means the key is uncapped.
Field (under info) | Meaning |
|---|---|
spend | total USD spent on this key so far |
max_budget | the key's budget cap in USD (null = uncapped) |
soft_budget | alert threshold, if one is set (null = none) |
key_alias | your key's label |
curl https://api.aiforbiz.email/key/info \
-H "Authorization: Bearer $AIFORBIZ_KEY"
# → {"key":"...","info":{"spend":0.42,"max_budget":100.0,"soft_budget":null, ...}}
# remaining budget = max_budget - spend = 99.58 USD
# Python: remaining budget in a couple of lines
import requests
info = requests.get("https://api.aiforbiz.email/key/info",
headers={"Authorization": f"Bearer {AIFORBIZ_KEY}"}).json()["info"]
remaining = None if info["max_budget"] is None else info["max_budget"] - info["spend"]
print(remaining, "USD left")
Any OpenAI SDK works; only the base URL and key change.
# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://api.aiforbiz.email/v1",
api_key="YOUR_KEY",
)
resp = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Hello!"}],
max_completion_tokens=500,
)
print(resp.choices[0].message.content)
Every response carries the exact metered cost of that request in a header, so you can bill per call without reconstructing it from a price list. Works on every endpoint (chat, responses, embeddings, images, audio): read the header off the raw response.
| Header | Meaning |
|---|---|
x-litellm-response-cost | USD cost of this request, no markup (may be scientific notation, e.g. 8.45e-06) |
x-litellm-key-spend | your key's running total spend, USD |
x-litellm-call-id | unique request id, useful for reconciliation / support |
# curl: -D - dumps the response headers
curl -sS -D - -o /dev/null https://api.aiforbiz.email/v1/chat/completions \
-H "Authorization: Bearer $AIFORBIZ_KEY" -H "Content-Type: application/json" \
-d '{"model":"gpt-5.4-nano","messages":[{"role":"user","content":"hi"}],"max_completion_tokens":50}' \
| grep -i x-litellm-response-cost
# Python: read the header off the raw response, then .parse() for the usual object
raw = client.chat.completions.with_raw_response.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Hello!"}],
max_completion_tokens=500,
)
cost = float(raw.headers["x-litellm-response-cost"]) # USD for this call
completion = raw.parse() # normal ChatCompletion object
print(cost, completion.choices[0].message.content)