hubris

Changelog

Записи о breaking changes API, новых моделях, обновлениях платформы Hubris.

Записи о значимых изменениях платформы, документации и SDK. Полная история коммитов — внутренняя.

2026-09-19 — Озвучка текста: голос читает ваш текст, на выходе mp3

В разделе Инструменты открылся третий инструмент: «Озвучка текста». Вставьте текст (до 60 000 знаков, это примерно час звучания), выберите голос из 43 читающих по-русски и получите один mp3. У голосов Google дополнительно выбирается тон: радостно, серьёзно, мягко, торжественно, шёпотом, быстрее или медленнее. Цена известна до запуска и не зависит от голоса: 3 ₽ за 1000 знаков, то есть страница текста обходится примерно в 6 ₽, а час звучания — в 180 ₽. Перед оплатой можно послушать, как первые две фразы вашего текста звучат выбранным голосом. Пополнить баланс можно ровно на сумму запуска. Работа идёт на сервере: страницу можно закрыть, готовый файл хранится 30 дней, а сам текст удаляется сразу после озвучки.

2026-09-19 — Генератор картинок и видео: пополнение ровно на одну генерацию

Чтобы сделать одну картинку за ≈9 ₽, больше не нужно вносить 500 ₽. В окне оплаты генератора изображений и студии видео QR сразу выпускается на сумму, которой не хватает на выбранную генерацию: с нулевым балансом это цена самой генерации, с частичным — только недостающая часть. Чипы 500, 1000 и 3000 ₽ на месте, в поле «Своя сумма» можно указать больше. Остаток, как и раньше, лежит на балансе и тратится на любые запросы — сгорать ему негде. Для обычных пополнений в кабинете минимум прежний, 500 ₽.

2026-09-17 — Светлая тема на витринах: первый экран больше не остаётся тёмным

На страницах Категории, Провайдеры и Задачи фон первого экрана был нарисован тёмным независимо от темы: при переключении на светлую страница белела, а верх оставался чёрным — и хлебная крошка над ним читалась тёмным по тёмному. Теперь фон переключается вместе с темой: в светлой это мягкий сиреневый градиент со сдержанными частицами, в тёмной всё как было.

2026-09-17 — Транскрибация аудио: расшифровка записей встреч и лекций

В разделе Инструменты появился второй инструмент — «Транскрибация аудио». Загрузите до пяти аудио- или видеофайлов (MP3, M4A, WAV, OGG, MP4 и другие, до 500 МБ и 4 часов каждый) и выберите режим: «Точный» даёт дословную расшифровку с таймкодами, разбивкой по говорящим и субтитрами .srt, «Быстрый» — пересказ с ключевыми мыслями. Цена фиксированная и видна до запуска: точный режим от 29 ₽ за запись, быстрый от 9 ₽. Пополнить баланс можно ровно на сумму запуска. Работа идёт на сервере: страницу можно закрыть, результат хранится 30 дней и по желанию приходит на почту. Сами файлы удаляются через сутки.

2026-09-17 — Долгие запросы на сайте больше не обрываются через 30 секунд

Если ответ модели в чате на сайте или результат другой операции в кабинете не приходил дольше 30 секунд, запрос заканчивался ошибкой 500, хотя работа ещё шла. 16 сентября это исправили для генерации картинок, теперь — для всех запросов сайта: он ждёт ответа до 10 минут. API (api.hubris.pw) эта ошибка не затрагивала.

2026-09-17 — «Видео по ссылке»: пополнение ровно на запуск

Чтобы расшифровать пару роликов, больше не нужно пополнять баланс на 500 ₽. В окне оплаты «Видео по ссылке» QR сразу выпускается на сумму, которой не хватает на запуск, — от 9 ₽. Чипы 500, 1000 и 3000 ₽ остаются, а в поле «Своя сумма» можно указать любую сумму не меньше нужной. Для остальных пополнений минимум прежний.

2026-09-18 — Каталог моделей не требует разрешения, а «Видеть список моделей» стало честным

Вчерашняя правка закрыла инструменты каталога на /mcp доступом «Видеть список доступных моделей», но каталог у нас и так открыт без ключа: приложение, которому это не разрешили, просто повторило бы запрос без токена. Отказ убран — /v1/models, /v1/videos/models и инструменты каталога на /mcp отвечают любому подключённому приложению, как и анонимному запросу.

За разрешением осталось то, что действительно ваше: цепочки резервных моделей route/<slug> в ответе /v1/models. Поэтому галочка на экране согласия называется теперь «Видеть ваши цепочки резервных моделей». Доступ «Видеть остаток вашего баланса» работает как вчера: без него balance_get отвечает отказом. Подробности — OAuth 2.0 + PKCE.

2026-09-17 — Права OAuth-приложений на MCP и размер контекста в /v1/models

MCP-сервер теперь проверяет доступы, выданные приложению на экране согласия: без «Видеть остаток вашего баланса» инструмент balance_get отвечает отказом, без «Видеть список доступных моделей» — models_list, models_search, models_get_pricing и ресурс каталога. Раньше каталог и баланс отдавались любому подключённому приложению. Ключей sk-gw- изменение не касается. Подробности — OAuth 2.0 + PKCE.

