AI ROUTER developer examplesAI ROUTER (Русский)

Реле ChatGPT API от AI ROUTER

AI ROUTER — независимый OpenAI-совместимый сервис ретрансляции ChatGPT API для разработчиков, которым нужны практичное подключение с контролем расходов, управление API-ключами и прозрачность использования.

Русская версия сайта

Реле ChatGPT API от AI ROUTER - Русская версия сайта

API endpoint

https://api.ai-router.dev/v1

Для практических процессов разработки

Начните за четыре шага

  1. Создайте аккаунт AI ROUTER.
  2. Создайте API-ключ.
  3. Установите base_url в https://api.ai-router.dev/v1 и отправляйте OpenAI-совместимые запросы.
  4. Просмотрите актуальные планы или пополните баланс в панели управления.

Руководства для разработчиков

Кредит для нового пользователя: до 20U

Новые аккаунты, соответствующие условиям, могут получить до 5U доступного кредита и до 15U замороженного кредита. Замороженный кредит постепенно высвобождается по мере фактического использования API. Применяются требования к участию, условия и контроль рисков.

Трехуровневые реферальные вознаграждения

Реферальная программа может предоставлять вознаграждения на трех уровнях. Текущие ставки, право на участие, сроки разблокировки, доступность и правила выплат указаны в панели управления. Это не является гарантией дохода.

Границы сервиса

AI ROUTER не является официальным сервисом OpenAI. Это независимый сервис ретрансляции, не предназначенный для спама, злоупотреблений или действий, нарушающих правила. Актуальные планы, модели и правила сервиса проверяйте в панели управления.

Подробное руководство: интеграция с AI ROUTER

Русская документация AI ROUTER по OpenAI-совместимому API описывает независимый сервис с форматом запросов, совместимым с OpenAI API. Это не официальный продукт OpenAI. Используйте интеграцию только в соответствии с применимым законодательством, правилами моделей и условиями сервиса.

В этом руководстве показано, как получить доступный идентификатор модели, отправить запрос в chat/completions, подключить Python и Node.js SDK, а также безопасно хранить ключи и обрабатывать ошибки.

### Базовые параметры

ПараметрЗначение
Базовый URL APIhttps://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 или 403API-ключ, его актуальность и права текущего аккаунта. Не выводите ключ в журнал ошибок.
404Базовый URL, путь запроса и идентификатор модели из /v1/models.
429Уменьшите параллелизм, примените ограниченное экспоненциальное ожидание и учитывайте Retry-After, если он возвращён.
5xx или сетевая ошибкаДопустимы несколько ограниченных повторных попыток с задержкой. Не повторяйте бесконечно.

Повторяйте только временные сетевые ошибки, 429 и временные ошибки сервера. Не повторяйте автоматически ошибки авторизации, валидации или запросы с неизвестным идентификатором модели. Ограничивайте число попыток и параллельных запросов.

### 6. Безопасность и эксплуатация

### 7. Учётная запись и кредиты

Для некоторых новых аккаунтов, соответствующих условиям, могут быть доступны до 5U доступного кредита и до 15U замороженного кредита. Замороженный кредит раскрывается постепенно на основании фактического использования API. Доступность, условия участия и меры контроля риска применяются согласно актуальным правилам сервиса; не планируйте production-нагрузку, исходя только из этой возможности.

### Минимальный чек-лист перед production

### Границы сервиса

AI ROUTER не является официальным сервисом OpenAI и не гарантирует доступность конкретной модели. Не используйте интеграцию для обхода региональных ограничений, условий поставщиков, ограничений учётных записей или требований законодательства. Перед production-использованием проверьте текущие модели, планы, цены и правила в личном кабинете.