Быстрый старт
В этом разделе описано, как начать работу с сервисом: получить ключ, проверить его и отправить первый запрос.
Получите ключ
- Зарегистрируйтесь и подтвердите email.
- В разделе «Ключи» личного кабинета создайте ключ. Он начинается с
sk-и показывается один раз, поэтому сразу сохраните его. - Если денег на балансе не хватает, пополните баланс.
Ключ даёт доступ к вашему балансу. Не публикуйте его и не храните в репозитории — держите в переменной окружения:
export INFERGATE_API_KEY="sk-..."Базовый адрес
Все запросы идут на один адрес. Пути и формат запросов те же, что у API OpenAI. Для кода под SDK Anthropic есть совместимый эндпоинт Anthropic Messages, для Cursor — отдельный эндпоинт.
https://infergate.ru/api/v1Проверьте ключ
Запросите список моделей — это бесплатно:
curl https://infergate.ru/api/v1/models \
-H "Authorization: Bearer $INFERGATE_API_KEY"В ответ придёт JSON с полем "object": "list" и моделями в data. Код 401 означает, что ключ не передан или неверен.
Первый запрос
curl https://infergate.ru/api/v1/chat/completions \
-H "Authorization: Bearer $INFERGATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [{"role": "user", "content": "Привет! Кто ты?"}]
}'Текст ответа — в choices[0].message.content. В usage — сколько токенов ушло и сколько стоил запрос: cost_rub — сумма в рублях, списанная с баланса (подробнее о полях). Тот же запрос виден в разделе «Запросы» личного кабинета.
Если пришёл 402 с кодом insufficient_balance, на балансе не хватает денег или исчерпан лимит расхода ключа:
{
"error": {
"message": "Insufficient balance or key limit to serve this request.",
"type": "insufficient_quota",
"code": "insufficient_balance"
}
}SDK OpenAI
Клиенты OpenAI для Python, TypeScript, Go и других языков работают без изменений — укажите базовый адрес и ключ:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://infergate.ru/api/v1",
api_key=os.environ["INFERGATE_API_KEY"],
)
r = client.chat.completions.create(
model="anthropic/claude-sonnet-4.6",
messages=[{"role": "user", "content": "Кратко: что такое RAG?"}],
)
print(r.choices[0].message.content)
print(r.usage.cost_rub) # стоимость запроса в рубляхЧто дальше
- Выберите модель в каталоге или получите список через API.
- Включите стриминг, чтобы показывать ответ по мере генерации.
- Подключите Claude Code, Codex CLI, Hermes или другого агента.
- Посмотрите, как устроены цены и что означают ошибки.