/v1/models отдаёт размер контекста ещё и в поле context_length — под этим именем его читают многие OpenAI-совместимые клиенты, например RAGFlow, который без него считал контекст любой модели равным 8192 токенам. OAuth-токен без доступа к каталогу получает 403 insufficient_scope вместо ошибки 500, а заголовок Authorization: Bearer без ключа считается запросом без ключа — клиенты, загружающие список моделей до ввода ключа, получают каталог.

2026-09-16 — Расшифровка роликов YouTube по ссылке: инструмент и метод API

В разделе Инструменты заработал первый инструмент — «Видео по ссылке». Вставьте до пяти ссылок на ролики YouTube и выберите режим: «Точный» даёт дословную расшифровку с таймкодами и файлом субтитров .srt, по желанию с разбивкой по говорящим, «Быстрый» — пересказ с ключевыми мыслями. Цена фиксированная и видна до запуска: точный режим от 29 ₽ за ролик, быстрый от 9 ₽, в зависимости от длины. Работа идёт на сервере — страницу можно закрыть, результат хранится 30 дней и по желанию приходит на почту.

Для разработчиков то же доступно методом POST /v1/video/transcriptions с оплатой по токенам. Ролик проверяется до запроса к модели: за удалённые, приватные ролики и прямые эфиры ничего не списывается. Ссылку на ролик можно передать и в /v1/chat/completions частью сообщения video_url — с моделями Gemini.

2026-09-16 — Долгие генерации и тяжёлые референсы на сайте больше не обрываются

В студии картинок и в чате на сайте генерация, которая шла дольше 30 секунд, могла закончиться ошибкой 500, хотя модель ещё работала. Чаще всего это случалось с Gemini-моделями и с картинками в 2K. Теперь соединение не рвётся, сколько бы ни длилась генерация, а если модель всё же не справилась, вместо безликой ошибки сервера показывается понятная причина.

Та же ошибка 500 возникала, когда запрос с референсами весил больше 10 МБ. Теперь сайт принимает запросы до 40 МБ, а студия перед отправкой сама уменьшает референсы тяжелее 1,5 МБ до 2048 пикселей по длинной стороне — этого моделям достаточно. Если вложения всё же слишком тяжёлые, придёт понятное сообщение.

За оборванные генерации деньги не списывались. API (/v1/chat/completions, /v1/images/generations) эти ошибки не затрагивали.

2026-09-15 — provider в /v1/responses и потолок цены max_price

Поле provider работает и в /v1/responses (Codex CLI и другие клиенты на Responses API): order + allow_fallbacks: false закрепляют провайдера инференса, max_price (доллары за 1M токенов) задаёт потолок цены — к провайдеру дороже запрос не уйдёт, при перегрузке дешёвых придёт 404 вместо дорогого ответа. В usage ответа /v1/responses и в логах теперь видны токены из кэша. Подробности — Кеширование промптов.

2026-09-15 — Смена почты аккаунта в профиле

Почту аккаунта теперь можно сменить самостоятельно: Профиль → Аккаунт → «Сменить почту». Подтверждение двумя кодами по очереди — первый приходит на текущую почту, второй на новую, и только после него адрес меняется. Ключи, баланс, история и привязанные соцсети остаются, вход дальше по новой почте; на старый адрес уходит уведомление о смене. Подробности — Профиль.

2026-09-15 — Бетси сама передаёт обращение человеку

Помощник поддержки в кабинете и документации больше не ждёт кнопки «Позвать человека»: если вопрос требует сотрудника — смена данных аккаунта, расхождение по деньгам, документы или прямая просьба позвать человека, — Бетси передаёт обращение сама и сразу пишет, что ответ придёт в этот же чат. Кнопка остаётся на месте для всех остальных случаев.

2026-09-07 — Privacy Mode маскирует составные сообщения

Если content приходил массивом блоков — так шлют Anthropic SDK, Claude Code и клиенты с разметкой кеша промпта, — маскирование такие сообщения пропускало, и персональные данные уходили провайдеру нетронутыми, хотя Privacy Mode был включён. Теперь текст каждого блока маскируется наравне со строковым content: картинки и аудио проходят как есть, cache_control и прочие поля блока сохраняются. То же исправлено в чате на сайте. Подробности — Privacy Mode.

2026-09-07 — Выбор доступов на экране согласия OAuth

Экран авторизации приложения больше не «всё или ничего»: каждый запрошенный доступ — отдельная галочка, включённая по умолчанию, и лишнее можно снять. Приложение получит урезанный набор и увидит его в поле scope ответа /oauth/token. Сняли все — это отказ, приложение получит access_denied.

Отдельная галочка «Оставаться подключённым 90 дней» решает судьбу продления: снимете — доступ живёт час, refresh_token не выдаётся, дальше приложение спросит разрешение заново. Такие доступы видны в Профиль → Приложения со сроком окончания и отзываются наравне с остальными. Подробности — OAuth 2.0 + PKCE.

2026-09-07 — Подключённые приложения в профиле

В профиле появилась вкладка Приложения: что вы разрешили сторонним приложениям по OAuth, какой у доступа дневной лимит, когда он выдан и когда приложение обращалось последний раз. Кнопка «Отозвать доступ» обрывает доступ сразу — гасятся и refresh-, и все access-токены приложения, ждать истечения часа не нужно. Подробности — OAuth 2.0 + PKCE.

