SUB&SUB · Документация
Язык
Тема

Справочник по API

SUB&SUB предоставляет мультипровайдерный релей по адресу https://api.subnsub.com/v1. OpenAI-клиенты обращаются к /v1/chat/completions; Anthropic-клиенты — к /v1/messages. Один и тот же ключ sk-cf-... маршрутизирует оба — выберите модель в теле запроса, и релей сам подберёт upstream.

Доступность сервиса

Только существующие аккаунты Сейчас доступ к API открыт только для аккаунтов, созданных до 8 июня 2026 года (пекинское время). Новые пользователи могут пользоваться общей учётной записью и SUB&SUB Tools, но не могут открыть консоль API, создать API-ключ, пополнить баланс API или вызвать relay. Мы обновим этот раздел после возобновления регистрации в API.

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

Для существующего аккаунта с доступом к API нужны три вещи:

  1. Base URL: https://api.subnsub.com/v1 (OpenAI-клиенты) или https://api.subnsub.com (Anthropic-клиенты — SDK сам добавляет /v1/messages)
  2. API-ключ: sk-cf-..., выданный в консоли
  3. Модель: одна из 16 поддерживаемых моделей – например. gpt-5.4-mini или claude-sonnet-5

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

Каждый запрос должен содержать заголовок Authorization: Bearer sk-cf-.... Ключи выдаются в консоли и хранятся в виде SHA-256-хешей — как только вы покинете экран создания, открытый текст исчезнет навсегда, поэтому сохраните его сразу.

Совет Создавайте отдельный ключ для каждой интеграции (чат-бот, плагин IDE, пакетное задание). Отзыв скомпрометированного ключа в консоли вступает в силу в течение секунд.

Эндпоинты

Стабильный публичный интерфейс описан ниже и в машиночитаемом документе OpenAPI 3.1. Не указанные здесь поля могут передаваться upstream-провайдеру, но автоматически не становятся частью гарантий совместимости SUB&SUB.

POST /v1/chat/completions

POST/v1/chat/completions

Отправьте запрос на завершение чата. Структура запроса совпадает с OpenAI Chat Completions API — OpenAI SDK работают без изменений.

ПараметрТипОписание
modelstringОдин из проверенных ID моделей.
messagesarrayИстория диалога. Каждый элемент: {role, content}, где rolesystem / user / assistant.
streambooleanЕсли true, ответ отправляется как SSE-чанки. См. Стриминг.
stream_optionsobjectНеобязательный. Релей всегда принудительно передаёт upstream {include_usage: true}, чтобы финальный чанк содержал блок с расходом токенов — переопределение не имеет эффекта.
max_tokensintegerОграничивает длину ответа. По умолчанию — максимум модели.
temperaturenumber0 – 2. Выше = больше случайности.

POST /v1/responses

POST/v1/responses

OpenAI Responses API — новая форма запроса OpenAI (client.responses.create(...)). Работает со всеми моделями каталога: gpt-* изначально, claude-* через тот же мост совместимости, что и чат/дополнения. Использование измеряется одинаково — токены ввода/вывода по уровневой ставке модели.

ПараметрТипОписание
modelstringЛюбой идентификатор модели по каталогу.
inputstring | arrayПодсказка — простая строка или список структурированных элементов, определяемый Responses API.
max_output_tokensintegerОграничивает длину ответа (обоснование + видимый результат вместе взятые).
reasoningobject{"effort": "..."} — те же пять значений, что и у reasoning_effort.
streambooleanЕсли true, передается стандартная последовательность ответов SSE: response.created, response.output_text.delta, …, response.completed.
backgroundbooleanНе поддерживается. background: true возвращает 400 unsupported_background_mode — реле обслуживает только синхронные запуски.
Обратите внимание Суффикс веб-поиска :online не влияет на эту конечную точку — суффикс удаляется, но контекст поиска не вводится (запросы извлекаются из messages, которые не передаются в ответах). Используйте /v1/chat/completions или /v1/messages для веб-поиска.

Готовый к запуску пример Responses:

curl https://api.subnsub.com/v1/responses \
  -H "Authorization: Bearer sk-cf-xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "input": "Explain exponential backoff in two sentences."
  }'

POST /v1/messages

POST/v1/messages

