KeiRouter
Документация

Подключение за одну минуту

KeiRouter повторяет протоколы OpenAI и Anthropic. Если ваш код уже работает с одним из них, достаточно поменять адрес и ключ — остальное менять не нужно.

Быстрый старт

Три шага: зарегистрируйтесь, пополните баланс в USDT (минимум $10), создайте ключ в разделе «Токены» и подставьте адрес шлюза. Минимальное пополнение — $10.

# проверка одной командой
curl https://api.keirouter.online/v1/chat/completions \
  -H "Authorization: Bearer sk-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "messages": [{"role": "user", "content": "Привет"}]
  }'

Адрес и ключи

ЧтоЗначение
Базовый адресhttps://api.keirouter.online
Для клиентов OpenAIhttps://api.keirouter.online/v1
Заголовок OpenAIAuthorization: Bearer sk-…
Заголовок Anthropicx-api-key: sk-…

Ключи создаются в кабинете, раздел Токены. Заведите отдельный ключ на каждый проект: так можно поставить лимит расхода и отозвать один ключ, не трогая остальные.

Ключ показывается один раз. Сохраните его сразу. Если ключ утёк — отзовите его в кабинете и создайте новый, баланс при этом не пострадает.

Эндпоинты

ПутьПротоколДля чего
/v1/chat/completionsOpenAIОсновной. Работает со всеми текстовыми моделями, включая Claude и Gemini
/v1/messagesAnthropicНативный для Claude. Нужен для Claude Code
/v1/responsesOpenAI ResponsesНужен для Codex CLI
/v1/modelsOpenAIСписок доступных вам моделей
/v1/images/generationsOpenAIГенерация изображений

Имена моделей

Модель указывается в формате разработчик/модель. Полный список — на странице Модели и цены или запросом к /v1/models.

ЗадачаМодель
Сложный код, агентыanthropic/claude-opus-5
Ежедневная разработкаanthropic/claude-sonnet-5
Быстрые ответыanthropic/claude-haiku-4.5
Универсальная OpenAIopenai/gpt-5.4
Самая дешёваяopenai/gpt-5.6-luna
Длинный контекстgoogle/gemini-3.7-flash
Генерация картинокopenai/gpt-image-2

Claude Code

Официальный CLI Anthropic работает через нативный эндпоинт /v1/messages.

# Linux и macOS
export ANTHROPIC_BASE_URL="https://api.keirouter.online"
export ANTHROPIC_AUTH_TOKEN="sk-ваш-ключ"
claude

# Windows PowerShell
$env:ANTHROPIC_BASE_URL = "https://api.keirouter.online"
$env:ANTHROPIC_AUTH_TOKEN = "sk-ваш-ключ"
claude

Чтобы настройка сохранялась между сессиями, добавьте обе строки в ~/.zshrc или ~/.bashrc. В Windows — через «Переменные среды».

Codex CLI

Агент OpenAI для терминала использует протокол Responses.

export OPENAI_BASE_URL="https://api.keirouter.online/v1"
export OPENAI_API_KEY="sk-ваш-ключ"
codex

Cursor

Settings → Models. Включите Override OpenAI Base URL и укажите адрес.

Base URL: https://api.keirouter.online/v1
API Key:  sk-ваш-ключ

Затем добавьте нужные модели вручную по именам из таблицы выше и нажмите Verify.

VS Code — Cline и Roo Code

В настройках расширения выберите провайдера OpenAI Compatible.

Provider: OpenAI Compatible
Base URL: https://api.keirouter.online/v1
API Key:  sk-ваш-ключ
Model ID: anthropic/claude-sonnet-5

Cherry Studio и ChatBox

Добавьте нового провайдера типа OpenAI. После сохранения список моделей подтянется сам.

API Host: https://api.keirouter.online
API Key:  sk-ваш-ключ

Python и Node.js

Официальные SDK работают без изменений — меняется только базовый адрес.

# Python, SDK OpenAI
from openai import OpenAI

client = OpenAI(
    base_url="https://api.keirouter.online/v1",
    api_key="sk-ваш-ключ",
)
resp = client.chat.completions.create(
    model="anthropic/claude-sonnet-5",
    messages=[{"role": "user", "content": "Привет"}],
)
print(resp.choices[0].message.content)
// Node.js, SDK Anthropic
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://api.keirouter.online",
  apiKey: "sk-ваш-ключ",
});
const msg = await client.messages.create({
  model: "anthropic/claude-opus-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Привет" }],
});

Стриминг

Передайте "stream": true — ответ придёт событиями SSE, как у оригинального API. Буферизация на нашей стороне отключена, первые токены приходят сразу.

Для длинных рассуждений рекомендуем стриминг. Запрос без стриминга, который обрабатывается дольше 100 секунд, может быть разорван сетевым уровнем.

Изображения и видео

curl https://api.keirouter.online/v1/images/generations \
  -H "Authorization: Bearer sk-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/gpt-image-2", "prompt": "рыжий кот в скафандре", "size": "1024x1024"}'

Изображения тарифицируются за штуку, видео — посекундно. Цены указаны на странице Модели и цены.

Тарификация

Списание идёт по факту: считаются входные и выходные токены конкретного запроса. Подписок, минимальных платежей и абонплаты нет, неизрасходованный баланс не сгорает.

Лимиты и ошибки

КодЧто значитЧто делать
401Ключ неверный или отозванПроверьте ключ и заголовок авторизации
402Недостаточно средствПополните баланс в кабинете
404Модель не найденаСверьте имя модели с /v1/models
429Слишком много запросовСнизьте частоту или повторите с задержкой
5xxОшибка на стороне моделиПовторите запрос; при повторении напишите в поддержку

В теле ошибки приходит request_id. Указывайте его при обращении в поддержку — @manager_keirouter — по нему видно всю цепочку запроса.

Безопасность аккаунта

Баланс — это деньги, поэтому у аккаунта есть три уровня защиты. Рекомендуем включить хотя бы первый.

Двухфакторная аутентификация

Кабинет → Настройки → раздел безопасности → «Включить 2FA». Отсканируйте QR-код любым приложением-аутентификатором (Google Authenticator, Aegis, 1Password) и введите шестизначный код. Сразу сохраните резервные коды — они понадобятся, если потеряете телефон.

Пасскеи

Вход по отпечатку пальца, Face ID или аппаратному ключу вместо пароля. Добавляются там же, в настройках безопасности. Пасскей привязан к домену keirouter.online — фишинговая копия сайта его не получит.

Гигиена ключей API

Регистрация и вход защищены проверкой Cloudflare Turnstile — перебор паролей и массовая регистрация ботами отсекаются до сервера.

Связь с нами

КудаЗачем
@manager_keirouterПоддержка: проблемы с доступом, оплатой, списаниями
@keirouterКанал: новые модели, изменения цен, статус сервиса

При обращении по конкретному запросу приложите request_id — по нему видно всю цепочку от нашего шлюза до модели.