OpenAI-совместимый

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

OpenAI-совместимый API для доступа к 80+ языковым моделям. Оплата в рублях, без VPN.

0+
моделей
0
интеграций
0
разделов

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

Clavis.to — единый OpenAI-совместимый API для 80+ нейросетей. Для начала нужен только API-ключ.

1

Создайте аккаунт

Зарегистрируйтесь на clavis.to

2

Пополните баланс

Оплата в рублях, от 100₽

3

Создайте API-ключ

Dashboard → API-ключи

4

Отправьте запрос

Любой OpenAI SDK

Первый запрос

bash
curl https://api.clavis.to/v1/chat/completions \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Python (OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.clavis.to/v1"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

JavaScript / TypeScript (OpenAI SDK)

javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-your-api-key",
  baseURL: "https://api.clavis.to/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);

Аутентификация

Все запросы к API требуют заголовок Authorization с API-ключом. Ключи создаются в Dashboard → API-ключи.

http
Authorization: Bearer sk-your-api-key

Для совместимости с Anthropic SDK также поддерживается заголовок x-api-key.

http
x-api-key: sk-your-api-key

Base URL

https://api.clavis.to/v1

Замените base_url в любом OpenAI SDK — никаких других изменений не нужно.

Claude Code

Официальный CLI Anthropic для разработки с AI. Работает через Anthropic Messages API, совместимый с Clavis.to.

1. Установите Node.js

powershell (admin)
# Через winget (встроен в Windows 10/11)
winget install OpenJS.NodeJS.LTS

# Проверка установки
node --version
npm --version
Также можно скачать установщик .msi с nodejs.org → LTS версия.

2. Установите Claude Code CLI

powershell (admin)
npm install -g @anthropic-ai/claude-code

# Проверка
claude --version

3. Создайте API-ключ

Перейдите в Dashboard → API-ключи, нажмите «Создать», скопируйте ключ (показывается один раз).

4. Настройте конфигурацию

Файл конфигурации: %USERPROFILE%\.claude\settings.json

powershell
# Создайте папку и файл
mkdir %USERPROFILE%\.claude
notepad %USERPROFILE%\.claude\settings.json
json
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-ваш-апи-ключ",
    "ANTHROPIC_BASE_URL": "https://api.clavis.to",
    "API_TIMEOUT_MS": "600000"
  }
}
Замените sk-ваш-апи-ключ на ключ из вашего Dashboard → API-ключи.

5. Запустите Claude Code

cmd
cd ваш-проект
claude

OpenAI CodeX

Корпоративный AI-помощник для программирования от OpenAI. Поддерживает агентный режим и поиск в сети.

1. Установите CodeX CLI

powershell (admin)
npm install -g @openai/codex@latest
codex --version

2. Создайте файлы конфигурации

Создайте папку %USERPROFILE%\.codex\

config.toml

toml
model_provider = "clavis"
model = "gpt-4.1"
model_reasoning_effort = "high"
network_access = "enabled"
disable_response_storage = true

[model_providers.clavis]
name = "clavis"
base_url = "https://api.clavis.to/v1"
wire_api = "responses"
requires_openai_auth = true

auth.json

json
{
  "OPENAI_API_KEY": "sk-ваш-апи-ключ"
}

3. Запустите CodeX

cmd
cd ваш-проект
codex

Gemini CLI

AI-помощник от Google с контекстным окном 1M токенов, агентным режимом и поиском в интернете.

1. Установите Gemini CLI

powershell
npm install -g @google/gemini-cli
gemini --version

2. Создайте конфигурацию

Создайте папку %USERPROFILE%\.gemini\

.env

env
GOOGLE_GEMINI_BASE_URL=https://api.clavis.to
GEMINI_API_KEY=sk-ваш-апи-ключ
GEMINI_MODEL=gemini-2.5-pro

settings.json

json
{
  "security": {
    "auth": { "selectedType": "gemini-api-key" }
  }
}

3. Запустите

cmd
gemini

SillyTavern

Мощная платформа для создания историй с поддержкой OpenAI и Claude (Native Anthropic).

1. Установите SillyTavern

Скачайте и установите с GitHub. Запустите start.bat (Windows) или start.sh (macOS/Linux).

2. Настройте API

Откройте браузер http://localhost:8000 → кнопка «API» → выберите «Claude» (Anthropic Native):