Нативный эндпоинт Anthropic для моделей claude-* — Anthropic SDK (anthropic-sdk-python, @anthropic-ai/sdk, claude-code) работают без изменений с этим путём. Укажите base URL https://api.subnsub.com и аутентифицируйтесь через заголовок x-api-key (форма Authorization-Bearer тоже работает, если ваш клиент её предпочитает).

ПараметрТипОписание
modelstringID модели claude-* (см. Доступные модели). Передача здесь OpenAI-модели возвращает 400 invalid_request_error.
max_tokensintegerТребуется Anthropic — ограничивает длину ответа ассистента.
messagesarrayИстория диалога в формате Anthropic: {role, content}, где roleuser / assistant.
streambooleanЕсли true, возвращает стандартную последовательность SSE-событий Anthropic: message_start, content_block_delta, message_delta, message_stop.
thinkingobjectДословно отправлено на Anthropic. Используйте {"type":"adaptive"}, если это поддерживается; Fable 5 всегда использует адаптивное мышление, даже если это поле опущено. Синтетических идентификаторов моделей -thinking нет.
cache_controlobjectПоддерживается prompt-кэширование. Токены записи в кэш тарифицируются по 1.25×, а токены чтения из кэша — по 0.10× от ставки input соответствующего тира.
Обратите внимание Запросы Claude обслуживаются напрямую официальными аккаунтами Anthropic. Используйте точные официальные идентификаторы моделей, указанные ниже.

Готовый к запуску пример Anthropic Messages:

curl https://api.subnsub.com/v1/messages \
  -H "x-api-key: sk-cf-xxxxxxxxxxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

POST /v1/messages/count_tokens

POST/v1/messages/count_tokens

Подсчитайте токены запроса в формате Anthropic перед отправкой. Используйте те же поля x-api-key, anthropic-version, model, system, messages и tools, что и для /v1/messages. Этот endpoint не тарифицируется. Суффикс :online удаляется, но результаты поиска не запрашиваются и не учитываются.

curl https://api.subnsub.com/v1/messages/count_tokens \
  -H "x-api-key: sk-cf-xxxxxxxxxxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "Count this prompt."}]
  }'

GET /v1/models

GET/v1/models

Перечислите модели, которые вы действительно можете использовать. Ретранслятор проверяет работоспособность обоих вышестоящих семейств и возвращает 16 проверенных общедоступных идентификаторов — тот же белый список, который используют конечные точки POST, поэтому обнаружение никогда не рекламирует модель, которая будет 400. Если восходящий каталог недоступен, конечная точка возвращает 502 models_unreachable, а не вводящий в заблуждение пустой список.

# sample response (truncated)
{
  "object": "list",
  "data": [
    { "id": "gpt-5.4-mini",      "type": "model", ... },
    { "id": "gpt-5.4",           "type": "model", ... },
    { "id": "claude-sonnet-5",     "type": "model", ... },
    { "id": "claude-fable-5",      "type": "model", ... },
    ...
  ]
}

Гарантии совместимости

Совместимость с OpenAI не означает, что каждое поле каждой upstream-модели гарантировано на каждом маршруте. Есть три уровня поддержки:

СтатусДетали
Документировано и стабильноГенерация текста через четыре endpoint выше; синхронные и потоковые ответы; документированные настройки reasoning; кэширование промптов Anthropic; :online для Chat Completions и Messages; аутентификация, учёт и документированные форматы ошибок.
Сквозная передача, зависит от моделиВызов инструментов/функций, strict tools, структурированный вывод/JSON Schema, параметры семплирования, стоп-последовательности, multipart-содержимое, включая изображения и документы, а также лимиты контекста/вывода модели. Edge передаёт эти поля без локальной проверки, но поддержка и точная форма ответа зависят от модели и протокола. Проверьте конкретную модель и payload до запуска в production; нормализация между провайдерами не гарантируется.
Не предоставляетсяФоновые запуски Responses; :online для Responses; API OpenAI для генерации изображений, Audio, Realtime, Batch, Files, Embeddings и Moderation; синтетические алиасы Claude с -thinking; уровень reasoning effort minimal OpenAI.
Совет Считайте openapi.json вместе с этой страницей поддерживаемым контрактом. Поле, которое upstream принимает сегодня, может исчезнуть и не становится постоянной гарантией SUB&SUB.