2026-09-05 — supported_parameters в GET /v1/models

У каждой модели в каталоге появилось поле supported_parameters — список параметров запроса, которые модель поддерживает (tools, reasoning, response_format, temperature и другие). Клиенты вроде Cline и плагина llm по нему решают, включать ли для модели инструменты и размышление, а не предлагают их для всех подряд. Подробности — GET /v1/models.

2026-09-02 — Серверный веб-поиск Anthropic в /v1/messages

Инструмент web_search_20250305 принимается в /v1/messages для моделей Claude: раньше запрос отклонялся с 400 из-за отсутствия input_schema, которого у серверных инструментов нет. Блоки server_tool_use и web_search_tool_result возвращаются как есть, число обращений — в usage.server_tool_use.web_search_requests, стоимость поиска входит в usage.cost. Подробности — Messages API.

2026-09-02 — Официальная нода для n8n

Вышел пакет n8n-nodes-hubris: узел «Hubris» с операциями для текста (Chat Completions и Responses), эмбеддингов, картинок, озвучки, распознавания речи и видео с ожиданием готовности, плюс узел «Hubris Chat Model» для AI Agent и цепочек. Модель выбирается из живого каталога, стоимость запроса приходит полем cost_rub. Ставится через Settings → Community Nodes; исходный код открыт. Заодно GET /v1/models отдаёт supported_voices у моделей озвучки. Подробности — n8n.

2026-08-29 — Уровни xhigh/max и часовой кэш в Chat Completions

reasoning_effort в /v1/chat/completions принимает весь ряд уровней: none, minimal, low, medium, high, xhigh, max — раньше xhigh и max отклонялись с 400. У Claude Opus 5 и Sonnet 5 верхние уровни передаются модели как есть. Маркер cache_control теперь понимает "ttl": "1h" — часовой кэш промпта (запись дороже, чтение по той же цене); раньше поле терялось, и кэш жил 5 минут. Подробности — Reasoning и Кеширование промптов.

2026-08-29 — Готовые дашборд Grafana и шаблон Zabbix

К метрикам появились готовые файлы: дашборд для Grafana с девятью панелями (баланс, расход по моделям, запросы и доля ошибок, время ответа, токены, лимиты ключей) и шаблон для Zabbix с автоматическим обнаружением ключей и пятью триггерами. Оба ставятся импортом одного файла — панели и элементы данных собирать вручную не нужно.

2026-08-29 — Метрики аккаунта для вашей системы мониторинга

Появился эндпоинт GET /v1/metrics: баланс, расход и запросы по моделям, токены (включая кэш), время ответа и лимиты ключей — в формате Prometheus. Читается обычным ключом, лучше всего — только для чтения: такой ключ не тратит баланс, его не страшно положить в конфиг сборщика. Подробности и пример настройки — в разделе Метрики и мониторинг.

2026-08-29 — Привязка ключа к адресу

У ключа появилось поле «Адреса»: перечислите IPv4/IPv6-адреса или подсети (CIDR, до 32 записей) — и ключ будет отвечать только на запросы с них. Чужой адрес получает 403 key_ip_not_allowed до обращения к модели (баланс не тронут); в тексте ошибки — адрес запроса, в логах ключа — строка (ip_denied), владельцу — письмо (не чаще раза в час). Пустой список — с любого адреса, как раньше. По API — поле allowed_ips в Management API и в GET /v1/key.

2026-08-27 — Защита от всплеска расхода: заморозка ключа и период охлаждения

У ключа появилась страховка «не больше X ₽ за Y минут» (окно 1–60 минут). Превысил — ключ замораживается в ту же секунду (401 key_frozen_spike), остальные ключи работают; сразу уходит письмо, в кабинете — баннер и бейдж «заморожен». Обратно — тумблером «Ключ включён» на странице ключа или автоматически по периоду охлаждения (15 минут, 1, 6 или 24 часа). Выключена по умолчанию; по API — spike_limit_kopecks, spike_window_minutes, spike_cooldown_minutes в Management API, состояние — disabled_reason и disabled_until.

2026-08-27 — Ключ только для чтения

У ключа появился режим «только чтение»: каталог моделей, баланс и статистика доступны, а всё, что тратит баланс, отвечает 403 key_read_only. Такой ключ можно спокойно отдать дашборду, мониторингу или подрядчику. Включается при создании ключа или на его странице, по API — полем read_only в Management API. Заодно /v1/embeddings теперь проверяет право на расход так же, как остальные тратящие эндпоинты.

2026-08-27 — Лимит ключа с периодом сброса: день, неделя, месяц или без сброса

У лимита расхода ключа появился период: каждый день, каждую неделю, каждый месяц — или без сброса, на весь расход ключа. Задаётся на странице ключа и в Management API полями limit_kopecks и limit_period; в ответах — spent_period_kopecks и period_reset_at. Суточный лимит теперь считается по календарным суткам по Москве (сброс в 00:00 МСК), а не по скользящим 24 часам, Retry-After — точные секунды до сброса. Для недели, месяца и «без сброса» ошибка — 429 key_limit_exceeded; суточный по-прежнему daily_limit_exceeded. Старое поле daily_limit_kopecks продолжает работать как лимит с периодом day.

2026-08-25 — Claude 5: размышление включено по умолчанию