Claude API URLhttps://api.clavis.to/v1
API Keysk-ваш-апи-ключ
Если получаете ошибку 400 Bad Request — установите Top_P = 0 в настройках AI Response Configuration.

Cline · Roo Code · Kilo Code

AI-агенты для VS Code, которые пишут и правят код прямо в проекте. Настройка у всех трёх одинаковая — провайдер «OpenAI Compatible».

1. Установите расширение

Поставьте Cline, Roo Code или Kilo Code из маркетплейса VS Code (Extensions → поиск по названию).

2. Провайдер «OpenAI Compatible»

Откройте настройки расширения → API Provider → «OpenAI Compatible» и заполните:

Base URLhttps://api.clavis.to/v1
API Keysk-ваш-апи-ключ
Model IDclaude-sonnet-4-6

Рекомендуемые модели для кодинга

shell
claude-sonnet-4-6     // баланс цена / качество
claude-opus-4-8       // топ-качество для сложных задач
gpt-5.4               // сильный агентный кодинг
glm-4.7               // очень дёшево

Сравнить все модели по коду и цене — на странице «Рейтинг». У одной модели бывает несколько пулов (дешевле/дороже) — открой её страницу и выбери поставщика.

Агенты читают много контекста на каждый шаг. Модели Claude поддерживают prompt caching — повторный контекст тарифицируется дешевле, следи за балансом на больших проектах.

Cherry Studio

Многофункциональный десктопный AI-ассистент для Windows / macOS / Linux.

Настройка API

Откройте Cherry Studio → Настройки → Провайдеры моделей → Добавить → OpenAI:

API URLhttps://api.clavis.to
API Keysk-ваш-апи-ключ

Рекомендуемые модели

shell
claude-sonnet-4-6
gpt-4o
gemini-2.5-pro

🦞 OpenClaw

Агентный инструмент с локальным шлюзом, дашбордом и каналами. Подключается к Clavis как кастомный провайдер (Anthropic- или OpenAI-совместимый).

1. Установка

На macOS / Linux / WSL2 запустите официальный скрипт. Флаг --no-onboard пропускает мастер настройки после установки.

bash
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard

openclaw --help

2. Запуск мастера

Запустите мастер и идите по шагам до настройки модели и аутентификации.

bash
openclaw onboard

3. Кастомный провайдер

На шаге модели и аутентификации выберите Custom provider. Совместимость — Anthropic или OpenAI. Provider ID — clavis, API Key — ваш sk- токен Clavis.

Anthropic-совместимыйhttps://api.clavis.to
OpenAI-совместимыйhttps://api.clavis.to/v1
Provider IDclavis
API Keysk-ваш-апи-ключ
Modelgpt-5.5

Примеры моделей: gpt-5.5, claude-opus-4-7, gemini-2.5-pro. Актуальный список и цены — на странице «Рейтинг» / «Модели».

4. Завершение и проверка

Для первой настройки оставьте порт шлюза, режим привязки и фоновый сервис по умолчанию.

bash
openclaw doctor
openclaw status
openclaw dashboard

Если дашборд отправляет сообщение и получает ответ модели — Clavis подключён успешно.

5. Установка скриптом (non-interactive)

Для деплой-скриптов и серверов — неинтерактивный режим. Здесь OpenAI-совместимый режим, поэтому Base URL содержит /v1.

bash
export CUSTOM_API_KEY="ВАШ_CLAVIS_API_КЛЮЧ"

openclaw onboard --non-interactive \
  --mode local \
  --auth-choice custom-api-key \
  --custom-base-url "https://api.clavis.to/v1" \
  --custom-model-id "gpt-5.5" \
  --custom-provider-id "clavis" \
  --custom-compatibility openai \
  --secret-input-mode ref \
  --gateway-port 18789 \
  --gateway-bind loopback

6. Проверка конфига вручную

Можно отредактировать ~/.openclaw/openclaw.json. Модель по умолчанию указывается в формате provider/model — например clavis/gpt-5.5.

json
{
  "agents": {
    "defaults": {
      "model": { "primary": "clavis/gpt-5.5" }
    }
  },
  "models": {
    "providers": {
      "clavis": {
        "baseUrl": "https://api.clavis.to/v1",
        "apiKey": "${CUSTOM_API_KEY}",
        "api": "openai-completions",
        "models": [
          { "id": "gpt-5.5", "name": "gpt-5.5" }
        ]
      }
    }
  }
}
Частые причины ошибок: неверный Base URL (Anthropic — без /v1, OpenAI — с /v1); модель по умолчанию написана как clavis/модель, а не просто имя; недостаточно баланса. Каналы (WhatsApp/Telegram) — отдельная настройка, к провайдеру моделей не относятся.

