Содержание статьи+
OpenAI-совместимый API — это интерфейс, который повторяет формат запросов и ответов OpenAI. Вы меняете base_url и ключ, а официальный SDK, Cursor или n8n продолжают работать. Ниже — что именно считается совместимостью, как настроить популярные инструменты и где начинаются ограничения.
Что значит «совместимый»
Совместимость означает одинаковые пути, JSON-поля и коды ошибок. Минимальный набор — POST /v1/chat/completions, GET /v1/models и потоковая передача через Server-Sent Events. Если инструмент умеет менять base URL, он обычно работает без плагинов.
POST /v1/chat/completions— чат и генерация текста.POST /v1/embeddings— векторы для RAG и поиска.POST /v1/images/generations— изображения.POST /v1/audio/transcriptions— расшифровка аудио.POST /v1/responses— Responses API для новых агентов.POST /v1/messages— Anthropic-формат для Claude Code.
CheApi принимает оба диалекта: OpenAI на https://cheapi.ru/v1 и Anthropic на https://cheapi.ru. Один ключ работает в обоих случаях, баланс общий.
Cursor: base URL и ключ
В Cursor откройте Settings → Models → OpenAI API. Включите Override Base URL и укажите https://cheapi.ru/v1. Ключ — che_sk_... из кабинета. Модели добавляются вручную по ID из каталога, например gpt-6.1-sol или claude-sonnet-5-5.
Некоторые версии Cursor склеивают адрес и получают //v1. Если запрос возвращает 404, уберите слэш в конце base URL.
n8n: OpenAI-нода с другим адресом
В n8n создайте credential типа OpenAI. В поле Base URL укажите https://cheapi.ru/v1, в API Key — ключ CheApi. Нода Chat Model и HTTP Request будут работать с моделями из каталога. Для streaming в n8n используйте HTTP Request с параметром stream: true и обработкой SSE.
Python и Node.js
from openai import OpenAI
client = OpenAI(
api_key="che_sk_ваш_ключ",
base_url="https://cheapi.ru/v1",
)
response = client.chat.completions.create(
model="gpt-6.1-sol",
messages=[{"role": "user", "content": "Верни JSON с полями name и score"}],
)
print(response.choices[0].message.content)В Node.js замените baseURL в конструкторе OpenAI. Остальной код, включая стриминг, tools и vision, остаётся прежним, если модель поддерживает конкретную функцию. Проверяйте список возможностей на странице модели.
Чек-лист миграции
Таблица прокручивается по горизонтали →
| Проверка | Что сделать | Риск |
|---|---|---|
| Base URL | Добавить /v1 для OpenAI-клиентов, без /v1 для Anthropic | 404 |
| Ключ | Хранить в переменной окружения, не в коде | Утечка и расход баланса |
| Модель | Заменить ID на актуальный из каталога | 404 или неожиданное качество |
| Стриминг | Проверить обработку data: [DONE] | Зависший UI |
| Ошибки | Обработать 401, 402, 429 и 5xx | Молчаливые потери запросов |
| Логи | Не писать промпты и ключи в открытые логи | Утечка данных |
CheApi
5 млн токенов, ключ сразу, OpenAI- и Anthropic-совместимые эндпоинты. Если что-то не заводится, поддержка поможет с конфигом.
Где совместимость заканчивается
- Не все модели поддерживают tools, vision и JSON mode. Проверяйте карточку модели.
- Провайдеры по-разному считают reasoning-токены и кеш.
- Некоторые поля OpenAI могут игнорироваться, если upstream их не поддерживает.
- Формат Anthropic и OpenAI не взаимозаменяем:
/v1/messagesи/v1/chat/completions— разные схемы. - Лимиты частоты и размер контекста зависят от модели и тарифа.
Частые вопросы
Нужно ли менять код, если я использую официальный SDK OpenAI?+
base_url и ключ. Если вы используете нестандартные поля или ассистентский API, проверьте поддержку конкретного метода.Работает ли streaming?+
data: [DONE] и обрабатывать обрыв соединения.Можно ли использовать один ключ в Cursor, n8n и Claude Code?+
Что делать, если инструмент не поддерживает смену base URL?+
Попробовать
5 млн токенов на тесты
Зарегистрируйтесь, получите ключ и проверьте модели на своих задачах. Карта не нужна.