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

Подключите OpenAI, Anthropic и Google через единый шлюз. Меняете только base URL и ключ.

Введение

AI Proxy — единый API-шлюз к зарубежным AI-провайдерам (OpenAI, Anthropic, Google) для разработчиков из России. Мы держим зарубежный egress и принимаем оплату российскими картами в рублях.

Протокол полностью совместим с оригинальными провайдерами: в своём коде вы меняете только base URL и API-ключ, остальной код остаётся прежним. Списания происходят по фактическим токенам.

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

Три шага, чтобы сделать первый запрос:

  1. Войдите в личный кабинет и создайте API-ключ в разделе «API-ключи». Ключ показывается один раз — сохраните его.
  2. Пополните баланс в рублях: списания идут с предоплаченного баланса по фактическому расходу токенов.
  3. Укажите base URL нужного провайдера и свой ключ в SDK или curl — и отправьте первый запрос.

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

from openai import OpenAI

client = OpenAI(
    base_url="https://api.ai-proxy.xn--d1acaxq.xn--p1ai/openai/v1",
    api_key="sk-aip-ВАШ_КЛЮЧ",
)

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

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

AI Proxy выдаёт вам персональный ключ (sk-aip-…) в кабинете — это ваш ключ доступа, а не ключ провайдера. Указывайте его в SDK там, где обычно передаётся ключ провайдера; настоящие ключи OpenAI, Anthropic и Google хранятся у нас и подставляются автоматически — вам они не нужны. Способ передачи ключа — как у выбранного провайдера:

  • Заголовок Authorization: Bearer <ключ> — для OpenAI SDK.
  • Заголовок x-api-key: <ключ> — для Anthropic SDK.
  • Query-параметр ?key=<ключ> — для Google (Gemini) API.

Храните ключ в секрете. Скомпрометированный ключ можно отозвать в кабинете и создать новый.

Базовые URL

Каждому провайдеру соответствует свой префикс на нашем домене:

ПровайдерBase URL
OpenAIhttps://api.ai-proxy.xn--d1acaxq.xn--p1ai/openaiДля OpenAI SDK добавляйте /v1.
Anthropichttps://api.ai-proxy.xn--d1acaxq.xn--p1ai/anthropicEndpoint сообщений: /anthropic/v1/messages.
Googlehttps://api.ai-proxy.xn--d1acaxq.xn--p1ai/googleФормат Gemini: /google/v1beta/models/{model}:generateContent.

Примеры

Готовые примеры для каждого провайдера. Подставьте свой ключ.

OpenAI

from openai import OpenAI

client = OpenAI(
    base_url="https://api.ai-proxy.xn--d1acaxq.xn--p1ai/openai/v1",
    api_key="sk-aip-ВАШ_КЛЮЧ",
)

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

Anthropic

from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.ai-proxy.xn--d1acaxq.xn--p1ai/anthropic",
    api_key="sk-aip-ВАШ_КЛЮЧ",
)

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

Google (Gemini)

import requests

resp = requests.post(
    "https://api.ai-proxy.xn--d1acaxq.xn--p1ai/google/v1beta/models/gemini-1.5-flash:generateContent",
    params={"key": "sk-aip-ВАШ_КЛЮЧ"},
    json={"contents": [{"parts": [{"text": "Hello!"}]}]},
)
data = resp.json()
print(data["candidates"][0]["content"]["parts"][0]["text"])

Стриминг

Передайте stream: true, чтобы получать ответ по мере генерации (Server-Sent Events).

stream = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True,
    stream_options={"include_usage": True},
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")
Для точного учёта токенов при стриминге OpenAI добавляйте stream_options: {include_usage: true} — иначе финальная статистика usage может не прийти.

Тарификация

Стоимость запроса = цена провайдера + 10%. Списание идёт с предоплаченного баланса в рублях по фактическому числу токенов (ввод + вывод).

Актуальные цены по каждой модели, курс USD/RUB и размер наценки указаны в каталоге.

Открыть каталог и цены →

Ошибки

API возвращает стандартные HTTP-коды. Основные ошибки:

КодКогдаЧто делать
401Неверный или отозванный API-ключ.Проверьте ключ или создайте новый в кабинете.
402Недостаточно средств на балансе.Пополните баланс в рублях в личном кабинете.
400Неизвестная модель или некорректный запрос.Сверьте slug модели с каталогом и формат тела запроса.

FAQ

Нужен ли VPN?
Нет. Мы держим зарубежный egress — запросы идут на наш российский домен, а мы проксируем их к провайдеру.
Можно ли использовать официальные SDK?
Да. Меняете только base URL и ключ в конфигурации клиента — остальной код SDK работает без изменений.
В какой валюте списания?
Баланс и списания — в рублях. Цена привязана к цене провайдера в долларах и текущему курсу USD/RUB плюс наценка.
Как отозвать ключ?
В разделе «API-ключи» личного кабинета нажмите «Отозвать». Действие необратимо; создайте новый ключ при необходимости.