🪽 Hermes

Агентный ассистент. Если в вашей версии есть нативные провайдеры (Anthropic / Gemini / OpenAI Responses) — выбирайте их, это сохраняет семантику вызова инструментов. Если доступен только Custom OpenAI — используйте OpenAI Compatible.

Кастомный провайдер

Добавьте Clavis в настройках моделей/провайдеров Hermes:

Base URLhttps://api.clavis.to
OpenAI Compatible URLhttps://api.clavis.to/v1
API Keysk-ваш-апи-ключ
Modelgpt-5.5
Для агентных задач берите быстрые модели без скрытого «думанья» (gpt-5.5, claude-sonnet-4-6) — они быстрее выдают первый токен и не тратят токены на скрытый reasoning.

📱 Мобильные и десктоп-клиенты

Готовые приложения-ассистенты с поддержкой кастомного OpenAI-совместимого провайдера. Везде укажите URL и ваш ключ Clavis.

RikkaHUB — Android

Настройки → API Connections → добавьте «Custom OpenAI Compatible Provider»:

API URLhttps://api.clavis.to/v1
API Keysk-ваш-апи-ключ

Модели: claude-opus-4-7, gpt-5.5, gemini-3.5-flash.

Tavo — Android / iOS

В настройках подключения укажите:

API URLhttps://api.clavis.to/v1
API Keysk-ваш-апи-ключ

OMate — Android / iOS

Настройки → «API Configuration» / «Custom API»:

API URLhttps://api.clavis.to/v1
API Keysk-ваш-апи-ключ

Chatbox — Windows / macOS / Linux / iOS / Android

Настройки → AI Model Settings → провайдер «OpenAI API». Внимание: здесь нужен API Host (без /v1) — Chatbox добавит /v1 сам:

API Hosthttps://api.clavis.to
API Keysk-ваш-апи-ключ
Это сторонние приложения — скачивайте их только с официальных сайтов/сторов. Clavis отвечает только за API-доступ; в самих приложениях ничего, кроме URL и ключа, менять не нужно.

Chat Completions

POST/v1/chat/completions

Создать завершение чата (OpenAI-совместимо)

Параметры запроса

model*stringID модели из /v1/models
messages*arrayМассив сообщений [{role, content}]
streambooleanВключить SSE-стриминг (по умолчанию false)
max_tokensintegerМаксимум токенов в ответе
temperaturenumber0.0 – 2.0

Пример

bash
curl https://api.clavis.to/v1/chat/completions \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "stream": true,
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Explain async/await in Python"}
    ]
  }'

Models

GET/v1/models

Список всех активных моделей (без авторизации)

GET/v1/models/:model_id

Информация о конкретной модели

Пример ответа

json
{
  "object": "list",
  "data": [
    {
      "id": "gpt-4o",
      "owned_by": "OpenAI",
      "billing_type": "per_token",
      "pricing": {
        "input_per_1m_rub": 43.75,
        "output_per_1m_rub": 131.25
      },
      "context_window": 128000,
      "endpoints": ["openai"],
      "is_active": true
    }
  ]
}

Anthropic Messages API

POST/v1/messages

Anthropic-совместимый эндпоинт (для Claude SDK и Claude Code)

Поддерживает заголовок x-api-key (формат Anthropic SDK). Внутри конвертирует запрос в формат OpenAI и обратно.

Пример

python
import anthropic

client = anthropic.Anthropic(
    api_key="sk-ваш-апи-ключ",
    base_url="https://api.clavis.to",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)
print(message.content[0].text)

Embeddings

POST/v1/embeddings

Создать текстовые эмбеддинги

Пример

bash
curl https://api.clavis.to/v1/embeddings \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "The quick brown fox"
  }'

Image Generation

POST/v1/images/generations

Генерация изображений (DALL·E, Flux)

Пример

bash
curl https://api.clavis.to/v1/images/generations \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dall-e-3",
    "prompt": "A sunset over mountains",
    "n": 1,
    "size": "1024x1024"
  }'

