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

В этом разделе описано, как начать работу с сервисом: получить ключ, проверить его и отправить первый запрос.

Получите ключ

  • Зарегистрируйтесь и подтвердите 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)  # стоимость запроса в рублях

Что дальше