anthropic/claude-opus-5 и anthropic/claude-sonnet-5 теперь думают перед ответом без дополнительных параметров — как в официальном API Anthropic. Ход мысли приходит в полях reasoning и reasoning_details (в потоке — delta.reasoning), глубину регулирует reasoning_effort, скрыть текст — "reasoning": {"exclude": true}. Подробности — в гиде по reasoning.

2026-08-12 — Пять новых моделей в студии видео

В студии видео стало на пять моделей больше: Seedance 2.5 (сцены до 30 секунд), FLUX.3 Video (720p и 1080p, ключевые кадры), Hailuo 3 (2K), Runway Gen-4.5 и Grok Imagine Video 1.5 (до 1080p, форматы 3:2 и 2:3). У каждой проверены звук, доступные форматы и оживление картинки первым кадром — композер предлагает только то, что модель действительно умеет.

2026-07-27 — Озвучка текста: 15 моделей и готовый аудиофайл в ответе

Запустили /v1/audio/speech: отправляете текст — получаете сразу байты аудио (mp3 или pcm), тем же ключом sk-gw-.... Пригодится для голосовых ответов бота, аудиоверсий статей и рассылок, реплик персонажей: 15 моделей озвучки — MAI Voice, Aura-2, MiniMax Speech, Kokoro, Orpheus и другие, у каждой свой набор голосов (от двух до девяноста), список — в карточке модели каталога. Официальный OpenAI SDK работает после смены base_url. Тарификация — за символы отправленного текста, поэтому цена известна заранее; оплата в рублях по факту запроса.

2026-07-26 — Аудио прямо в чате: модель слушает запись и отвечает голосом

В /v1/chat/completions появился звук в обе стороны. Приложите запись к сообщению content-частью input_audio — и модель ответит на вопросы о ней: о чём говорили, каким тоном, что за шум на фоне; это не расшифровка, а рассуждение, которое можно совмещать с tool calling и структурированным выводом. В обратную сторону работает голосовой ответ: modalities: ["text","audio"] вместе со stream: true, аудио приходит чанками с текстовой расшифровкой. Оплата в рублях по факту, аудио-токены — по своей ставке модели; форматы, коды ошибок и примеры на cURL/Python/TypeScript — в гиде.

2026-07-26 — Распознавание речи: 12 моделей транскрибации

Запустили /v1/audio/transcriptions: Whisper, GPT-4o Transcribe, Chirp 3, Voxtral, Nova-3 и другие — 12 моделей превращают аудио в текст тем же ключом sk-gw-.... Официальный OpenAI SDK работает после смены base_url, файлы до 25 МБ (WAV/MP3/FLAC/M4A/OGG/WebM/AAC). Цены — по фактическим единицам моделей: от 0,17 ₽ за минуту записи, оплата в рублях по факту; весь список — в каталоге по фильтру «Транскрибация».

2026-07-25 — Контраст интерфейса по WCAG AA

Пересобрали палитру под требования доступности: мелкие подписи, реквизиты в футере и текст на фиолетовых кнопках теперь читаются при слабом зрении, ярком солнце и на плохих экранах. Кнопки стали чуть глубже по цвету, третичный текст — светлее. Все публичные страницы проходят WCAG 2.1 AA (контраст ≥ 4.5:1 для обычного текста).

2026-07-24 — Кеширование промптов Claude через /v1/chat/completions

Кеширование промптов для Anthropic-моделей теперь работает и через OpenAI-совместимый /v1/chat/completions — маркер cache_control доходит до модели из любого OpenAI SDK, не только через /v1/messages. Закэшированная часть промпта при повторных запросах тарифицируется примерно в десять раз дешевле, а ответ на длинном контексте начинается заметно быстрее. Если вы передавали cache_control по нашей документации — с этого момента он действует, ничего менять не нужно.

2026-07-24 — Claude Code через Hubris: Claude 5 и любые чат-модели каталога

Официальный агент Anthropic — Claude Code, в терминале и как расширение VS Code, — подключается к Hubris за пару минут: две переменные окружения, оплата в рублях. Доступно всё семейство Claude (Fable 5, Sonnet 5, Opus 4.8, Haiku 4.5) с переключателем глубины рассуждений, а через тот же /v1/messages — и любые чат-модели каталога: GPT, Gemini, DeepSeek и другие. Готовый конфиг, настройка VS Code и нюансы — в гиде по подключению.

2026-07-11 — Публичный API генерации видео

Запустили асинхронный /v1/videos: создаёте задачу, опрашиваете статус, скачиваете mp4 — тем же ключом sk-gw-..., оплата в рублях по факту. Готовый ролик хранится 72 часа. Scopes videos:write / videos:read, поддержка Idempotency-Key. Видео-модели видны в каталоге через GET /v1/models?output_modalities=video и GET /v1/videos/models (цены в рублях).

2026-07-08 — Студия генерации видео

Запустили студию видео: Veo 3.1, Sora 2 Pro, Kling 3.0, Seedance 2.0 и другие — всего 16 моделей в одном окне. Опишите сцену — получите ролик со звуком, до 4K и до 20 секунд; картинку можно «оживить», сделав её первым кадром. Цена видна до запуска, оплата в рублях по факту, готовые ролики сохраняются в «Мои генерации».

2026-07-07 — Предпросмотр результата и ID генерации