Биллинг и тарификация

Стоимость списывается после завершения каждого запроса на основе реально использованных токенов.

Per-token

Оплата за входные и выходные токены

Per-request

Фиксированная цена за запрос (изображения, TTS)

Рубли

Все цены в рублях, пополнение через Russian payment methods

Актуальные цены на все модели доступны на странице /models.

Ошибки

Все ошибки возвращаются в формате OpenAI: { "error": { "message", "type", "code", "status" } }. Код (code) — стабильный машиночитаемый идентификатор.

json
{
  "error": {
    "message": "Your clavis balance is too low — top up.",
    "type": "payment_error",
    "code": "insufficient_balance",
    "status": 402
  }
}
КодHTTPЗначение
invalid_request400Неверный запрос или параметры.
system_message_placement400Системный промпт отправлен как сообщение с ролью "system", а пул требует его в верхнеуровневом поле "system". Перенесите системный текст в поле "system" или используйте эндпоинт /v1/messages.
context_length_exceeded400Промпт + max_tokens превышают контекстное окно модели. Сократите ввод или max_tokens.
content_filter400Запрос отклонён фильтром безопасности модели.
authentication_error401Отсутствует или неверный API-ключ.
insufficient_balance402Недостаточно средств на балансе clavis — пополните.
access_denied403Ключ не имеет доступа к этой модели (allowlist/ограничения ключа).
not_found404Неизвестный id модели или эндпоинт.
rate_limit_exceeded429Слишком много запросов (лимит ключа или модель троттлит). Снизьте частоту и повторите.
model_overloaded503Модель временно перегружена — повторите через несколько секунд.
model_unavailable503Модель временно недоступна — повторите позже или выберите другую.
upstream_timeout504Модель слишком долго отвечала — повторите, желательно с более коротким промптом.

Разбор ошибки 400

400 обычно означает, что запрос дошёл до API, но не прошёл валидацию: схема, поля, имя модели, параметры или определения инструментов (tools). Начните с минимального запроса, затем по одному добавляйте tools, изображения, стриминг и продвинутые параметры.

Быстрая диагностика

  • invalid_request — неверная форма запроса. Проверьте URL, заголовки, JSON, имя модели, названия полей и диапазоны параметров.
  • authentication_error — неверный ключ или заголовок авторизации. Claude-эндпоинт (/v1/messages) использует x-api-key, OpenAI — Authorization: Bearer.
  • not_found — модель недоступна или имя с опечаткой. Скопируйте точный id со страницы /models.
  • Поля из другого API. Не смешивайте схемы Chat Completions, Anthropic Messages, Responses и Gemini в одном запросе.
  • context_length_exceeded — контекст слишком большой. Сократите историю/файлы или начните новую сессию.
  • content_filter — блокировка фильтром безопасности. См. раздел «Фильтры безопасности» ниже.
  • Неверная схема инструмента. Имена функций должны быть валидны, parameters — корректным JSON Schema, а каждое поле из required — присутствовать в properties.

Вызов инструментов (tools / function calling)

Вызов инструментов полностью поддерживается для моделей Claude — и через /v1/messages (нативный формат Anthropic), и через /v1/chat/completions (формат OpenAI). Работает как с базовым id (например claude-opus-4-5-20251101), так и с явным выбором пула через суффикс (…@pool); стриминг тоже поддержан.

Не смешивайте форматы инструментов между схемами. Для Anthropic Messages используйте { "name", "input_schema" }; для Chat Completions — { "type":"function", "function": { … } }. Отправка одного формата в чужую схему — частая причина 400.

Claude / Anthropic

  • Передавайте anthropic-version: 2023-06-01 и max_tokens — без них Claude часто отвечает 400.
  • В messages кладите только ходы user/assistant. Системную инструкцию — в верхнеуровневое поле system.
  • Блок tool_result должен ссылаться на id предыдущего tool_use; неверный порядок или отсутствие id — ошибка валидации.
  • Мультимодальные блоки должны следовать нативной структуре Claude (source, media_type, base64).
  • При отладке убирайте необязательные сэмплинг-параметры (top_p, лишние stop_sequences).

OpenAI / Gemini

  • Responses API использует input; Chat Completions — messages. Не путайте их.
  • Мультимодальные поля зависят от эндпоинта — не отправляйте file_url/base64 туда, где они не поддержаны.
  • Для structured output схема должна быть парсимой, а промпт — не противоречить ей.
  • При 400 уберите продвинутые опциональные поля (stream_options, modalities) и повторите минимальный запрос.

