Документация API
AI Router полностью совместим с форматом OpenAI API. Используйте любой SDK или HTTP-клиент — достаточно изменить base_url и API-ключ.
Быстрый старт
Запустите AI Router менее чем за 2 минуты. Если вы уже используете OpenAI SDK — достаточно изменить два параметра.
from openai import OpenAI
client = OpenAI(
base_url="https://api.airouter.kz/api/v1",
api_key="air_live_your_key_here"
)
response = client.chat.completions.create(
model="openai/gpt-5.4",
messages=[
{"role": "user", "content": "Summarize the OpenAI Chat Completions schema in one sentence."}
]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.airouter.kz/api/v1",
apiKey: "air_live_your_key_here"
});
const response = await client.chat.completions.create({
model: "anthropic/claude-opus-4-7",
messages: [
{ role: "user", content: "Summarize the OpenAI Chat Completions schema in one sentence." }
]
});
console.log(response.choices[0].message.content);curl https://api.airouter.kz/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer air_live_your_key_here" \
-d '{
"model": "google/gemini-3-pro",
"messages": [
{"role": "user", "content": "Summarize the OpenAI Chat Completions schema in one sentence."}
]
}'Аутентификация
Все API-запросы требуют API-ключ в заголовке Authorization как Bearer-токен.
Формат API-ключа
API-ключи AI Router имеют префикс air_live_ и 43 символа base64url. Пример:
air_live_abc123def456ghi789jkl012mno345pqr678stu
Формат заголовка
Authorization: Bearer air_live_your_key_here
Создавайте и управляйте ключами в панели или через эндпоинты управления ключами.
Базовый URL
$https://api.airouter.kz/api/v1
Все эндпоинты относительны этого базового URL. API полностью совместим с путями OpenRouter и OpenAI.
SDK и библиотеки
AI Router работает с любым SDK, поддерживающим кастомный base URL. Специальный SDK не нужен — используйте имеющийся.
OpenAI Python SDK
pip install openai
Установите base_url в https://api.airouter.kz/api/v1
OpenAI Node.js SDK
npm install openai
Установите baseURL в https://api.airouter.kz/api/v1
LangChain
pip install langchain-openai
Используйте ChatOpenAI с параметром openai_api_base
LlamaIndex
pip install llama-index-llms-openai
Установите api_base в классе OpenAI LLM
Эндпоинты
AI Router реализует те же пути эндпоинтов, что и OpenRouter и OpenAI. Схемы запросов и ответов идентичны.
| Метод | Путь | Описание |
|---|---|---|
| POST | /api/v1/chat/completions | Создать чат-комплишен |
| POST | /api/v1/images/generations | Сгенерировать изображения |
| POST | /api/v1/audio/speech | Синтез речи |
| POST | /api/v1/audio/transcriptions | Распознавание речи |
| GET | /api/v1/models | Список доступных моделей |
| GET | /api/v1/generation?id= | Детали генерации |
| GET | /api/v1/credits | Проверить баланс |
| GET | /api/v1/keys | Список API-ключей |
| POST | /api/v1/keys | Создать новый API-ключ |
| PATCH | /api/v1/keys/:id | Обновить API-ключ |
| DELETE | /api/v1/keys/:id | Удалить API-ключ |
POST /api/v1/chat/completions
Создайте чат-комплишен. Основной эндпоинт для взаимодействия с любой AI-моделью через AI Router. Формат запроса и ответа идентичен OpenAI Chat Completions API.
{
"model": "openai/gpt-5.4",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Explain quantum computing in simple terms."
}
],
"temperature": 0.7,
"max_tokens": 1000,
"stream": false
}{
"id": "gen-abc123",
"object": "chat.completion",
"created": 1713200000,
"model": "openai/gpt-5.4",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Quantum computing uses quantum mechanics..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 150,
"total_tokens": 175
}
}Формат ID модели
ID моделей имеют формат provider/model-name. Примеры:
- openai/gpt-5.4
- anthropic/claude-opus-4-7
- google/gemini-3-pro
- deepseek/deepseek-v3.2
- mistral/mistral-large-3
- xai/grok-4
Стриминг
Установите "stream": true для получения Server-Sent Events (SSE). Формат ответа соответствует OpenAI streaming-спецификации, с data: [DONE] в конце.
POST /api/v1/images/generations
Генерация изображений моделями GPT-Image-1, Imagen 4, FLUX 1.1 Pro и другими frontier-моделями. Формат запроса соответствует OpenAI Images API.
curl https://api.airouter.kz/api/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer air_live_your_key_here" \
-d '{
"model": "openai/gpt-image-1",
"prompt": "a white siamese cat",
"n": 1,
"size": "1024x1024"
}'{
"created": 1713200000,
"data": [
{
"url": "https://...",
"revised_prompt": "A white Siamese cat with blue eyes..."
}
]
}Поддерживаемые размеры
- 1024x1024
- 1792x1024
- 1024x1792
POST /api/v1/audio/speech
Конвертация текста в естественную речь. Возвращает сырые аудио-байты с Content-Type: audio/mpeg по умолчанию.
curl https://api.airouter.kz/api/v1/audio/speech \
-H "Content-Type: application/json" \
-H "Authorization: Bearer air_live_your_key_here" \
-d '{
"model": "openai/gpt-4o-mini-tts",
"input": "Hello, welcome to AI Router!",
"voice": "alloy"
}' \
--output speech.mp3Доступные голоса
Формат ответа
Ответ — сырые аудио-байты (не JSON). По умолчанию content type — audio/mpeg. Можно запросить другие форматы через response_format: opus, aac или flac.
POST /api/v1/audio/transcriptions
Распознавание речи моделями GPT-4o Transcribe и другими. Принимает multipart/form-data запросы.
curl https://api.airouter.kz/api/v1/audio/transcriptions \ -H "Authorization: Bearer air_live_your_key_here" \ -F file="@audio.mp3" \ -F model="openai/gpt-4o-transcribe"
{
"text": "Hello, welcome to AI Router!"
}Поддерживаемые аудио-форматы
Максимальный размер файла: 25 МБ
GET /api/v1/models
Список всех доступных моделей. Возвращает ID, цены, длины контекста и возможности. Аутентификация не требуется.
curl https://api.airouter.kz/api/v1/models
{
"object": "list",
"data": [
{
"id": "openai/gpt-5.4",
"object": "model",
"created": 1713200000,
"owned_by": "openai",
"pricing": {
"prompt": "0.0000025",
"completion": "0.000020"
},
"context_length": 1048576,
"top_provider": {
"max_completion_tokens": 131072
}
}
]
}GET /api/v1/generation?id=
Получить детали конкретной генерации: счётчики токенов, стоимость, задержку и провайдера, который обработал запрос.
curl "https://api.airouter.kz/api/v1/generation?id=gen-abc123" \ -H "Authorization: Bearer air_live_your_key_here"
{
"id": "gen-abc123",
"model": "openai/gpt-5.4",
"created_at": "2026-04-15T10:30:00Z",
"tokens_prompt": 25,
"tokens_completion": 150,
"total_cost": 0.003062,
"latency_ms": 1250,
"provider": "openai",
"status": "completed"
}GET /api/v1/credits
Проверить текущий баланс. Возвращает значение в USD как число с плавающей точкой для совместимости с OpenRouter.
curl https://api.airouter.kz/api/v1/credits \ -H "Authorization: Bearer air_live_your_key_here"
{
"data": {
"total_credits": 100.00,
"total_usage": 23.45,
"remaining": 76.55
}
}Управление API-ключами
Создание, листинг, обновление и удаление API-ключей программно. Требует session-аутентификации (вход в панель) или management API-ключа.
curl -X POST https://api.airouter.kz/api/v1/keys \
-H "Authorization: Bearer air_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "production-backend",
"rate_limit": 100
}'curl https://api.airouter.kz/api/v1/keys \ -H "Authorization: Bearer air_live_your_key_here"
curl -X DELETE https://api.airouter.kz/api/v1/keys/key_id_here \ -H "Authorization: Bearer air_live_your_key_here"
Self-hosted модели
AI Router запускает 20 популярных open-weight моделей на собственной GPU-инфраструктуре с оптимизированным inference-стеком. Эти модели используют тот же API — без особой конфигурации.
Формат ID модели
ID self-hosted моделей имеют префикс airouter-cloud/. Примеры:
- airouter-cloud/llama-4-maverick
- airouter-cloud/qwen-3-235b
- airouter-cloud/deepseek-v3.2
- airouter-cloud/gemma-3-27b
- airouter-cloud/mistral-large-3
from openai import OpenAI
client = OpenAI(
base_url="https://api.airouter.kz/api/v1",
api_key="air_live_your_key_here"
)
response = client.chat.completions.create(
model="airouter-cloud/llama-4-maverick",
messages=[
{"role": "user", "content": "Write a quicksort in Python"}
]
)
print(response.choices[0].message.content)Данные остаются локально
Ваши данные не покидают наши серверы. Без сторонних маршрутов для self-hosted моделей.
Выделенные GPU
Модели работают на выделенных NVIDIA GPU с гарантированной мощностью.
Кастомный деплой
Нужна конкретная модель? Развернём любую HuggingFace-модель за 24 часа.
Все доступные self-hosted модели — на странице Self-Hosted.
Обработка ошибок
AI Router возвращает стандартные HTTP-коды и JSON-ошибки, совместимые с форматом ошибок OpenAI.
| Статус | Значение |
|---|---|
| 400 | Bad request — невалидный JSON или отсутствуют обязательные поля |
| 401 | Unauthorized — невалидный или отсутствующий API-ключ |
| 402 | Payment required — недостаточно средств на балансе |
| 404 | Not found — неизвестная модель или эндпоинт |
| 429 | Rate limited — слишком много запросов в секунду |
| 500 | Internal error — непредвиденная серверная ошибка |
| 502 | Provider error — upstream-провайдер вернул ошибку |
| 503 | Provider unavailable — upstream-провайдер недоступен |
{
"error": {
"message": "Insufficient credits. Please add funds to your account.",
"type": "insufficient_credits",
"code": 402
}
}Rate limits
Rate limits применяются к каждому API-ключу. Лимиты по умолчанию можно настроить через панель или API.
Лимиты по умолчанию
- 60 запросов/мин на ключ (настраивается)
- Rate limit заголовки в каждом ответе: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
- Статус 429 при превышении, с заголовком Retry-After
Нужны более высокие лимиты? Откройте форму обратной связи для индивидуальных настроек.
Готовы интегрировать?
Создайте аккаунт и начните делать API-вызовы за минуты.