Быстрый старт
Базовый адрес для OpenAI-совместимых клиентов:
Для Anthropic SDK укажите базовый адрес без /v1 — SDK добавит его сам:
Ключ выдаётся после активации токена и начинается с tg_. Он показывается один раз.
Шлюз совместим с OpenAI и Anthropic SDK. Меняются только base_url и ключ.
Базовый адрес для OpenAI-совместимых клиентов:
Для Anthropic SDK укажите базовый адрес без /v1 — SDK добавит его сам:
Ключ выдаётся после активации токена и начинается с tg_. Он показывается один раз.
После оплаты вы получаете одноразовый токен act_…. Откройте страницу активации, вставьте токен и укажите e-mail, если он не был привязан заранее.
Если у вас уже есть API-ключ tg_…, вставьте его на странице активации — откроется кабинет с остатком и расходом.
Передавайте ключ одним из способов:
# OpenAI-совместимые клиенты
Authorization: Bearer tg_...
# Anthropic SDK и клиенты с x-api-key
x-api-key: tg_...
Ключ привязан к одному аккаунту покупателя и имеет собственный лимит токенов. Не публикуйте его в репозиториях и чатах.
| Метод | Путь | Назначение |
|---|---|---|
| POST | /v1/chat/completions | OpenAI Chat Completions |
| POST | /v1/responses | OpenAI Responses API |
| POST | /v1/messages | Anthropic Messages |
| GET | /v1/models | Список моделей |
| GET | /v1/models/{id} | Одна модель |
| GET | /healthz | Проверка состояния шлюза |
Установите SDK и замените base_url на адрес шлюза.
pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://kateshopik.ru/v1",
api_key="tg_...",
)
response = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Привет"}],
)
print(response.choices[0].message.content)
Тот же ключ работает в Cursor, Cline, Roo Code, Continue, Chatbox и других клиентах с настройкой OpenAI-совместимого API.
pip install anthropic
from anthropic import Anthropic
client = Anthropic(
base_url="https://kateshopik.ru",
api_key="tg_...",
)
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Привет"}],
)
print(message.content[0].text)
Если клиент не передаёт anthropic-version, добавьте заголовок anthropic-version: 2023-06-01 вручную.
response = client.responses.create(
model="gpt-6.1-sol",
input="Объясни, что такое токен, в двух предложениях.",
)
print(response.output_text)
Ответы в формате Responses поддерживаются и в потоковом режиме. Usage берётся из события response.completed.
Передайте "stream": true как обычно. Шлюз поддерживает SSE для Chat Completions, Responses и Anthropic Messages.
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Напиши короткий план"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
Лимит ключа измеряется в базовых токенах. Списание за успешный ответ:
Для моделей Claude кэшированный вход считается с коэффициентом 0.1. Для остальных моделей кэш не уменьшает списание. Вход и выход стоят одинаково.
Шлюз читает usage из ответа upstream. Если upstream вернул ошибку, токены не списываются. При исчерпании лимита следующий запрос получает 402 и не уходит наверх.
В ответах шлюза есть служебные заголовки:
| Заголовок | Значение |
|---|---|
| X-TokenGate-Tokens-Billed | Списано за этот запрос |
| X-TokenGate-Tokens-Remaining | Остаток после списания |
| X-TokenGate-Token-Limit | Текущий лимит ключа |
| X-TokenGate-Request-Id | Идентификатор запроса для поддержки |
Шлюз возвращает ошибки в формате OpenAI. Для /v1/messages — в формате Anthropic.
| Код | Когда возникает | Что делать |
|---|---|---|
| 400 | Некорректный JSON, нет модели, модель не из каталога | Проверьте тело запроса и ID модели |
| 401 | Ключ не передан или неверен | Проверьте заголовок авторизации |
| 402 | Лимит токенов исчерпан | Попросите пополнение у администратора |
| 403 | Ключ отключён, истёк или аккаунт заблокирован | Обратитесь в поддержку |
| 413 | Тело запроса больше 8 МиБ | Сократите контекст или изображения |
| 429 | Превышен лимит запросов upstream | Повторите с задержкой, смотрите Retry-After |
| 502 / 504 | Проблема соединения с upstream | Повторите позже или сообщите в поддержку |
{
"error": {
"message": "Лимит токенов исчерпан.",
"type": "insufficient_quota",
"code": "insufficient_quota"
}
}
Все модели используют общий лимит ключа. Множитель указан относительно базового токена.
| ID | Название | Множитель | Кэш |
|---|---|---|---|
| gpt-5.6-sol | GPT 5.6 Sol · OpenAI | ×4.0 | — |
| gpt-5.6-terra | GPT 5.6 Terra · OpenAI | ×1.3 | — |
| gpt-5.6-luna | GPT 5.6 Luna · OpenAI | ×0.5 | — |
| gpt-6-sol | GPT 6 Sol · OpenAI | ×3.0 | — |
| gpt-6.1-sol | GPT 6.1 Sol · OpenAI | ×3.0 | — |
| gpt-6-luna | GPT 6 Luna · OpenAI | ×0.38 | — |
| gpt-6-astra | GPT 6 Astra · OpenAI | ×10.0 | — |
| claude-sonnet-4-6 | Claude Sonnet 4.6 · Anthropic | ×2.0 | ×0.1 |
| claude-sonnet-5 | Claude Sonnet 5 · Anthropic | ×2.0 | ×0.1 |
| claude-sonnet-5-5 | Claude Sonnet 5.5 · Anthropic | ×2.0 | ×0.1 |
| claude-fable-5 | Claude Fable 5 · Anthropic | ×8.0 | ×0.1 |
| claude-fable-5-1 | Claude Fable 5.1 · Anthropic | ×8.0 | ×0.1 |
| claude-opus-4-5 | Claude Opus 4.5 · Anthropic | ×4.0 | ×0.1 |
| claude-opus-4-6 | Claude Opus 4.6 · Anthropic | ×4.0 | ×0.1 |
| claude-opus-4-7 | Claude Opus 4.7 · Anthropic | ×4.0 | ×0.1 |
| claude-opus-4-8 | Claude Opus 4.8 · Anthropic | ×4.0 | ×0.1 |
| claude-opus-5 | Claude Opus 5 · Anthropic | ×4.0 | ×0.1 |
| claude-opus-5-5 | Claude Opus 5.5 · Anthropic | ×4.0 | ×0.1 |
| codex-auto-review | Codex Auto Review · OpenAI | ×0.1 | — |
| deepseek-flash | DeepSeek Flash · DeepSeek | ×0.1 | — |
| deepseek-v4-pro | DeepSeek V4 Pro · DeepSeek | ×0.5 | — |
| deepseek-v4-flash | DeepSeek V4 Flash · DeepSeek | ×0.1 | — |
| deepseek-v4.1-flash | DeepSeek V4.1 Flash · DeepSeek | ×0.1 | — |
| grok-4.5 | Grok 4.5 · xAI | ×0.5 | — |
| grok-4.6 | Grok 4.6 · xAI | ×0.5 | — |
| grok-4.7 | Grok 4.7 · xAI | ×0.5 | — |
| glm-5.3 | GLM 5.3 · Zhipu | ×1.5 | — |
| glm-5.3-flash | GLM 5.3 Flash · Zhipu | ×0.3 | — |
| qwen3.8-max | Qwen 3.8 Max · Alibaba | ×2.5 | — |
| qwen3.8-flash | Qwen 3.8 Flash · Alibaba | ×0.7 | — |
| gemini-3.7-flash | Gemini 3.7 Flash · Google | ×2.0 | — |
| gemini-3.6-flash | Gemini 3.6 Flash · Google | ×2.0 | — |
| gemini-3.8-flash | Gemini 3.8 Flash · Google | ×2.0 | — |
| gemini-3.1-pro | Gemini 3.1 Pro · Google | ×2.0 | — |
Актуальный список также доступен через GET /v1/models с вашим ключом.