Фильтры безопасности и ролплей

Фильтрация безопасности — это официальный контроль контента со стороны провайдера модели, а не ручная блокировка с нашей стороны. Ролплей, художественный текст и продолжение длинного контекста чаще вызывают срабатывание политик из-за чувствительных сцен, персонажей-несовершеннолетних, принуждения, насилия, явного сексуального контента, незаконных деталей, jailbreak-формулировок или накопленного контекста.

Что вы можете увидеть

  • Прямой отказ — модель пишет, что не может помочь, или уводит в безопасную сторону.
  • Пустой ответ — некоторые клиенты показывают пустое сообщение; это всё ещё может быть фильтр.
  • Оборванный вывод — стриминг останавливается на середине без нормального завершения.
  • Блокировка кандидатов — Gemini может вернуть finishReason: SAFETY или blockReason.
  • Коды ошибок — content_filter / policy / safety / blocked.

Почему отфильтрованные запросы всё равно тарифицируются

Модель уже обработала запрос: прочитала ввод, поняла контекст и провела классификацию безопасности — это расходует входные токены. Отказы и предупреждения тоже считаются как выходные токены, а при стриминге часть токенов уже сгенерирована. Официальные API возвращают usage за этот расход, и сервис обязан его учесть.

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

Что делать

  • Почистите карточки персонажей — уберите признаки несовершеннолетних, принуждение, отсутствие согласия, насилие и jailbreak-инструкции.
  • Переписывайте как комплаентную фантастику: взрослые персонажи, взаимное согласие, неявные формулировки, акцент на атмосфере и эмоциях.
  • Снижайте риск контекста — длинные чаты накапливают чувствительный контекст; начните новую сессию или сделайте безопасное резюме.
  • Не спамьте один и тот же заблокированный текст — это обычно вызывает ещё одно списание и ещё один отказ.
  • Смена модели — не гарантия: пороги отличаются, но официальные политики применяются всё равно, и обойти их вручную нельзя.

Этот раздел — только техническое объяснение поведения API. Фильтры, отказы и блокировки определяются официальными моделями и их политиками; за соответствие ввода и использования применимым правилам отвечает пользователь.

FAQ / Решение проблем

Оплатил, но баланс не обновился

Чаще всего это короткая задержка между вебхуком платёжной системы и зачислением. Откройте «Историю операций» в личном кабинете и проверьте статус платежа. Если списание прошло, но баланс не пополнился в течение нескольких минут — напишите в поддержку для ручной сверки.

Поддержка: support@clavis.to или Telegram @clavisto. Укажите id операции из истории платежей.

Claude Code: контекст переполнен

Выполните /clear, чтобы очистить текущий контекст и начать новый диалог. Для больших проектов делите работу на этапы, чтобы сессии не разрастались.

claude code
/clear

Токен скопирован не полностью

  • Используйте иконку копирования рядом с ключом — она копирует значение целиком.
  • Если выделяете вручную — выделите всю строку от sk- до конца.
  • Убедитесь, что нет лишних пробелов и переносов строк перед вставкой в клиент.

Не устанавливается Node.js

  • Установите Node.js 18 или новее.
  • На Windows запускайте PowerShell или CMD от имени администратора.
  • Переоткройте терминал после установки и проверьте версии.
shell
node --version
npm --version

Таймаут запроса

  • Используйте единый эндпоинт https://api.clavis.to (OpenAI-совместимый) или /v1/messages для Claude.
  • Проверьте локальный прокси, фаервол и DNS.
  • Убедитесь, что имя модели указано верно (точный id со страницы /models).
  • Для длинных генераций включайте стриминг, чтобы соединение не простаивало.

Агент не вызывает инструменты (пустые аргументы)

Вызов инструментов поддержан для Claude и через /v1/messages, и через /v1/chat/completions, с базовым id или суффиксом пула, в стриминге и без. Если аргументы приходят пустыми — почти всегда дело в формате запроса со стороны клиента: не смешивайте схемы tools разных API и не отправляйте Claude-инструменты в формате OpenAI и наоборот. Начните с минимального запроса с одним инструментом и проверьте, что приходит корректный tool_use/tool_calls с аргументами.