Как подключить GPT-5, Claude и Gemini из России в одном API: рублями, без VPN
Если вы пишете продукт на больших языковых моделях из России, набор проблем вы знаете наизусть. OpenAI и Anthropic не принимают российские карты. Запросы из РФ режутся по гео. А когда моделей в проекте становится больше одной, на руках оказывается зоопарк ключей — отдельный для OpenAI, отдельный для Anthropic, отдельный для Google, каждый со своим форматом и биллингом в долларах.
Обходные пути — VPN, иностранная карта, оплата через знакомых за рубежом — терпимы для пет-проекта. Для продакшена, где нужен стабильный доступ, предсказуемый счёт и закрывающие документы, они не годятся: VPN отваливается, карта живёт до первой проверки, аккаунт улетает в блок — и сервис встаёт.
Дальше — как закрыть это одним endpoint’ом, с реальным кодом. Без маркетинга: где есть оговорки — пишу оговорки.
Идея: один OpenAI-совместимый шлюз
apiglue — это шлюз с единым OpenAI-совместимым API, за которым прячутся десятки провайдеров. Вы обращаетесь к домену в российской зоне (api.apiglue.ru), а он уже ходит к OpenAI, Anthropic, Google и другим. Для вашего кода это выглядит как обычный OpenAI API:
- без VPN и прокси — запрос идёт на российский домен, дальше всё происходит на стороне шлюза;
- оплата рублёвой картой, баланс в рублях, чек на юрлицо;
- один ключ
ag_…на все модели — GPT-5, Claude, Gemini и ещё 250+ моделей в одном формате; - переключение модели одной строкой — меняете поле
model, остальной код не трогаете.
Если вы уже используете официальный OpenAI SDK, переезд — это две правки: меняете base_url на наш и подставляете ключ ag_…. Всё.
Шаг 1. Получаете ключ
Регистрируетесь в кабинете на app.apiglue.ru, пополняете баланс рублёвой картой и создаёте API-ключ — он начинается с ag_. Этот ключ работает для всех моделей сразу, отдельные ключи провайдеров заводить не нужно.
Шаг 2. Первый запрос на Python
Ставите официальный клиент OpenAI и меняете в нём ровно две вещи — адрес и ключ:
from openai import OpenAI
client = OpenAI(
base_url="https://api.apiglue.ru/v1",
api_key="ag_ваш_ключ",
)
resp = client.chat.completions.create(
model="gpt-5",
messages=[
{"role": "user", "content": "Объясни, что такое RAG, в двух предложениях."},
],
)
print(resp.choices[0].message.content)
Это обычный вызов OpenAI — те же messages, те же choices. Никакой специфики шлюза в коде нет, поэтому любые ваши существующие наработки на OpenAI SDK продолжают работать.
Шаг 3. Переключаете модель одной строкой
Самое полезное — единый формат. Чтобы сходить в Claude вместо GPT-5, меняете только model:
resp = client.chat.completions.create(
model="claude-sonnet-4",
messages=[
{"role": "user", "content": "Перепиши это письмо вежливее: ..."},
],
)
Так же подключаются Gemini и остальные модели. Точные идентификаторы (gpt-5, claude-sonnet-4, модели Gemini и др.) видны в кабинете в разделе «Модели» — список постоянно расширяется. Логика остаётся одна: выбираете задачу — подставляете подходящую модель, код вокруг не переписываете.
Это снимает главную боль зоопарка: вместо трёх SDK с разными форматами ответов у вас один клиент, один ключ и один баланс. А ещё это удобно для тестов — прогнать один и тот же промпт через GPT-5, Claude и Gemini и сравнить ответы можно, меняя единственное поле.
На Node.js — то же самое
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.apiglue.ru/v1",
apiKey: process.env.APIGLUE_KEY, // ag_…
});
const resp = await client.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "Привет!" }],
});
console.log(resp.choices[0].message.content);
Стриминг, функции (tool calling), эмбеддинги — всё в стандартном OpenAI-формате, потому что шлюз отдаёт ответы именно в нём. Если вам хочется просто проверить ключ из терминала, хватит curl:
curl https://api.apiglue.ru/v1/chat/completions \
-H "Authorization: Bearer ag_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5",
"messages": [{"role": "user", "content": "ping"}]
}'
Что с оплатой и документами
Баланс пополняется рублёвой картой, расход списывается в рублях по факту использования — за токены, как у провайдера напрямую, с понятной наценкой за конвертацию и доступ. Для бизнеса это и есть главное отличие от схем с зарубежными картами: оплата проходит штатно, а на потраченное есть закрывающие документы.
Честные оговорки
- Что работает сейчас: западные модели — OpenAI (GPT-5 и др.), Anthropic Claude, Google Gemini и ещё десятки провайдеров в едином формате.
- Российские модели (YandexGPT, GigaChat) — на подключении; следите за анонсами в кабинете и этом блоге.
- Шлюз — это прослойка: латентность складывается из времени самого провайдера плюс небольшой overhead на маршрутизацию. Для подавляющего большинства сценариев он незаметен, но если вы гоняете низколатентный realtime — закладывайте это в тесты.
Частые вопросы
Нужен ли VPN или прокси? Нет. Вы обращаетесь к домену в российской зоне, а к моделям OpenAI, Anthropic и Google ходит уже сам шлюз. На вашей стороне — обычный HTTPS-запрос на api.apiglue.ru.
Придётся переписывать код? Если вы на OpenAI SDK — нет. Меняете base_url и ключ, остальное остаётся как есть. Нужную модель указываете в поле model.
Какие модели доступны? OpenAI (включая GPT-5), Anthropic Claude, Google Gemini и ещё несколько десятков провайдеров — суммарно больше 250 моделей в одном формате. Российские (YandexGPT, GigaChat) — на подключении.
Как оплачивать из России? Рублёвой картой, баланс в рублях, расход списывается по факту. Для юрлица есть закрывающие документы — это и отличает шлюз от схем с зарубежными картами.
Итог
Доступ к GPT-5, Claude и Gemini из России — это не обязательно VPN и зарубежная карта. Один OpenAI-совместимый endpoint, один ключ ag_…, рублёвый баланс — и существующий код на OpenAI SDK работает после двух правок. А переключение между моделями превращается в смену одной строки.
Завести ключ и проверить на своём промпте можно за пару минут — зарегистрируйтесь в кабинете и поменяйте base_url.