Клик по готовой картинке в студии открывает крупный предпросмотр: полный промпт (копируется кликом), стрелки между результатами и заметная кнопка «Скачать». У каждой генерации теперь виден её ID — скопируйте его кликом и приложите к обращению в поддержку, если что-то пошло не так: найдём запись мгновенно.

2026-07-07 — Стили с превью и несколько картинок за раз

В студии картинок — 24 стиля с живыми превью: наведите, чтобы увидеть готовый промпт, кликните — он окажется в строке ввода. Модели GPT Image теперь честно генерируют до 4 изображений за один запрос и учитывают выбранное качество, а Enter в строке ввода сразу запускает генерацию.

2026-07-07 — Премиум-модели картинок в студии

Добавили в генератор флагманские image-модели: FLUX.2 (Max/Pro/Flex), Seedream 4.5 (фотореализм), Recraft V4.1 (дизайн и иллюстрации, + Pro) и Grok Imagine — генерируются прямо в UI, оплата в рублях по факту генерации. Для FLUX русский промпт автоматически переводим на английский (модель не понимает кириллицу) — пишете на английском, оставляем как есть. Результат по центру экрана, промпт — под картинкой.

2026-07-06 — Новая студия генерации изображений

Переделали генератор картинок в полноэкранную студию. Выбираете реальную модель (Nano Banana, GPT Image и другие) — соотношение сторон, разрешение или качество подстраиваются под её возможности прямо в строке ввода. Можно приложить картинки-референсы, а все ваши генерации собираются в ленту с промптами. Оплата в рублях через СБП, первая картинка — в пару кликов.

2026-05-28 — OAuth 2.0 + PKCE для сторонних приложений (Phase A)

Сторонние приложения могут подключаться к Hubris через стандартный OAuth flow с тремя scopes (chat:write, models:read, balance:read) и опциональным дневным лимитом на токен. Claude Desktop, Claude.ai, Cursor и другие MCP-клиенты теперь подключаются нативно через «Add custom connector» UI — без mcp-remote шима. Подробности и Python-пример: /docs/integrations/oauth.

2026-05-26 — MCP-сервер для Claude Desktop / Claude Code / Cline (Beta)

Подключите Hubris к AI-агенту по протоколу Model Context Protocol: URL https://api.hubris.pw/mcp, тот же Bearer-ключ sk-gw-.... Агент получает каталог моделей, баланс и запросы к LLM (chat/complete — полный паритет с /v1/chat/completions) через одно подключение. Биллинг — как обычно. Фича в Beta — поведение и набор инструментов могут поменяться.

2026-05-25 — Чат в личном кабинете (Beta)

