RuRout®
Меню
Модели и ценыРазработчикамИнтеграцииДокументация
Личный кабинет

RUROUT API

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

Production base URL: https://rurout.ru/v1. Зарегистрируйтесь, создайте именованный ключ группы RuRout в кабинете и сохраните секрет при создании. Для другой группы выберите точный ID из списка доступных ей моделей.

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

На сервере задайте RUROUT_API_KEY и выполните запрос. Это платный запрос по тарифу выбранной модели; результат и стоимость появятся в разделе «Использование».

curl https://rurout.ru/v1/chat/completions \
  -H "Authorization: Bearer $RUROUT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemini-2.5-flash-lite","messages":[{"role":"user","content":"Привет!"}],"max_tokens":16}'

Авторизация

Передавайте ключ в Authorization: Bearer. На /v1beta также принимается x-goog-api-key, но для ключей группы RuRout проверены OpenAI-совместимые endpoints ниже; native Gemini требует группы с Gemini-аккаунтами. Не помещайте ключ в query string или публичный frontend-код.

Модели

GET /v1/models возвращает только модели, разрешённые группе конкретного ключа. Каталог может отличаться у разных ключей.

Стандартные SDK

Серверный Python: pip install openai==2.6.1

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["RUROUT_API_KEY"],
    base_url="https://rurout.ru/v1",
)

response = client.chat.completions.create(
    model="gemini-2.5-flash-lite",  # для ключа группы RuRout
    messages=[{"role": "user", "content": "Привет!"}],
    max_tokens=16,
)
print(response.choices[0].message.content)

Серверный JavaScript (Node.js): npm install openai@6.25.0

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.RUROUT_API_KEY,
  baseURL: "https://rurout.ru/v1",
});
const response = await client.chat.completions.create({
  model: "gemini-2.5-flash-lite", // ключ группы RuRout
  messages: [{ role: "user", content: "Привет!" }],
  max_tokens: 16,
});
console.log(response.choices[0].message.content);

Версии и работу этих SDK с RuRout проверяйте перед использованием в вашем приложении; ключ храните в серверном окружении.

Streaming и tools

Для gemini-2.5-flash-lite в группе RuRout проверены POST /v1/chat/completions, POST /v1/responses и POST /v1/messages, включая Chat Completions с stream: true и function tools. Читайте SSE до data: [DONE]. После начала потока HTTP-статус уже нельзя заменить, поэтому терминальная ошибка может прийти событием потока.

Метаданные ключа

GET https://rurout.ru/v1/sub2api/billing
Authorization: Bearer $RUROUT_API_KEY

Ответ включает key_name, группу и эффективный тарифный множитель. Endpoint доступен действующему ключу даже при недостаточном балансе.

OpenCode

OpenCode 2 подключается без плагина: выполните curl -fsSL https://rurout.ru/install.sh | sh -s -- --cli opencode2 в каталоге проекта. Плагин проверен изолированно (загрузка, синхронизация каталога, честная 401). Детали — на странице Интеграции.

Ошибки и повторы

400 Некорректный запрос. Исправьте параметры.

401 Ключ отсутствует или недействителен.

403 Нет доступа либо недостаточно средств на балансе.

404 Модель не найдена или недоступна ключу. Проверьте GET /v1/models.

429 Превышен лимит. Учитывайте Retry-After.

5xx Временная ошибка. Сохраните ID запроса и обратитесь в поддержку.

X-Request-ID связывает ответ с HTTP-логом. X-Client-Request-ID связывает оплаченный запрос со строкой расходов: в кабинете он показан как client:<ID>. Передайте любой из этих ID в поддержку. Не повторяйте автоматически платный запрос после неопределённого результата: предыдущая генерация могла выполниться и быть учтена.