Доступные модели

Две семьи вверх по течению. 7 моделей OpenAI направляются к общим учетным записям уровня ChatGPT; 9 моделей Claude обслуживаются официальными аккаунтами Anthropic. Ставки за токен зависят от уровня (см. Цены) — для обоих работает один и тот же ключ.

OpenAI

ID моделиСемействоТирПримечания
gpt-5.4-mini GPT-5.4Mini Быстрая и дешёвая. Рекомендуемый вариант по умолчанию для чата и кодинга.
gpt-5.4 GPT-5.4StandardПолноразмерная GPT-5.4 — медленнее, более сильное рассуждение.
gpt-5.4-2026-03-05GPT-5.4StandardСнимок gpt-5.4 с указанием даты.
gpt-5.5 GPT-5.5Premium Более новый флагман.
gpt-5.6-luna GPT-5.6Luna Облегченный GPT-5.6 — между Mini и Standard.
gpt-5.6-terra GPT-5.6StandardСредний размер GPT-5.6 — та же ставка, что и gpt-5.4.
gpt-5.6-sol GPT-5.6Premium Лучшие GPT-5.6 — та же ставка, что и gpt-5.5.

Anthropic

ID моделиСемействоТирПримечания
claude-fable-5 Fable 5 Fable Самая функциональная и широко распространенная модель Anthropic; адаптивное мышление всегда включено.
claude-haiku-4-5-20251001 Haiku 4.5 Mini Самая маленькая Claude — та же потокенная ставка, что и у gpt-5.4-mini.
claude-sonnet-4-5-20250929 Sonnet 4.5 StandardClaude среднего тира — та же потокенная ставка, что и у gpt-5.4.
claude-sonnet-4-6 Sonnet 4.6 StandardБолее новая настройка Sonnet — тир Standard, та же ставка, что и у sonnet-4.5.
claude-sonnet-5 Sonnet 5 Sonnet 5 IntroПоследний Sonnet; Начальные цены действительны до 31 августа 2026 г.
claude-opus-4-5-20251101 Opus 4.5 Ultra Передовая Claude. Тарифицируется по прайс-листу Anthropic — без маржи (см. Тарифы).
claude-opus-4-6 Opus 4.6 Ultra Более новая настройка Opus.
claude-opus-4-7 Opus 4.7 Ultra Предыдущий снимок Opus.
claude-opus-4-8 Opus 4.8 Ultra Последний снимок Opus.
Обратите внимание В каталоге Claude используются официальные идентификаторы модели Anthropic. Поддерживается оперативное кэширование: кэш записывает счета со скоростью 1,25× и читает со скоростью 0,10× скорости ввода уровня (см. Цены).
Fable отказов Fable 5 классификаторов безопасности могут возвращать HTTP 200 с stop_reason: "refusal" и пустым массивом содержимого. Клиенты должны перейти по stop_reason, а не только по статусу HTTP, и повторить запрос с помощью claude-opus-4-8. Через конечные точки протокола OpenAI тот же результат предоставляется как finish_reason: "content_filter" (чат/завершения) или status: "incomplete" с incomplete_details.reason: "content_filter" (ответы). Отказы на этапе подсказки не списываются с вашего баланса; отказ в середине потока после частичной выдачи тарифицируется как обычно.
Недоступно Устаревшие идентификаторы OpenAI (gpt-5.2* и gpt-5.3-codex*), простой псевдоним gpt-5.6 (используйте названные варианты выше), варианты OpenAI Pro/image/audio/realtime, идентификаторы точечной нотации (например, claude-sonnet-4.5) и синтетические идентификаторы модели -thinking недоступны. Используйте точные идентификаторы, указанные выше, и собственное поле thinking для Anthropic.

Усилие рассуждения

Каждая приведенная выше модель OpenAI является моделью рассуждения: серверная часть может потратить больше или меньше токенов «обдумывания», прежде чем выдать видимый результат. Установите reasoning_effort в теле запроса OpenAI /v1/chat/completions (или reasoning: {"effort": ...} в /v1/responses), чтобы контролировать бюджет. Для Claude используйте собственные поля Anthropic thinking и output_config.effort — см. раздел /v1/messages. Модели OpenAI принимают одни и те же пять значений усилий:

