Счёт за транскрибацию кажется связанным только с «длиной аудио», но итоговая стоимость обычно складывается из большего числа факторов: бесполезная тишина, файлы с высоким битрейтом, повторы после сбоев, перекрытие при нарезке, повторная отправка, хранение и ручная вычитка после транскрибации.
В этой статье нет фиксированных ставок: цены меняются, а правила у разных моделей и шлюзов отличаются. Важнее понять структуру тарификации и факторы затрат; конкретные ставки смотрите на странице цен на модели.
Примечание: OpenAI и Whisper — товарные знаки соответствующих правообладателей; статья носит технический характер и не подразумевает аффилированность с OpenAI. Единицы тарификации, доступные регионы и ограничения моделей могут меняться; ориентируйтесь на официальную документацию и страницу цен. Конкретных расценок в статье нет.
1. Базовая единица — длительность аудио
Классическая whisper-1 тарифицируется по числу минут отправленного аудио. Более новые модели семейства gpt-4o-transcribe считают входные и выходные токены аудио, а на странице цен обычно приводится эквивалентная оценка за минуту; способ расчёта новых моделей вроде gpt-transcribe тоже развивается.
И при расчёте по минутам, и при расчёте по токенам основа — «длина отправленного аудио», а не «длина полезной речи». Начало и конец записи, долгая тишина, перерыв в совещании могут попасть в счёт. Первое правило контроля затрат: перед загрузкой отрежьте всё лишнее.
2. Как размер и формат файла влияют на счёт
Официальный лимит на один файл — 25 МБ; поддерживаются mp3, mp4, mpeg, mpga, m4a, wav, webm. Ограничение размера косвенно влияет на стоимость:
- WAV с высоким битрейтом занимает много места, длинное аудио чаще превышает лимит и требует больше нарезок.
- Чем больше файл, тем медленнее загрузка и выше вероятность тайм-аутов и повторов.
- Несовместимый формат приводит к сбою и впустую расходует запросы и время на диагностику.
- Транскодирование обычно не входит в счёт API, но расходует ресурсы сервера и хранилища.
Приведение к 16 кГц моно в MP3 или WAV обычно заметно уменьшает объём при приемлемом качестве. До сжатия убедитесь, что бизнес допускает потерю качества; для диалектов и имён собственных оставляйте более высокий битрейт.
3. Какие операции незаметно увеличивают стоимость
| Статья затрат | Входит в счёт API | Как контролировать |
|---|---|---|
| Длительность аудио | Да | Удалять тишину, обрезать начало и конец, отправлять только полезные фрагменты |
| Повторы после сбоев | Возможно двойное списание | Ограничить число повторов, фиксировать результат запроса |
| Перекрытие при нарезке | Да, перекрытие транскрибируется повторно | Держать перекрытие 0,5–1 с и дедуплицировать при сборке |
| Транскодирование и хранение | Обычно не входит в счёт API | Настроить жизненный цикл объектов и своевременную очистку |
| Исходящий трафик | Зависит от поставщика и архитектуры | Обрабатывать в том же регионе, избегать повторных скачиваний |
| Ручная вычитка | Не входит в счёт API | Выборочная проверка, замена по словарю, уровни проверки |
Самая частая потеря — не ставка, а повторная работа: один и тот же фрагмент отправляется трижды из-за тайм-аута или всё аудио транскрибируется заново ради тайм-кодов.
4. Повторы, тайм-ауты и двойное списание
Сетевой тайм-аут не означает, что сервер не обработал запрос. Если запрос уже тарифицирован, а клиент не получил результат, повтор приведёт ко второй оплате. В инженерии нужны три вещи:
- Использовать хеш файла или номер бизнес-заказа как ключ идемпотентности и сохранять успешный результат для повторного использования.
- Ограничить максимальное число повторов, например тремя, с экспоненциальной задержкой.
- Повторять только при 429, 5xx и тайм-аутах; для 400, 401, 413 повтор бессмысленен.
Для пакетных задач задайте разумные тайм-ауты соединения и чтения. Слишком короткий тайм-аут «убивает» нормальное длинное аудио, слишком длинный задерживает очередь.
5. Нарезка длинного аудио и параллелизм
Аудио больше 25 МБ нужно нарезать. Чем мельче нарезка, тем больше запросов; чем крупнее, тем дороже сбой и повтор. Порядок может быть таким:
- Через
ffprobeпосчитать длительность и битрейт каждого файла, оценить суммарные минуты. - Привести всё к 16 кГц моно и контролировать размер фрагмента.
- Сначала резать по паузам, затем — фиксированными блоками по 10 минут.
- Записывать смещение каждого фрагмента и восстанавливать тайм-коды при сборке.
- Держать параллелизм в пределах лимита аккаунта и корректировать его по доле 429.
- После сборки дедуплицировать текст и выборочно проверять стыки.
- Сверять фактически отправленные минуты со счётом и искать отклонения.
Параллелизм сам по себе не меняет ставку за объём, но влияет на долю повторов и общее время. Максимальный параллелизм вызывает массовые 429, а вместе с задержками повторов часто обходится дороже, чем умеренный темп.
6. Хранение и исходящий трафик
Аудиофайлы, результаты транскрибации, журналы и резервные копии создают затраты на хранение, причём аудио занимает больше всего. Рекомендуется уровневый подход:
- Исходное аудио: хранить период, достаточный для разбора, затем удалять или переводить в холодное хранилище.
- Текст транскрибации: хранить по проектам, шифровать чувствительное и ограничивать доступ.
- Журналы запросов: не писать полные URL аудио и ключи, сохранять необходимые request ID.
- Резервные копии: копировать только результаты, не дублировать исходное аудио.
Если аудио и сервис транскрибации находятся в разных регионах, загрузка и скачивание создают исходящий трафик. Размещение обработки ближе к хранилищу снижает эту статью.
7. Как оценить бюджет
Не умножайте придуманную ставку на общую длительность. Надёжнее формула:
Месячная стоимость ≈ полезные минуты аудио × ставка × коэффициент повторов + хранение и трафик + ручная вычитка
Коэффициент повторов можно оценить по фактическому мониторингу: например, при успешности 97% заложите запас на сбои. Скрипт ниже читает только длительность и ставку и не содержит зашитой цены:
import os, subprocess, json
UNIT_PRICE = float(os.environ["AUDIO_UNIT_PRICE"]) # взять со страницы цен, за минуту
files = ["meeting-01.mp3", "meeting-02.mp3"]
total_minutes = 0.0
for path in files:
out = subprocess.check_output([
"ffprobe", "-v", "error", "-show_entries", "format=duration",
"-of", "json", path,
])
total_minutes += float(json.loads(out)["format"]["duration"]) / 60
estimate = total_minutes * UNIT_PRICE * 1.1 # запас на повторы и перекрытие
print(f"Аудио {total_minutes:.1f} мин, оценка {estimate:.2f}")
В бюджет также входят хранение, сервер транскодирования, ручная вычитка и разработка с поддержкой. Сравнивая только ставку API, легко недооценить совокупную стоимость владения.
8. Сверка после запуска и отслеживание цен
- Разделяйте расход по проектам или ключам, чтобы все направления не смешивались в одном счёте.
- Раз в неделю выгружайте расход и сравнивайте с внутренним числом отправленных минут.
- По проектам с отклонением выше порога ищите причины: повторная отправка, аномальные повторы, неверные параметры нарезки.
- Настройте оповещения о бюджете и реагируйте до достижения лимита.
- Следите за обновлениями моделей и цен; перед переходом сравнивайте качество и стоимость на реальных образцах.
Цены меняются, модели тоже. Держите ставку в конфигурации, а не в коде; при изменении тарифа достаточно обновить конфигурацию и пересчитать оценку.
Частые вопросы
Whisper API тарифицируется по минутам или по токенам?
whisper-1 считается по минутам аудио; более новые модели семейства gpt-4o-transcribe — по входным и выходным токенам аудио, а страница цен даёт эквивалентную оценку за минуту. Ориентируйтесь на цены на модели и официальную документацию.
Тишина тоже оплачивается?
Обычно счёт идёт по длине отправленного аудио, поэтому тишина может входить в оплату. Обрезка тишины перед загрузкой — самый прямой способ контроля затрат.
Повтор после сбоя списывается дважды?
Если сервер уже обработал запрос, а клиент получил тайм-аут, повтор может привести ко второй оплате. Используйте ключ идемпотентности для повторного использования успешного результата и ограничивайте число повторов.
Чем выше параллелизм, тем дешевле?
Ставка не меняется, и общая стоимость не обязательно снижается. Слишком высокий параллелизм вызывает 429, а повторы и очередь увеличивают время и расход.
Почему в статье нет конкретных цен?
Цены на аудиомодели меняются часто, а методика разных шлюзов отличается. Зашитые цифры быстро устаревают; надёжнее оценивать по странице цен.
Следующий шаг
Начните с регистрации в ZSQH AI Gateway, прогоните транскрибацию на коротком аудио и посчитайте реальные минуты, а затем стройте бюджет. Модели и актуальные цены — на странице цен на модели.
Что читать дальше:
