Changelog go2llm
Публичный журнал изменений шлюза: что появилось, что починили, что убрали. Записи добавляются в день изменения, задним числом не правятся.
Текущее состояние шлюза в реальном времени — GET https://go2llm.tech/status. Каталог моделей и цены — GET https://go2llm.tech/api/pricing и страница цен.
2026-09-27
Изменено
- **Скидка снова 25–90% по каждой модели, без деления на флагманы и
остальных.** Правило «25% флагманам, 50% остальным» от 26.09 действовало около трёх часов в ночь на 27.09 (03:55–07:04 МСК) и отменено. За это время по нему не списан ни один запрос. Цены вернулись к тем, что действовали до 26.09: скидка от 25% до 90% к официальной цене, и ни одна составляющая (вход, выход, чтение кэша) не дороже официальной. Заголовок «скидка до 90%» на главную не возвращается: снят акцент на потолке, сам потолок остался.
Исправлено
- Claude Opus 5.5: чтение кэша $0.15 вместо $0.257. Прежняя цена была
выше официальной ($0.20) и нарушала правило «не дороже официальной».
- Четыре модели подорожали до скидки 90%. Их официальные цены
пересверены 26.09 и оказались выше, чем мы считали, из-за чего прежняя скидка вышла за 90%. Теперь ни одна составляющая не дешевле 10% официальной цены: deepseek-v4-pro — $0.066 / $0.198, чтение кэша $0.0022; grok-4.6 и grok-4.7 — чтение кэша $0.05; glm-5.3-flashx — чтение кэша $0.0075. Официальные цены, пересверенные 26.09 (включая Claude Opus 5.5 и Claude Sonnet 5), не менялись. По каждой модели наша цена на вход, выход и чтение кэша ниже официальной.
2026-09-26
Изменено
- Скидка — теперь пол, а не потолок: 25% флагманам, 50% остальным.
Заголовок обещал «скидку до 90%» — цифра держала потолок, которого не обязана была достигать ни одна модель. Новое правило одно на весь каталог: новейшие флагманы каждой лаборатории дешевле официальной цены ровно на 25% на вход, выход и чтение кэша, остальные текстовые модели — ровно вдвое. Флагманы на 25%: Claude Fable 5.1, Claude Opus 5.5, Claude Sonnet 5, GPT-6 Astra, GPT-6 Sol, Gemini 3.1 Pro, Grok 4.7. Три картиночные модели скидку не меняли. Карточка каждой модели на сайте теперь показывает официальную цену вендора рядом со своей, со ссылкой на его прайс-лист. Из-за этого у большинства моделей цена за токен выросла: Claude Opus 4.8 вход $0.50 → $2.50, Claude Sonnet 5 — $0.33 → $1.50, GPT-6 Sol — $0.35 → $1.50 за 1M. Не везде дороже: у Claude Opus 5.5 чтение кэша подешевело, $0.257 → $0.15. Баланс по-прежнему в долларах, но доллар теперь покупает меньше токенов этих моделей. Цена каждого запроса, как и раньше, возвращается в usage.cost_usd.
Исправлено
- Официальный прайс пересверен у вендоров по восьми моделям. Claude Opus
5.5 — $4 / $20, чтение кэша $0.20 (был записан прайс Opus 5); Claude Sonnet 5 — $2 / $10, чтение кэша $0.20; Grok 4.6 и Grok 4.7 — чтение кэша $0.50; DeepSeek V4 Pro — $0.66 / $1.98, кэш $0.022; DeepSeek V4 Flash и V4 Flash Vision — $0.15 / $0.60, кэш $0.003; GLM 5.3 FlashX — $0.37 / $1.25, кэш $0.075. У DeepSeek два тарифа, дневной и ночной; сравниваем с ночным, более дешёвым, чтобы «дешевле официального» оставалось правдой в любой час.
2026-09-17
Добавлено
- Веб-чат в кабинете: ответ модели до первой строки кода. Вкладка «Чат»
спрашивает модель прямо в браузере — без ключа, без SDK и без пополнения, за счёт приветственного $1. Идёт тем же путём, что и внешний вызов: те же цены, тот же резерв баланса, тот же метеринг и та же маршрутизация, — так что расход в чате виден в истории запросов наравне с остальными. Под каждым ответом стоит его цена у нас и цена той же работы у вендора напрямую. Ограничения: 10 сообщений в минуту, 12 реплик в диалоге, 4000 символов на реплику, ответ до 1024 токенов. Дальше — по API, там потолков нет.
- Рублёвая сумма пополнения — до перехода на платёжку. Модалка показывает,
во сколько рублей обойдётся выбранная сумма: курс USDT/RUB, 5% комиссии платёжной системы и итог. Раньше на её месте стояло «биржевой курс + комиссия», а 922 ₽ за $10 человек узнавал уже на чужой странице.
Исправлено
- Один
403от поставщика больше не гасит шлюз целиком. Ответ403
считался проблемой ключа: учётка отключалась, и все маршруты её пула — то есть весь каталог — начинали отвечать 503 no_credential каждому клиенту до перезапуска сервиса. Но 403 поставщики отдают и когда фильтр контента не пропустил конкретный запрос. Теперь такой ответ отбивает только свой запрос, ключ продолжает работать, а отключение учётки (по 401 или 402) пишется в журнал в ту же секунду вместо молчания.
Изменено
- Регистрация больше не выпускает ключ за владельца. Раньше при активации
аккаунта заводился «Первый ключ», и человек видел в кабинете секрет, которого не создавал. Теперь первый шаг онбординга ведёт к форме «Новый ключ»: ключ появляется в ответ на явное нажатие. Ранее выданные ключи продолжают работать.
- Пустое поле квоты = ключ без отдельного лимита. При создании ключа в
кабинете пустая квота больше не подставляет $5: расход ограничен балансом, который не уходит в минус. Потолок ставит тот, кому он нужен, — и снимает его нулём. Верхняя граница явной квоты прежняя, $25.
2026-09-14
Добавлено
POST /v1/responses— OpenAI Responses API. Адаптер протокола поверх
/v1/chat/completions: авторизация, резерв, лимиты, маршрутизация и списание те же, usage.cost_usd в ответе сохраняется. Работает не-потоком и потоком, переносит tool calls в обе стороны. Обслуживает ровно те модели, что доступны на chat.completions, — модель, у которой в каталоге только messages, через /v1/responses недоступна. Каталог не изменился: responses в поле endpoints у моделей не появляется. Шим stateless: previous_response_id, store: true и background: true отклоняются с 400 stateful_responses_unsupported и текстом «передавайте всю историю в input». Хранилища истории ответов у шлюза нет, и явный отказ честнее молчаливой поломки на втором ходу. Проверено живым прогоном Codex CLI 0.151.0 в тот же день: с base_url = "https://go2llm.tech/v1", wire_api = "responses" и моделью qwen3-8-flash команда codex exec прочитала файл тестового проекта, исполнила инструменты, внесла правку и показала корректный diff — 21 432 токена. Отдельно проверены поток, вызов инструмента, отказ на previous_response_id и usage.cost_usd во всех формах; поток, упёршийся в max_output_tokens, закрывается событием response.incomplete. Списание сошлось до цента, в usage запросы учтены как chat.completions — биллинг не задвоился.
POST /v1/messages/count_tokens— форма Anthropic, тело как у
POST /v1/messages. Ответ: {"input_tokens": N, "go2llm": {"exact": false, "method": "byte_estimate", "typical_error_pct": X}}. Это оценка по байтам тем же оценщиком, которым шлюз считает резерв, а не вендорский токенайзер — поэтому рядом с числом стоит "exact": false. Вызов требует ключ, но резерв и списание не делает: он бесплатный. Живёт на отдельном счётчике 60 запросов в минуту на ключ.
GET /v1/models/{id}— одна модель в той же форме, что элемент массива в
/v1/models, без авторизации. Алиас резолвится, но в ответе id канонический: спросив claude-sonnet-5, вы увидите claude-sonnet-4-5 и поймёте подстановку до того, как она удивит вас в ошибке. Неизвестная модель → 404 model_not_found тем же текстом, что и отказ в запросе на генерацию.
GET /v1/me— баланс и квота по ключу. Раньше остаток был доступен только
в кабинете по сессии, и агент узнавал о нуле через 402 посреди задачи. Теперь по ключу отдаются: key (name, маскированный секрет, quota_usd, spent_usd, rpm_limit, allowed_models, expires_at), balance (spendable_usd, reserved_usd, currency) и limits.account_max_concurrency. Ключ без аккаунта отдаёт balance: null. В ответе нет email и данных владельца, других ключей аккаунта, реферальных и платёжных данных и полного секрета ключа: утёкший ключ не должен становиться картой аккаунта. Ответ идёт с cache-control: no-store, лимит — 60 запросов в минуту на ключ.
- CORS на публичном чтении.
Access-Control-Allow-Origin: *появился ровно
на GET /v1/models, GET /v1/models/{id}, GET /api/pricing и GET /status — этого хватает, чтобы собрать селектор моделей в браузере. На маршрутах, которые берут ключ, CORS нет и не будет: разрешить его — значит пригласить положить gk_sk_ в браузерный бандл, где его прочитает любой посетитель. OPTIONS к таким маршрутам теперь отвечает объясняющим 405 вместо тишины: вызывайте go2llm со своего сервера.
Изменено
- Неизвестный
/v1/*отдаёт JSON, а не семь байтnot found. Раньше любой
промах по пути возвращал плейн-текст без content-type: application/json, и SDK показывал человеку мусор вместо причины. Теперь это обычный конверт ошибки — error.type, error.code, error.message, error.request_id — с кодом 404 endpoint_not_found и списком опубликованных маршрутов в тексте. Известный путь с чужим методом больше не выглядит опечаткой в пути: он отдаёт 405 method_not_allowed с заголовком allow. Для страниц сайта 404 остался текстовым.
x-go2llm-request-idтеперь на всех ответах/v1/*, включая ошибки.
Раньше заголовок был только у /v1/images/generations, а на остальных маршрутах идентификатор приходил лишь в теле ошибки (error.request_id). Теперь его видно всегда — в том числе на успешном ответе, который потом понадобилось разобрать.
Известные ограничения
- Прогон Codex CLI был на одной модели и без TUI. Живой прогон сделан
codex exec'ом на qwen3-8-flash; интерактивный codex мы не гоняли и по остальным моделям отдельных прогонов не делали. Правило прежнее: через /v1/responses доступны те же модели, что на chat.completions, — «работает со всеми моделями» мы не пишем.
- Cursor живым запросом по-прежнему не проверяли и не утверждаем ни что он
работает, ни что не работает.
- Claude Agent SDK, LangChain
ChatAnthropic, LiteLLM. Вызовы, на которых
они раньше спотыкались, — count_tokens и GET /v1/models/{id} — теперь отвечают. Сами клиенты мы живым прогоном не проверяли.
- Точность
count_tokens— это точность оценки по байтам, а не вендорского
токенайзера. Поле "exact": false в ответе стоит не для красоты.
- Состояния ответов шлюз не хранит.
previous_response_idиstore: true
не поддерживаются осознанно, а не «пока».
- Embeddings, редактирование изображений, аудио и видео по-прежнему не
опубликованы. Текстовые endpoints не принимают изображения, PDF и бинарные блоки на вход.
2026-09-11
Исправлено
- Первый ключ больше не упирается в лимит $1. Ключ, который выпускался
автоматически при активации аккаунта, получал квоту, равную welcome-гранту. После пополнения баланса этот ключ всё равно отвечал 429, пока владелец вручную не поднимал квоту в кабинете. Теперь автоматический ключ создаётся без собственного лимита: расход ограничен балансом, который не уходит ниже нуля. Свой лимит по-прежнему можно задать в настройках ключа.
- Подсказка «первый запрос» снова видна в кабинете. Блок с первыми шагами
скрывался по условию «у аккаунта уже есть ключ», а ключ выдаётся всем сразу — поэтому подсказку не видел никто. Теперь она показывается, пока по аккаунту не прошёл первый успешный запрос.
- В кабинете написано про стартовый грант. При регистрации на баланс
начисляется $1. Раньше это нигде не было сказано, и первый шаг онбординга предлагал пополнить баланс, хотя для первого запроса пополнение не нужно.
Добавлено
https://go2llm.tech/llms.txt— краткая карта сервиса для ассистентов и
coding-агентов: endpoints, примеры запросов, актуальные цены и ссылки на документацию. Собирается из того же опубликованного snapshot, что и /api/pricing, поэтому не расходится с реальными ценами.
- Справочник ошибок go2llm.tech/oshibki —
разбор кодов 400, 401, 402, 403, 404, 409, 429, 502, 503 с причинами, рабочими примерами обработки и стратегией повторов.
- Раздел инструментов — инструкции по
подключению Continue.dev, Roo Code, Zed, Open WebUI, n8n и Kilo Code. У каждой страницы указано, проверена ли она живым запросом.
- Раздел сценариев — какие модели брать под
кодинг-агента, чат-бота, извлечение данных, генерацию контента и командный доступ, с расчётом стоимости по опубликованному прайсу.
- Блог — разборы стоимости и миграции.
- Публичный changelog — эта страница.
Изменено
- Текстовая версия главной страницы расширена. Крупные поисковые роботы
ассистентов не исполняют JavaScript, поэтому лендинг, собранный как SPA, был для них почти пустым. Теперь в серверном HTML лежат шаги подключения, примеры запросов для Claude Code, Anthropic Messages и OpenAI Chat Completions, живая таблица моделей с ценами и ответы на частые вопросы — то же, что видит человек.
robots.txtперечисляет поисковых роботов ассистентов явно. У них нет
наследования от общей директивы, поэтому каждому нужна своя строка.
- Структурированные данные. На главной —
SoftwareApplicationс офферами по
реальным опубликованным ценам и FAQPage; на страницах документации и контента — TechArticle и хлебные крошки.
Известные ограничения
Раздел существует, чтобы не пришлось выяснять это на своём проде.
- Codex CLI подключить нельзя. Актуальные версии поддерживают для сторонних
провайдеров только wire_api = "responses", а endpoint /v1/responses у go2llm не опубликован. Подробный разбор — 404 на /v1/responses в Codex CLI.
- Не опубликованы: Responses API, embeddings, редактирование изображений,
аудио и видео. Текстовые endpoints не принимают изображения, PDF и бинарные блоки на вход.
- Заголовков
X-RateLimit-*шлюз не отдаёт.Retry-Afterприходит на429,
на 409 request_in_progress и на 503 product_paused; на 502 его нет.
- Идентификатор запроса на
/v1/messagesи/v1/chat/completions
возвращается только в теле ошибки, в поле error.request_id.
- Остаток баланса по ключу через API получить нельзя — баланс и расход
доступны в кабинете. Стоимость конкретного запроса приходит в ответе в usage.cost_usd.
- Лимит 20 запросов в минуту считается на ключ и суммарно по всем моделям
и endpoints.
- Cursor живым запросом не проверяли и не утверждаем ни что он работает,
ни что не работает.
Как читать этот журнал
go2llm не публикует показателей доступности и не даёт SLA: для этого нужна накопленная статистика, а не заявление. Вместо обещаний здесь публикуется то, что можно проверить, — состояние шлюза по GET /status, версия каталога в /api/pricing и список известных ограничений выше.
Нашли расхождение между этой страницей и поведением API — напишите в @go2llm_support или на support@go2llm.tech, поправим и запишем сюда.