ЗначениеПоведение
none Без размышления — сразу к ответу. Самый дешёвый и быстрый.
low Короткий проход рассуждения.
medium По умолчанию, если поле не передано. Сбалансированный.
high Более глубокое рассуждение. Рекомендуется для нетривиального кодинга / многошаговых задач.
xhigh Максимальное усилие. Самый медленный и дорогой; приберегите для сложного анализа, где он действительно нужен.
# Two equivalent forms — pick whichever your SDK supports
{
  "model": "gpt-5.4-mini",
  "reasoning_effort": "high",
  "messages": [ ... ]
}

{
  "model": "gpt-5.5",
  "reasoning": { "effort": "xhigh" },
  "messages": [ ... ]
}
Стоимость Токены размышления засчитываются для тарификации как output-токены — больше усилие = больше output-токенов = больший счёт на том же промпте. Потокенная ставка не меняется.
Обратите внимание Протокол OpenAI также определяет 'minimal', но модели этого релея его отклоняют: "'minimal' is not supported with this model". Придерживайтесь пяти значений выше.

Стриминг

Задайте "stream": true, чтобы получать Server-Sent Events. Финальный чанк несёт блок usage (мы принудительно передаём upstream stream_options.include_usage, чтобы счётчики токенов всегда выдавались), затем поток закрывает литерал data: [DONE].

# Streaming format (line by line)
data: {"id":"resp_...","choices":[{"delta":{"content":"Hi"}}]}

data: {"id":"resp_...","choices":[{"delta":{"content":"!"}}]}

data: {"id":"resp_...","choices":[],"usage":{"prompt_tokens":18,"completion_tokens":11,"total_tokens":29}}

data: [DONE]

Готовый к запуску пример потоковой передачи на Python:

from openai import OpenAI

client = OpenAI(
    api_key="sk-cf-xxxxxxxxxxxx",
    base_url="https://api.subnsub.com/v1",
)

stream = client.chat.completions.create(
    model="gpt-5.4-mini",
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)
for chunk in stream:
    text = chunk.choices[0].delta.content if chunk.choices else None
    if text:
        print(text, end="", flush=True)

Добавьте :online к любому ID модели, поддерживаемому эндпоинтом, и релей выполнит веб-поиск перед пересылкой модели, добавив результаты в начало диалога, чтобы ответ опирался на свежие данные. Суффикс работает на /v1/chat/completions и /v1/messages (последний по-прежнему требует базу claude-*); никаких специальных полей запроса для поиска не требуется.

# Same call as before — just :online on the model
curl https://api.subnsub.com/v1/chat/completions \
  -H "Authorization: Bearer sk-cf-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini:online",
    "messages": [
      {"role": "user", "content": "What did Anthropic ship this week?"}
    ]
  }'

Как это работает: релей убирает :online, берёт самое последнее сообщение пользователя в качестве запроса (с ограничением в 400 символов), вызывает Tavily для получения до 3 результатов с извлечённым текстом страниц, когда он доступен, плюс необязательную сводку, сгенерированную Tavily, а затем добавляет их в начало того же пользовательского хода в виде чётко выделенного блока <search_results> перед отправкой запроса upstream. У вызова поиска тайм-аут 8 секунд. Результаты намеренно внедряются в роль user — никогда в системный промпт — чтобы недоверенные фрагменты не могли быть повышены до инструкций системного приоритета.

Блок <search_results> выглядит так. Перед ним идёт однострочная инструкция, предписывающая модели рассматривать блок как недоверенные внешние данные и ссылаться на пронумерованные элементы внутри текста:

<search_results query="What did Anthropic ship this week?" retrieved="2026-05-21">
Summary: <short LLM-generated synthesis of the result set>

[1] Anthropic launches Opus 4.8
URL: https://www.anthropic.com/news/opus-4-8
<extracted page text, or short snippet if extraction failed — up to ~2000 chars>