В ЛК появился раздел Чат — браузерный интерфейс к любой из 300+ моделей каталога. Альтернатива внешним чат-клиентам, когда нужно «быстро спросить» без curl и API-ключей.

  • История хранится только в этом браузере. Чаты живут в localStorage — сервер Hubris их не видит и не может восстановить. В журнале запросов остаются только метаданные (модель, токены, стоимость), как и для API-вызовов. При очистке данных браузера или смене устройства чаты пропадут — для бэкапа есть «Скачать всё» и импорт из JSON в настройках чата.
  • Одна модель на чат. Выбирается при создании, в шапке отображается название и провайдер. Чтобы попробовать другую модель — создаётся новый чат.
  • Edit и regen, без веток. Любое сообщение пользователя можно отредактировать — хвост чата перепрогоняется заново (с подтверждением, если удаляется ≥2 сообщений). Под последним ответом ассистента — кнопка «Перегенерировать».
  • Лимиты. До 50 сообщений в одном чате (мягкое предупреждение с 40), до 30 чатов в сайдбаре. При достижении — баннер «Создайте новый чат» с кнопкой «Скачать этот». Защита от тормозов DOM и переплаты за input-replay (каждый новый запрос отправляет всю историю в модель).
  • Кликабельные источники для Perplexity Sonar. Маркеры [1], [2] в ответах web-search моделей превращаются в маленькие фиолетовые pill-ссылки на оригинальные источники. Под ответом — полный список URL с hostname и путём.
  • Поддержка LaTeX-формул. Inline \(...\) и блочные \[...\] рендерятся через KaTeX — нужно для reasoning-моделей (Sonar Reasoning, Sonar Deep Research), которые форматируют числа и формулы в математической нотации.
  • Stop с честным биллингом. Кнопка «Остановить» во время стрима абортит чтение, но сервер дочитывает апстрим до конца и списывает полную стоимость (соответствие SPEC §10). В подсказке у кнопки — явное «не отменяет списание».
  • Списание как обычно, без прогноза. Каждое сообщение оплачивается из основного баланса так же, как /v1/* запрос. При нулевом балансе — баннер «Пополнить», следующее сообщение не отправляется до пополнения.
  • Privacy-онбординг. При первом открытии — диалог с явным объяснением, что чаты не покидают браузер. Один клик «Понятно» — больше не показывается.
  • Полный экран на десктопе. Раздел занимает всю ширину/высоту окна — без узкой колонки и шапки дашборда. Колонка сообщений ограничена 760px для комфортного чтения.

Доступ — пункт «Чат» в сайдбаре ЛК (бейдж Beta).

2026-05-25 — Активированы Perplexity Sonar и другие web-search модели

5 моделей семейства Perplexity Sonar (sonar, sonar-pro, sonar-pro-search, sonar-reasoning-pro, sonar-deep-research) теперь активны в каталоге и доступны через /v1/* и встроенный чат. Раньше были деактивированы — пока не было уверенности, что биллинг корректно покрывает web-search surcharge.

  • Биллинг через usage.cost от провайдера. Стоимость каждого запроса (включая web-search per-request surcharge $0.005) приходит готовой от апстрима и попадает в usage_logs.cost_kopecks ровно так же, как для обычных моделей. Никаких отдельных формул на нашей стороне.
  • Sentinel-warning в логах. Если апстрим вдруг вернёт usage.cost=0 при web_search_requests > 0 — пишем warn-лог, чтобы поймать проблему до того, как её заметят пользователи.
  • В чате /chat — кликабельные [N]. Sonar возвращает массив citations[] URL'ов; чат превращает маркеры в тексте в маленькие фиолетовые pill-ссылки и показывает полный список под ответом.

2026-05-24 — Все ошибки /v1/* и /api/internal/* теперь на русском

error.message во всех публичных эндпоинтах переведены на формальный русский язык:

  • Недостаточно средств на балансе.
  • Модель не найдена: <id>
  • Неверный API-ключ / API-ключ не передан
  • Курс ЦБ РФ временно недоступен
  • Сервис провайдера временно недоступен (раньше — Upstream returned an error)
  • Превышено время ожидания апстрима / Превышен дневной лимит расхода для этого API-ключа
  • и другие.

error.code (insufficient_balance, model_not_found, upstream_error, daily_limit_exceeded, и т.д.) остаётся стабильным машинно-читаемым контрактом — английский. Если ваш код матчит ошибки по code — изменений не требуется. Если по message — обновите матч на русский (либо мигрируйте на code).

В песочнице на странице модели также убрали захардкоженные русские подсказки на фронте — теперь рендерится ровно то, что отдал бэкенд. При ошибке «недостаточно средств» рядом с сообщением появляется ссылка «Пополнить баланс» → /billing.

2026-05-23 — usage.cost теперь в копейках

В ответах всех /v1/* эндпоинтов (/messages, /chat/completions, /responses, /embeddings) поле usage.cost теперь содержит итоговую цену запроса в копейках (integer) — ту же сумму, что списывается с баланса и попадает в /v1/usage. Раньше там приходил raw cost в долларах. Применяется и к потоковому режиму — копейки попадают в финальный message_delta / chat.completion.chunk / response.completed.

2026-05-23 — Поддержка Claude Code: эндпоинт /v1/messages

  • Новый эндпоинт POST /v1/messages — совместимый с Anthropic Messages API. Через него работают Claude Code, официальные SDK Anthropic для Python и TypeScript, любые сторонние клиенты, ожидающие Anthropic-формат.
  • Аутентификация: и Bearer, и x-api-key. Поддержаны оба заголовка одновременно — Claude Code использует ANTHROPIC_AUTH_TOKEN через Authorization: Bearer, а Anthropic-SDK по умолчанию шлёт x-api-key. Hubris принимает обе формы для любого /v1/* эндпоинта.
  • Маппинг имён моделей. Принимаются и Anthropic-стиль (claude-sonnet-4-5, claude-3-5-sonnet-20241022, claude-haiku-4-5-latest), и каноничные Hubris-имена (anthropic/claude-sonnet-4.6). В ответе поле model восстанавливается в то имя, что прислал клиент — для согласованности логов.
  • Полный набор Anthropic-фич: vision, tool use, prompt caching, extended thinking. Все content-блоки (text, image, tool_use, tool_result, document, thinking) и параметры (cache_control, tool_choice, thinking, stop_sequences) проходят без изменений. Биллинг учитывает usage.cost, который провайдер возвращает с поправкой на cache hit / cache write.
  • Anthropic-нативный SSE-стриминг. События message_start / content_block_* / message_delta / message_stop приходят в нативном формате. На разрыве соединения Hubris дочитывает апстрим до конца и списывает стоимость, без бесплатных токенов.
  • Anthropic-формат ошибок. Вместо OpenAI-стиля {error:{...}} возвращаем {type:"error",error:{type,message}} с корректным error.type (invalid_request_error, authentication_error, rate_limit_error, api_error, not_found_error, billing_error, timeout_error). SDK Anthropic не падают.
  • Statusline-скрипт для Claude Code. Bash (https://hubris.pw/scripts/claude-statusline.sh) и кросс-платформенный Node-вариант (https://hubris.pw/scripts/claude-statusline.mjs) — выводит активную модель и расход за сегодня в нижней строке TUI. Подробности — в гиде по Claude Code.
  • Документация. Гид «Подключение Claude Code» — установка, конфигурация, выбор моделей, statusline, FAQ. API-референс POST /v1/messages — параметры, форматы, примеры.
  • Ограничение MVP. Privacy Mode (маскирование PII) на /v1/messages пока не работает — фича сложнее в реализации для Anthropic-формата content-блоков. Если нужна маскировка, используйте /v1/chat/completions с заголовком X-Hubris-Privacy-Mask. Поддержка появится отдельно.

2026-05-23 — Каталог моделей: +23 модели генерации изображений

  • Подключены image-модели из расширенного каталога: Flux 2 (pro/max/flex/klein-4b), Recraft v3/v4/v4.1 (11 вариантов: pro, vector, utility), Sourceful Riverflow v2 (pro, fast, preview-серии), xAI Grok Imagine, ByteDance Seedream 4.5, gemini-2.5-flash-image-preview. Полный список — в каталоге с фильтром «Output: image».
  • Корректное отображение цены за изображение в каталоге. Раньше unit-priced модели показывали «0 ₽ за 1М токенов» (UX-баг). Теперь — «X ₽ за изображение» / «X ₽ за мегапиксель» в зависимости от тарификации модели. То же поле pricing.per_unit[] доступно через GET /v1/models для разработчиков.
  • Документация: расширение Генерации изображений. Появилась справка по image_config параметрам конкретных провайдеров: Recraft style / text_layout / rgb_colors, Sourceful font_inputs / super_resolution_references. Раздел «Какую модель когда выбирать».

2026-05-22 — Песочница умеет генерировать картинки и уважает Privacy Mode

  • Image-gen в песочнице. На страницах моделей google/gemini-2.5-flash-image, openai/gpt-image-*, google/gemini-3.1-flash-image-preview и других моделей с картиночным выходом песочница теперь возвращает сгенерированное изображение прямо в чат-пузырь. Стоимость и токены считаются как для обычной генерации — без скрытых наценок.
  • Превью и сохранение. Клик по сгенерированной картинке открывает полноразмерный лайтбокс. Кнопка «Сохранить» скачивает PNG (или WEBP/JPEG — расширение берётся из data URL) с именем hubris-<timestamp>.<ext>. ESC или клик мимо — закрытие. Файл существует только у вас: на серверах Hubris ничего не сохраняется, в логах остаются только метаданные биллинга.
  • Песочница для image-only моделей. Модели, которые отдают только картинку без текста (Flux / SDXL-семейство), теперь тоже доступны в песочнице.
  • Privacy Mode теперь работает и в песочнице. Раньше включённая в /security маска применялась только к запросам через API-ключ — а отправки прямо со страницы модели уходили без маски. Теперь оба пути идентичны: ФИО, телефоны, email, ИНН, паспорта и т.д. скрываются до отправки модели, а в ответе восстанавливаются обратно. На stream-ответах работает та же построчная подмена, что и в /v1/chat/completions.

2026-05-22 — Server-tools, новая секция «Интеграции», доки фич

  • API: новый namespace hubris:* для server-tools. В tools[] запроса /v1/chat/completions и /v1/responses появилась поддержка { "type": "hubris:web_search" } — это канонический способ включить встроенный веб-поиск. Гид: Поиск в интернете. Старые namespace-варианты продолжают работать ради обратной совместимости.
  • Новая секция документации «Интеграции» (9 страниц). Подключение Hubris к популярным AI-инструментам: Cline, Roo Code, Kilo Code, OpenCode, Qwen Code CLI, Hermes Agent, OpenClaw, Dify, n8n. У каждого инструмента — точные шаги настройки base URL и API-ключа, советы по выбору модели и решение типовых проблем.
  • Новые гиды в разделе «Возможности»:
    • Вызов инструментов (tool calling) — жизненный цикл tool-сессии, tool_choice, параллельные вызовы, стриминг, SDK-примеры.
    • Структурированный выводjson_object и json_schema строгий режим, Pydantic / Zod helper'ы, обработка refusal'ов.
    • Поиск в интернете — встроенный server-side инструмент, аннотации источников, стриминг.
    • Изображения на вход (Vision) — multimodal-ввод через image_url content-parts, URL и base64, параметр detail, биллинг.
    • Выбор модели программно — фильтрация каталога через GET /v1/models, обработка 404 model_not_found, версионированные slug'и.
    • Стриминг ответов — когда включать stream: true, парсинг в Python / Node / Vercel AI SDK / голом fetch, UX-паттерны (типографический эффект, прогресс на reasoning-моделях, отмена).
    • Мониторинг расходовGET /v1/usage для cron-отчётов, бюджет-алёртов в коде агента, разбивки по проектам, BigInt для копеечной точности.
    • Обработка ошибок — стратегия retry по кодам (что ретраить, что нет), tenacity пример на Python, factory на TS, маппинг внутренних кодов в user-facing сообщения.
  • Боковое меню документации согласовано с дашбордом. Шрифт, отступы и компоновка строк сайдбара /docs теперь матчат сайдбар личного кабинета (13.5px / 6×10 / иконки 15px). До этого fumadocs-дефолты раздували сайдбар, и переходы между ЛК и доками выглядели визуально несогласованно.

2026-05-12 — Документация под общим хедером, AI-friendly выгрузка

  • Документация теперь под общей навигацией сайта. В шапке /docs появилось основное меню Hubris (Главная, Модели, Использование, API-ключи, Биллинг). Для авторизованных — текущий баланс и меню пользователя. Из ЛК больше не нужно открывать документацию «в отрыве».
  • Русский интерфейс fumadocs. «На этой странице», «Следующая», «Предыдущая», «Редактировать на GitHub», плейсхолдер поиска — теперь по-русски.
  • AI-friendly выгрузка документации.
    • Любую страницу /docs/<slug> можно открыть как plain-markdown: добавьте .md или .mdx к URL (например https://hubris.pw/docs/quickstart.md).
    • В шапке каждой страницы — кнопки «Скопировать как Markdown» и «Открыть в…» (ChatGPT / Claude / .md-версия).
    • https://hubris.pw/llms.txt — индекс всей документации в формате llmstxt.org, для AI-агентов.
    • https://hubris.pw/llms-full.txt — полный дамп всех страниц одним файлом, удобно скармливать в context-окно модели.

2026-05 — Запуск публичной документации

Опубликованы первые версии разделов:

  • С чего начать: Quickstart, Аутентификация, Миграция с OpenAI.
  • Базовые концепции: Модели, Цены, Биллинг, Ошибки, Rate limits, Конфиденциальность.
  • API Reference: /v1/models, /v1/chat/completions, /v1/responses (BETA), Streaming.
  • Возможности: Reasoning-токены, кеширование промптов.
  • Фреймворки: OpenAI SDK Python/Node, Vercel AI SDK, LangChain Python/JS.

API сам по себе — без изменений с релизной версии 1.0. Все стабильные эндпоинты под /v1/* остаются совместимыми.

Подписка на обновления

Пока что — следите за этой страницей. RSS / email-рассылка в работе.

Для критических изменений (breaking change в API, отзыв модели из каталога) — будем дополнительно слать на email вашего аккаунта.

Если нужно, чтобы конкретная модель не пропала

Если вы строите интеграцию вокруг конкретной модели и боитесь, что её уберут — напишите на support@hubris.pw, мы согласуем, как минимум, заранее предупредим о выводе.

Обновлено:

На этой странице

2026-09-19 — Озвучка текста: голос читает ваш текст, на выходе mp32026-09-19 — Генератор картинок и видео: пополнение ровно на одну генерацию2026-09-17 — Светлая тема на витринах: первый экран больше не остаётся тёмным2026-09-17 — Транскрибация аудио: расшифровка записей встреч и лекций2026-09-17 — Долгие запросы на сайте больше не обрываются через 30 секунд2026-09-17 — «Видео по ссылке»: пополнение ровно на запуск2026-09-18 — Каталог моделей не требует разрешения, а «Видеть список моделей» стало честным2026-09-17 — Права OAuth-приложений на MCP и размер контекста в /v1/models2026-09-16 — Расшифровка роликов YouTube по ссылке: инструмент и метод API2026-09-16 — Долгие генерации и тяжёлые референсы на сайте больше не обрываются2026-09-15 — provider в /v1/responses и потолок цены max_price2026-09-15 — Смена почты аккаунта в профиле2026-09-15 — Бетси сама передаёт обращение человеку2026-09-07 — Privacy Mode маскирует составные сообщения2026-09-07 — Выбор доступов на экране согласия OAuth2026-09-07 — Подключённые приложения в профиле2026-09-05 — supported_parameters в GET /v1/models2026-09-02 — Серверный веб-поиск Anthropic в /v1/messages2026-09-02 — Официальная нода для n8n2026-08-29 — Уровни xhigh/max и часовой кэш в Chat Completions2026-08-29 — Готовые дашборд Grafana и шаблон Zabbix2026-08-29 — Метрики аккаунта для вашей системы мониторинга2026-08-29 — Привязка ключа к адресу2026-08-27 — Защита от всплеска расхода: заморозка ключа и период охлаждения2026-08-27 — Ключ только для чтения2026-08-27 — Лимит ключа с периодом сброса: день, неделя, месяц или без сброса2026-08-25 — Claude 5: размышление включено по умолчанию2026-08-12 — Пять новых моделей в студии видео2026-07-27 — Озвучка текста: 15 моделей и готовый аудиофайл в ответе2026-07-26 — Аудио прямо в чате: модель слушает запись и отвечает голосом2026-07-26 — Распознавание речи: 12 моделей транскрибации2026-07-25 — Контраст интерфейса по WCAG AA2026-07-24 — Кеширование промптов Claude через /v1/chat/completions2026-07-24 — Claude Code через Hubris: Claude 5 и любые чат-модели каталога2026-07-11 — Публичный API генерации видео2026-07-08 — Студия генерации видео2026-07-07 — Предпросмотр результата и ID генерации2026-07-07 — Стили с превью и несколько картинок за раз2026-07-07 — Премиум-модели картинок в студии2026-07-06 — Новая студия генерации изображений2026-05-28 — OAuth 2.0 + PKCE для сторонних приложений (Phase A)2026-05-26 — MCP-сервер для Claude Desktop / Claude Code / Cline (Beta)2026-05-25 — Чат в личном кабинете (Beta)2026-05-25 — Активированы Perplexity Sonar и другие web-search модели2026-05-24 — Все ошибки /v1/* и /api/internal/* теперь на русском2026-05-23 — usage.cost теперь в копейках2026-05-23 — Поддержка Claude Code: эндпоинт /v1/messages2026-05-23 — Каталог моделей: +23 модели генерации изображений2026-05-22 — Песочница умеет генерировать картинки и уважает Privacy Mode2026-05-22 — Server-tools, новая секция «Интеграции», доки фич2026-05-12 — Документация под общим хедером, AI-friendly выгрузка2026-05 — Запуск публичной документацииПодписка на обновленияЕсли нужно, чтобы конкретная модель не пропала