Docs
The Gateway is OpenAI-compatible. If your code already talks to an OpenAI-style endpoint, changing the base URL and the key is the whole migration.
Quickstart
Base URL: https://api.aireadify.ai/v1. Sign in to the console and create a key under Keys, then:
from openai import OpenAI
client = OpenAI(
base_url="https://api.aireadify.ai/v1", # the only line that changes
api_key=AIREADIFY_API_KEY,
)
r = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "Hello"}],
)
print(r.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.aireadify.ai/v1", // the only line that changes
apiKey: process.env.AIREADIFY_API_KEY,
});
const r = await client.chat.completions.create({
model: "deepseek-v4-flash",
messages: [{ role: "user", content: "Hello" }],
});
console.log(r.choices[0].message.content);curl https://api.aireadify.ai/v1/chat/completions \ -H "Authorization: Bearer $AIREADIFY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-v4-flash", "messages": [{"role": "user", "content": "Hello"}] }'
Model ids are plain names such as deepseek-v4-flash. The live list with prices is the console model page; GET /v1/models returns the ids your key can use.
Authentication
Send your key as a bearer token: Authorization: Bearer sk-…. Keys are created in the console, where each key can carry its own quota, model allowlist, expiry and IP allowlist. Keys are masked in the console after creation.
Chat completions
POST /v1/chat/completions accepts the OpenAI request schema: model, messages, temperature, max_tokens, stream, tools where the upstream supports them. Anthropic POST /v1/messages and POST /v1/embeddings are also available.
The response is the OpenAI response schema. model in the response is the upstream model name (for aliases such as deepseek-chat you will see deepseek-v4-flash).
Streaming
Set "stream": true to receive server-sent events. The final chunk carries a usage block when you send stream_options.include_usage; billing is settled from the token counts the provider reports, and from the gateway's own count if the stream ends without them.
Models
GET /v1/models returns every model enabled for your key. Data region and retention per provider are listed below; today every model is served by DeepSeek (data processed in China, no zero-retention option).
| Model | Provider | Context | Data region | Zero retention | Peak · in / cached / out | Off-peak · in / cached / out |
|---|---|---|---|---|---|---|
| deepseek-v4-flash | DeepSeek | 1M | CN | No | $0.33 / $0.011 / $0.99 | $0.21 / $0.007 / $0.62 |
| deepseek-v4-pro | DeepSeek | 1M | CN | No | $0.99 / $0.033 / $2.96 | $0.62 / $0.021 / $1.85 |
| deepseek-v4-flash-vision-exp | DeepSeek | 1M | CN | No | $0.33 / $0.011 / $0.99 | $0.21 / $0.007 / $0.62 |
| gpt-6-astra | OpenAI · via vetted reseller | 400K | US | Unknown | $1.95 / $0.292 / $9.75 | $1.95 / $0.292 / $9.75 |
| gpt-5.6 | OpenAI · via vetted reseller | 400K | US | Unknown | $1.03 / $0.155 / $8.28 | $1.03 / $0.155 / $8.28 |
| gpt-5.6-sol | OpenAI · via vetted reseller | 400K | US | Unknown | $0.78 / $0.117 / $3.90 | $0.78 / $0.117 / $3.90 |
| gpt-5.6-terra | OpenAI · via vetted reseller | 400K | US | Unknown | $0.39 / $0.059 / $2.34 | $0.39 / $0.059 / $2.34 |
| gpt-5.6-luna | OpenAI · via vetted reseller | 400K | US | Unknown | $0.10 / $0.016 / $0.62 | $0.10 / $0.016 / $0.62 |
USD per million tokens. Peak hours are Beijing time Monday to Friday 09:00–12:00 and 14:00–18:00, priced 20% below DeepSeek's own peak list price; all other hours are off-peak at DeepSeek's off-peak price. The OpenAI models (gpt-6-astra and the gpt-5.6 family) are served through a vetted reseller at a flat price with no peak/off-peak schedule; cached prompt tokens are billed at 15% of the input price. Billed per token from each response's usage block, no per-request minimum, balance shown in USD. DeepSeek requests are processed in China with no zero-retention option.
Errors
Errors use the OpenAI error envelope: {"error": {"message", "type", "code"}} with type new_api_error. The message ends with a request id to quote in support requests.
| Status | Meaning |
|---|---|
| 401 | Missing, malformed, expired or disabled key. |
| 403 | Key or account quota exhausted, or the key is not allowed to use this model. Top up or adjust the key in the console. |
404 model_not_found | Unknown or disabled model id. |
| 429 | Request rate limit for this model or IP. Retry with backoff. |
| 5xx | Upstream failed after retries. Not billed. |
Upstream 4xx errors (for example a content-policy rejection) are passed through with the provider's status and body, and are not billed.
Rate limits
Limits are applied per model and per client IP on the gateway side; there is no per-key limit header. If you need a higher ceiling for a production workload, write to hello@aireadify.ai.
Billing
- Price per token depends on the hour: peak (Beijing Mon–Fri 09:00–12:00, 14:00–18:00) is 20% below DeepSeek's peak list price, off-peak equals DeepSeek's off-peak price. Settled from the token counts in
usage; cached prompt tokens are billed at the cache price. The usage log records which tier applied. - Before each request the gateway pre-deducts a small estimate and corrects it to the exact amount when the response completes. Upstream errors are refunded.
- Balance is shown in USD in the console; every request appears in the usage log with tokens, latency and cost.
- Credits do not expire. See the refund policy.
Response headers
| Header | Meaning |
|---|---|
X-Oneapi-Request-Id | Id to quote in support requests and to find the call in the usage log. |
X-New-Api-Version | Gateway build serving the request. |
Scan API
The agent-readiness scanner is public and free: GET https://aireadify.ai/api/scan?url=example.com. No key needed; 10 scans per 10 minutes per IP. The response includes the 0–100 score, category scores, 20 checks with fix prompts, and a markdown summary. OpenAPI: /openapi.json.