[2] ...
</search_results>
ПоведениеДетали
СтоимостьСегодня без наценки — вы платите обычную потокенную ставку модели; релей берёт вызов поиска на себя. Внедрённый блок <search_results> при этом засчитывается как input-токены, поэтому ожидайте более высокий счёт за prompt-токены, чем для того же вопроса без :online.
Режим отказаМягкий. Если Tavily выходит за тайм-аут или возвращает ошибку, запрос продолжается к модели без поискового контекста (вы всё равно получаете ответ, просто без опоры на данные). Единственный жёсткий отказ — 503 search_unavailable, когда поиск вообще не настроен на релее.
count_tokens/v1/messages/count_tokens убирает суффикс, но никогда не вызывает Tavily — счётчик отражает ваш исходный промпт, а не дополненный.
Многоходовой режимЗапрашивается и дополняется только последний пользовательский ход; более ранние ходы не затрагиваются. Чтобы выполнить поиск снова, отправьте новое пользовательское сообщение с :online всё ещё на модели.

Когда использовать :online

Релей делает один вызов Tavily на запрос и внедряет результаты — это не агентный цикл поиска. Модель не решает выполнить повторный поиск на основе того, что видит, как это делают Perplexity Sonar или инструмент просмотра ChatGPT. Планируйте с учётом этого ограничения:

ПодходитНе подходит
Чувствительные ко времени факты (новости, цены, номера версий, даты релизов)Приватный или вставленный код, которого нет в публичной сети — добавляет шум в промпт без опоры на данные
Поиск официального документа или анонсаМатематика, рассуждение, перевод, креативное письмо — опираться не на что
Всё, что вы иначе проверяли бы поиском в GoogleСтабильные знания, уже имеющиеся в обучающих данных («что такое двоичное дерево»)

Сформулируйте последнее сообщение пользователя как самостоятельный поисковый запрос. Поиск выполняется по буквальному тексту вашего самого последнего пользовательского хода (с ограничением в 400 символов), поэтому разговорные уточнения вроде «а как насчёт последней версии?» превращаются в бесполезные запросы без контекста. В многоходовом чате повторно укажите тему, когда добавляете :online — например, «последняя версия Anthropic Python SDK» вместо «последнюю».

Для вопросов, требующих многошагового синтеза (сравнение, глубокое исследование), разбивайте их на несколько ходов и добавляйте :online к каждому. Модель прочитает свежие результаты каждого хода; следующий запрос вы направляете вручную. Учтите, что внедрённый блок <search_results> отправляется только upstream — он не возвращается вашему клиенту и не сохраняется в следующий запрос, поэтому, если более поздний ход зависит от деталей из ранних источников, попросите модель кратко изложить их в видимом ответе. Режим исследования за один проход не поддерживается.

Совет Сочетайте с высоким усилием рассуждения (reasoning_effort: "high"), чтобы модель действительно взвешивала возвращённые источники, а не опиралась на первый результат. Внедрённая инструкция просит модель ссылаться на пронумерованные источники как [1], [2] внутри текста, поэтому в выводе обычно будут такие ссылки — хотя модель не строго связана этим форматом.

Ошибки

Оболочка зависит от того, какой эндпоинт вы вызвали — релей возвращает ошибки в протоколе, соответствующем SDK вызывающей стороны, а upstream-ошибки передаются дословно.

Пути OpenAI (/v1/chat/completions, /v1/responses, /v1/models) — оболочка OpenAI:

{ "error": { "message": "...", "type": "...", "code": "..." } }

Пути Anthropic (/v1/messages, /v1/messages/count_tokens) — оболочка Anthropic:

{ "type": "error", "error": { "type": "...", "message": "..." } }

Оболочка Anthropic использует другую структуру — нет поля code, а дискриминатор type: "error" находится на верхнем уровне (внутреннее error.type задаёт категорию, например authentication_error, invalid_request_error, permission_error, api_error). Anthropic SDK уже разбирают эту структуру; обработчики ошибок обычного OpenAI SDK — нет, поэтому вызывайте /v1/messages через Anthropic SDK (или используйте чистый HTTP).

Коды статусов — канонические HTTP-коды в обоих протоколах:

