Реле ChatGPT API от AI ROUTER
AI ROUTER — независимый OpenAI-совместимый сервис ретрансляции ChatGPT API для разработчиков, которым нужны практичное подключение с контролем расходов, управление API-ключами и прозрачность использования.
Русская версия сайта
Реле ChatGPT API от AI ROUTER - Русская версия сайта
API endpoint
https://api.ai-router.dev/v1
Для практических процессов разработки
- Используйте OpenAI-совместимый формат запросов и измените
base_urlв существующем SDK-коде. - Создавайте API-ключи и просматривайте использование, баланс, квоту и статус подписки в панели управления.
- Начните с небольшой нагрузки и выберите планы, показанные в панели; набор моделей и доступность могут меняться.
Начните за четыре шага
- Создайте аккаунт AI ROUTER.
- Создайте API-ключ.
- Установите
base_urlвhttps://api.ai-router.dev/v1и отправляйте OpenAI-совместимые запросы. - Просмотрите актуальные планы или пополните баланс в панели управления.
Руководства для разработчиков
- ChatGPT API relay
- OpenAI-compatible endpoint
- API key usage tracking
- Daily and weekly plans
- Coding-agent workflows
- FAQ
Кредит для нового пользователя: до 20U
Новые аккаунты, соответствующие условиям, могут получить до 5U доступного кредита и до 15U замороженного кредита. Замороженный кредит постепенно высвобождается по мере фактического использования API. Применяются требования к участию, условия и контроль рисков.
Трехуровневые реферальные вознаграждения
Реферальная программа может предоставлять вознаграждения на трех уровнях. Текущие ставки, право на участие, сроки разблокировки, доступность и правила выплат указаны в панели управления. Это не является гарантией дохода.
Границы сервиса
AI ROUTER не является официальным сервисом OpenAI. Это независимый сервис ретрансляции, не предназначенный для спама, злоупотреблений или действий, нарушающих правила. Актуальные планы, модели и правила сервиса проверяйте в панели управления.
Подробное руководство: интеграция с AI ROUTER
Русская документация AI ROUTER по OpenAI-совместимому API описывает независимый сервис с форматом запросов, совместимым с OpenAI API. Это не официальный продукт OpenAI. Используйте интеграцию только в соответствии с применимым законодательством, правилами моделей и условиями сервиса.
В этом руководстве показано, как получить доступный идентификатор модели, отправить запрос в chat/completions, подключить Python и Node.js SDK, а также безопасно хранить ключи и обрабатывать ошибки.
### Базовые параметры
| Параметр | Значение |
|---|---|
| Базовый URL API | https://api.ai-router.dev/v1 |
| Список моделей | GET https://api.ai-router.dev/v1/models |
| Чат-завершения | POST https://api.ai-router.dev/v1/chat/completions |
| Авторизация | Authorization: Bearer <API_KEY> |
Создайте API-ключ в личном кабинете, затем сохраните его в переменной окружения. Не добавляйте ключ в исходный код, репозиторий или клиентский JavaScript.
export AI_ROUTER_API_KEY='ваш_секретный_api_ключ'
### 1. Получите доступные модели
Не используйте случайные или устаревшие идентификаторы моделей. Набор моделей зависит от аккаунта и может меняться. Источником истины является ответ /v1/models и информация в личном кабинете.
curl --fail-with-body --silent --show-error \
-H "Authorization: Bearer ${AI_ROUTER_API_KEY}" \
https://api.ai-router.dev/v1/models
Если установлен jq, можно вывести только идентификаторы:
curl --fail-with-body --silent --show-error \
-H "Authorization: Bearer ${AI_ROUTER_API_KEY}" \
https://api.ai-router.dev/v1/models \
| jq -r '.data[].id'
export AI_ROUTER_MODEL='идентификатор_модели_из_списка'
### 2. Первый запрос через cURL
Ниже jq формирует JSON, не раскрывая ключ в командной истории. Если jq отсутствует, сформируйте эквивалентный JSON безопасным способом.
REQUEST_BODY="$(
jq -n \
--arg model "${AI_ROUTER_MODEL}" \
'{
model: $model,
messages: [
{role: "system", content: "Отвечай кратко и технически точно."},
{role: "user", content: "Объясни, что делает HTTP status 429."}
],
temperature: 0.2
}'
)"
curl --fail-with-body --silent --show-error \
https://api.ai-router.dev/v1/chat/completions \
-H "Authorization: Bearer ${AI_ROUTER_API_KEY}" \
-H "Content-Type: application/json" \
--data "${REQUEST_BODY}"
Текст ответа обычно находится в поле choices[0].message.content. Сохраняйте статус и технические метаданные для диагностики, но не записывайте API-ключи, заголовок Authorization или пользовательские секреты.
### 3. Python: OpenAI SDK
Установите SDK:
python -m pip install --upgrade openai
import os
from openai import OpenAI
api_key = os.getenv("AI_ROUTER_API_KEY")
model = os.getenv("AI_ROUTER_MODEL")
if not api_key:
raise RuntimeError("Не задана переменная AI_ROUTER_API_KEY")
if not model:
raise RuntimeError("Сначала выберите AI_ROUTER_MODEL через GET /v1/models")
client = OpenAI(
api_key=api_key,
base_url="https://api.ai-router.dev/v1",
)
models = client.models.list()
for item in models.data:
print(item.id)
response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "Отвечай по-русски и технически точно."},
{"role": "user", "content": "Покажи минимальный HTTP-обработчик на Python."},
],
temperature=0.2,
)
print(response.choices[0].message.content or "")
if response.usage:
print("Usage:", response.usage)
Не фиксируйте название модели в библиотеке или шаблоне без проверки /v1/models: доступность и возможности моделей различаются между аккаунтами.
### 4. Node.js: OpenAI SDK
Установите пакет:
npm install openai
import OpenAI from "openai";
const apiKey = process.env.AI_ROUTER_API_KEY;
const model = process.env.AI_ROUTER_MODEL;
if (!apiKey) {
throw new Error("Не задана переменная AI_ROUTER_API_KEY");
}
if (!model) {
throw new Error("Сначала выберите AI_ROUTER_MODEL через GET /v1/models");
}
const client = new OpenAI({
apiKey,
baseURL: "https://api.ai-router.dev/v1",
});
const models = await client.models.list();
console.table(models.data.map(({ id }) => ({ id })));
const completion = await client.chat.completions.create({
model,
messages: [
{ role: "system", content: "Отвечай по-русски и технически точно." },
{ role: "user", content: "Напиши функцию JavaScript для экспоненциальной задержки." },
],
temperature: 0.2,
});
console.log(completion.choices[0]?.message?.content ?? "");
if (completion.usage) {
console.log("Usage:", completion.usage);
}
### 5. Обработка ошибок и повторные попытки
| Ситуация | Что проверить |
|---|---|
400 | Формат JSON, обязательные поля, сообщения и параметры запроса. |
401 или 403 | API-ключ, его актуальность и права текущего аккаунта. Не выводите ключ в журнал ошибок. |
404 | Базовый URL, путь запроса и идентификатор модели из /v1/models. |
429 | Уменьшите параллелизм, примените ограниченное экспоненциальное ожидание и учитывайте Retry-After, если он возвращён. |
5xx или сетевая ошибка | Допустимы несколько ограниченных повторных попыток с задержкой. Не повторяйте бесконечно. |
Повторяйте только временные сетевые ошибки, 429 и временные ошибки сервера. Не повторяйте автоматически ошибки авторизации, валидации или запросы с неизвестным идентификатором модели. Ограничивайте число попыток и параллельных запросов.
### 6. Безопасность и эксплуатация
- Храните
AI_ROUTER_API_KEYв переменных окружения или менеджере секретов. - Добавьте
.envв.gitignore, если используете его локально. - Не размещайте API-ключ в браузерном приложении, мобильном клиенте, публичном репозитории или документации.
- Выполняйте вызовы API через собственный сервер или защищённый backend.
- Немедленно отзовите и замените ключ при подозрении на утечку.
- Минимизируйте передачу персональных и конфиденциальных данных; предварительно оцените требования безопасности и законодательства.
- Контролируйте фактическое потребление по ответам API и данным личного кабинета.
### 7. Учётная запись и кредиты
Для некоторых новых аккаунтов, соответствующих условиям, могут быть доступны до 5U доступного кредита и до 15U замороженного кредита. Замороженный кредит раскрывается постепенно на основании фактического использования API. Доступность, условия участия и меры контроля риска применяются согласно актуальным правилам сервиса; не планируйте production-нагрузку, исходя только из этой возможности.
### Минимальный чек-лист перед production
- [ ] API-ключ хранится вне исходного кода.
- [ ] Базовый URL задан как
https://api.ai-router.dev/v1. - [ ]
AI_ROUTER_MODELвыбран изGET /v1/modelsили личного кабинета. - [ ] Ошибки
401,403,404,429и временные сбои обрабатываются отдельно. - [ ] Повторные попытки ограничены и не раскрывают секреты.
- [ ] В логах отсутствуют ключи, заголовок
Authorizationи чувствительные данные пользователей. - [ ] Использование API отслеживается по фактическим данным аккаунта.
### Границы сервиса
AI ROUTER не является официальным сервисом OpenAI и не гарантирует доступность конкретной модели. Не используйте интеграцию для обхода региональных ограничений, условий поставщиков, ограничений учётных записей или требований законодательства. Перед production-использованием проверьте текущие модели, планы, цены и правила в личном кабинете.