Беркут AIPRO

API Беркут AI PRO

Полностью совместим с OpenAI Chat Completions. Меняешь base_url, подставляешь ключ — и твой код уже работает.

Base URL: https://berkut-online.ru/v1. Ключ создаётся в кабинете: API и ключи.

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

Один запрос через curl:

curl https://berkut-online.ru/v1/chat/completions \
  -H "Authorization: Bearer sk-berkut-ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "berkut-pro",
    "messages": [{"role": "user", "content": "Привет. Кто ты?"}]
  }'

Ответ в стандартном формате OpenAI: choices[0].message.content, usage, плюс блок berkut со стоимостью и остатком баланса.

Авторизация

Ключ передаётся в заголовке Authorization: Bearer sk-berkut-… или X-API-Key. Ключ привязан к аккаунту и общему балансу. В базе хранится только хеш, поэтому восстановить забытый ключ нельзя — создай новый.

ЗаголовокЗначение
AuthorizationBearer sk-berkut-…
Content-Typeapplication/json

Модели

GET /v1/models — публичный список с ценами и контекстом.

IDДля чегоВход / выход за 1MКонтекст
berkut-flashбыстрые ответы, переписка40 ₽ / 120 ₽32K
berkut-proуниверсальная, сложные вопросы120 ₽ / 360 ₽32K
berkut-coder-maxкод, рефакторинг, агенты160 ₽ / 480 ₽32K

Старые имена (gpt-4o, claude-sonnet, universal) принимаются как алиасы для совместимости.

Chat completions

POST /v1/chat/completions

ПолеТипОписание
modelstringID модели (обязательно)
messagesarrayИстория: system / user / assistant
streamboolSSE-стриминг
temperaturenumber0–2, по умолчанию 0.7
max_tokensintЛимит ответа, до 8192
toolsarrayОписание функций (формат OpenAI)

Стриминг

Укажи "stream": true — сервер отдаёт SSE-чанки data: {...} и завершает поток data: [DONE]. Последний чанк содержит finish_reason и usage.

from openai import OpenAI

client = OpenAI(base_url="https://berkut-online.ru/v1", api_key="sk-berkut-...")

stream = client.chat.completions.create(
    model="berkut-pro",
    messages=[{"role": "user", "content": "Напиши план на день"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Tool calls

Модель berkut-coder-max поддерживает вызов инструментов. Передай tools в формате OpenAI — при вызове в ответе будет finish_reason: "tool_calls" и массив tool_calls. Верни результат роли tool и повтори запрос.

Агентам в IDE (Cline, Roo) для стабильной работы нужен именно berkut-coder-max: на Flash инструменты могут не поддерживаться моделью.

Ошибки

КодКогдаЧто делать
401Неверный или отозванный ключСоздать новый в кабинете
402Не хватает балансаПополнить или оформить подписку
404Модель не найденаСверить ID с /v1/models
429Превышен лимит запросовПодождать и повторить с backoff
502Модель недоступнаПовторить позже или сменить модель
{"error": {"message": "Не хватает средств: нужно 1.42 ₽…",
           "type": "insufficient_quota", "code": "insufficient_quota"}}

SDK и примеры

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(base_url="https://berkut-online.ru/v1", api_key="sk-berkut-...")
resp = client.chat.completions.create(
    model="berkut-coder-max",
    messages=[{"role": "user", "content": "Перепиши эту функцию без багов: ..."}],
)
print(resp.choices[0].message.content)
print(resp.usage.total_tokens)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://berkut-online.ru/v1",
  apiKey: process.env.BERKUT_API_KEY,
});

const r = await client.chat.completions.create({
  model: "berkut-pro",
  messages: [{ role: "user", content: "Сравни REST и gRPC" }],
});
console.log(r.choices[0].message.content);

curl со стримингом

curl -N https://berkut-online.ru/v1/chat/completions \
  -H "Authorization: Bearer $BERKUT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"berkut-flash","stream":true,
       "messages":[{"role":"user","content":"Считай до 5"}]}'

IDE и агенты

Cline / Roo Code

  1. Provider: OpenAI Compatible
  2. Base URL: https://berkut-online.ru/v1
  3. API Key: ключ из кабинета
  4. Model: berkut-coder-max

Continue

{
  "models": [{
    "title": "Беркут Coder Max",
    "provider": "openai",
    "model": "berkut-coder-max",
    "apiBase": "https://berkut-online.ru/v1",
    "apiKey": "sk-berkut-..."
  }]
}

OpenCode

{
  "provider": {
    "berkut": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://berkut-online.ru/v1",
        "apiKey": "sk-berkut-..."
      },
      "models": { "berkut-coder-max": {} }
    }
  }
}

Расширение для VS Code можно скачать в кабинете: Приложения.

Лимиты и оплата

Баланс и расходы: кабинет → Расходы. Вопросы: [email protected].