Цены
Тарифная карта модели: сколько стоит миллион токенов, и что меняет эту цену. Задаётся в панели, применяется гейтом при расчёте каждого запроса.
Без цены токены считаются, а стоимость остаётся нулевой. Модели, встреченные в трафике без заданной цены, панель подсвечивает отдельно — это ровно та ошибка, которую иначе замечают по счёту от провайдера.
Ставки за токены¶
За миллион токенов, в долларах, отдельно:
- вход — незакэшированные входные токены;
- выход;
- чтение кэша — обычно со скидкой;
- запись кэша — обычно с надбавкой.
Кэш тарифицируется отдельно, потому что закэшированные токены не входят в
число входных. Провайдеры расходятся: OpenAI включает их в prompt_tokens,
Anthropic считает рядом. Единая схема нормализует к «вход — только
незакэшированное», и без этого кэш тарифицировался бы по полной входной цене:
на реальном запросе с сотней закэшированных токенов счёт завышался на 72%.
Провайдер в записи цены¶
Пусто — цена применяется к этой модели, кем бы она ни обслуживалась. Указан провайдер — точная запись, и она перебивает запись «любой».
Так одна модель, доступная через несколько маршрутов, тарифицируется по маршруту там, где ставки различаются.
Ступени по длине контекста¶
«До 200K одна цена, дальше другая».
Ступень задаёт порог и свои четыре ставки, а не коэффициент. Причина: карта не масштабируется целиком. У Gemini 2.5 Pro выше 200K токенов вход дорожает вдвое ($1.25 → $2.50), а выход в полтора раза ($10 → $15) — одним множителем это не выразить, а множитель на каждую ставку это та же ставка, написанная дважды.
- Базовая запись цены — это ступень «от нуля», поэтому порог у ступеней строго положительный.
- Берётся самая высокая достигнутая ступень. Это единственное прочтение, которое складывается: добавление ступени 1M не должно менять то, что платит промпт на 300K.
- Порог считается по длине промпта: вход плюс чтение и запись кэша, без ответа модели. Промпт, поднятый из кэша, — всё ещё длинный промпт, а надбавку провайдеры объявляют свойством запроса («промпты больше 200K»), не ответа.
- К аудио ступени не применяются: у аудио нет контекста, который растёт.
Цена за минуту аудио¶
Распознавание и синтез речи не тарифицируются как генерация — у Whisper нет токенов, есть минуты файла. Ставка задаётся за минуту.
Это дополнительное слагаемое, а не режим. У модели, которая берётся только за
аудио, остальные ставки нулевые — это и есть способ сказать «токены не
тарифицируются». Модель, которая берёт и за аудио на входе, и за токены на
выходе (gpt-4o-transcribe), описывается обеими ставками. Флага, который можно
выставить не туда, нет.
Секунды округляются вверх, ставка за минуту: десятисекундный клип стоит шестую часть минуты, а не целую — так же, как считают провайдеры.
Откуда берётся длительность¶
Гейт читает её из заголовка самого файла, не декодируя сэмплы:
| Контейнер | Как |
|---|---|
| wav | размер данных на байтовую скорость; потоковый с плейсхолдером тоже |
| flac | STREAMINFO сообщает число сэмплов |
| ogg (opus, vorbis) | granule последней страницы, минус priming у Opus |
| mp4 / m4a | mvhd: длительность на timescale |
| webm / mkv | EBML: Duration в единицах TimecodeScale |
| mp3 | Xing/VBRI даёт число кадров; без них — по битрейту |
| сырой PCM | байты на формат |
Контейнер определяется по магическим байтам, а не по Content-Type: клиенты
помечают загрузки как попало.
Если клиент попросил response_format=verbose_json, длительность из ответа
провайдера перебивает измеренную — по ней он и выставляет счёт.
Сырой PCM — единственный случай, где читать нечего: ни заголовка, ни
магических байтов, только сэмплы. Длительность считается арифметикой от числа
байтов, а формат берётся из параметров типа (audio/L16;rate=16000;channels=1)
либо из соглашения OpenAI для response_format=pcm — 24 кГц, моно, 16 бит.
Потоковый PCM измеряется тем же способом: байты считаются по мере прохождения,
целого файла не существует никогда. Компандированные кодеки (µ-law, A-law) как
линейный PCM не считаются: их байт на секунду в шесть раз меньше, и счёт был бы
занижен во столько же.
Заголовок, который длительность не сообщает, оставляет её нулём, а не догадкой: неверное число здесь превращается в неверный счёт. Такой запрос тарифицируется нулём — и панель перечисляет такие модели отдельным предупреждением, потому что это ровно та ошибка, которую цена за минуту и должна была предотвратить.
Окна по часам¶
Окно задаёт дни недели, часы и коэффициент: «в эти часы, в эти дни — умножить ставки этой модели».
Коэффициент, а не вторая карта ставок — здесь ровно наоборот, чем у ступеней, и намеренно: окно масштабирует карту целиком, что и означает «пиковые часы», а редактирование базовой цены оставляет пик и не-пик в согласии. Дублированная карта устаревает при первом же обновлении одной из копий.
- Начало включительно, конец исключительно — соседние окна не перекрываются.
- Начало позже конца — окно через полночь, и оно относится к дню начала: «пятница 22:00–06:00» действует и в 02:00 субботы.
- Если окна перекрываются, применяется наибольший коэффициент. Правило «первое совпавшее» зависело бы от порядка, которого панель не показывает, а наименьший позволил бы перекрывающему ночному окну тихо недосчитать пиковый трафик.
- Окно умножает уже выбранную ступень — оба механизма независимы.
Часовой пояс тарификации — один на развёртывание: у компании один рабочий день. Хранится именем IANA, поэтому переход на летнее время учитывается сам.
Валюта отображения¶
Код валюты и её курс за доллар. Пересчёт только для показа: цены задаются, расход копится и бюджеты сравниваются в долларах.
Одна единица от начала до конца — это то, что заставляет расход ключа, его потолок и журнал говорить об одном и том же. Курс применяется на пути к странице и никогда не записывается в строку.
Порядок расчёта¶
- Найти цену: точная запись
провайдер+модель, иначе запись «любой провайдер». - Выбрать ступень по длине промпта (вход + кэш).
- Сложить: токены по ставкам ступени плюс минуты аудио по ставке за минуту.
- Умножить на коэффициент окна, если оно действует.
- Записать как себестоимость.
- Умножить на наценку владельца ключа — записать как списано.
Шаги 5 и 6 дают две колонки в журнале, потому что они отвечают на разные вопросы: обзор — про то, чего трафик стоит развёртыванию, страница ключа — про то, что должен его владелец.