СтатусOpenAI code / Anthropic error.typeЗначение
401invalid_api_key / authentication_errorОтсутствующий или неизвестный ключ sk-cf-....
402insufficient_balance / permission_errorБаланс аккаунта отрицательный. Пополните во вкладке оплаты в консоли.
403key_revoked / permission_errorКлюч был отозван.
403account_closed / permission_errorУчетной записи не разрешен доступ к API — регистрации после прекращения предоставления услуг 8 июня 2026 г. не включают услугу API.
400model_not_available / invalid_request_errorОтправленная вами model отсутствует в проверенном каталоге или не подходит для эндпоинта (например, OpenAI-модель на /v1/messages) — проверьте Доступные модели.
400unsupported_background_mode / —background: true на /v1/responses — реле обслуживает только синхронные запуски. Только конверт OpenAI.
429rate_limit_exceeded / rate_limit_errorОбщая upstream-ёмкость временно ограничена. Учитывайте retry-after, если он есть, затем повторите с экспоненциальной задержкой и jitter.
503Сейчас ни один upstream-аккаунт не обслуживает запрос — обычно это временное окно лимита запросов по всему пулу. Повторите попытку после небольшой паузы.
503search_unavailable / api_errorВы использовали :online, но веб-поиск не настроен на этом релее. См. Веб-поиск.
502upstream_unreachable / api_errorРелей не смог достучаться до бэкенда. Повторите после короткой паузы.
500server_error / api_errorRelay завершился ошибкой до или после обращения к upstream. Повторяйте только безопасную для повтора операцию; иначе сначала проверьте историю использования.

Повторные попытки и надёжность

Ограничивайте число повторов. Relay использует общую upstream-ёмкость, а запросы генерации не являются идемпотентными.

Тарифы и оплата

Оплата по факту, тарификация по токенам в микродолларах (1 микро = $0.000001 = 1/10,000 цента), чтобы запросы дешевле цента учитывались точно. Ставки указаны за 1M токенов, по тирам — см. таблицу моделей, чтобы узнать, к какому тиру относится каждая модель.

ТирМоделиВход / 1MВыход / 1M
Mini gpt-5.4-mini, claude-haiku-4-5-20251001 $0.20$1.60
Luna gpt-5.6-luna $0.30$2.40
Standardgpt-5.4, gpt-5.4-2026-03-05, gpt-5.6-terra, claude-sonnet-4-5-20250929, claude-sonnet-4-6$0.75$6.00
Premium gpt-5.5, gpt-5.6-sol $1.10$8.80
Sonnet 5 Introclaude-sonnet-5 $2.00$10.00
Ultra claude-opus-4-5-20251101, claude-opus-4-6, claude-opus-4-7, claude-opus-4-8$5.00$25.00
Fable claude-fable-5 $10.00$50.00

Тарифы Fable и Ultra соответствуют опубликованным прейскурантным ценам Anthropic. В Sonnet 5 до 31 августа 2026 г. используется начальный тариф Anthropic 2/10 долларов США; его опубликованная стандартная цена после этой даты составляет 3 доллара США/15 долларов США. Цены на другие уровни ниже исходящих благодаря поддержке объединенной подписки.

Токены рассуждений (когда вы устанавливаете reasoning_effort в OpenAI или собственное поле thinking Anthropic в Claude) считаются токенами вывода по уровневой ставке модели – за большие усилия не взимается отдельная дополнительная плата, но глубокомысленный запрос может легко выдать в 10–50 раз больше токенов вывода, чем запрос без усилий. один, поэтому долларовая купюра масштабируется вместе с ним.

Prompt-кэширование Anthropic тарифицируется отдельной строкой: записи в кэш по 1.25×, а чтения из кэша по 0.10× от ставки input соответствующего тира. Так, попадание в кэш для haiku-4.5 стоит 0.20 × 0.10 = $0.02 per 1M tokens, а попадание в кэш для sonnet-4.5 — 0.75 × 0.10 = $0.075 per 1M tokens. Токены кэша фиксируются отдельной позицией в записи о списании по каждому запросу — консоль показывает разбивку.

Баланс списывается в реальном времени по мере возврата каждого запроса — для стриминговых запросов списание выполняется после прихода чанка [DONE]. Смотрите текущий баланс и списания по каждому запросу на /console#billing.

Пополнение Консоль поддерживает Stripe Checkout — карта, Link, Alipay, WeChat Pay. Кредиты не сгорают.

Лимиты запросов

Сегодня лимитов запросов на ключ нет. По-прежнему действуют общая ёмкость upstream и троттлинг на стороне провайдера; если вы в них упрётесь, релей вернёт 429 с заголовком retry-after. Лимиты RPM / TPM на ключ запланированы.

Статус и поддержка

Документация проверена 14 июля 2026 года.