# OpenAI Realtime API или STT → LLM → TTS: как сравнить полную стоимость

> Для расшифровки начните с транскрибации; для разговора сопоставьте Realtime, GPT-Live и всю цепочку STT → LLM → TTS. Недорогой Realtime mini может изменить выбор, а стоимость минуты звонка зависит от того, какой счётчик её измеряет.

- URL: https://blog.laozhang.ai/ru/posts/realtime-api-vs-transcription-pipeline-cost
- Published: 2026-06-14
- Updated: 2026-10-07
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ru/about)
- Topic: Руководства по API
- Tags: Realtime API, транскрибация, OpenAI, голосовые агенты, STT

---
Если продукту нужен только текст речи, сначала рассчитывайте транскрибацию: `gpt-live-transcribe` для живого потока или `gpt-transcribe` для записи. Если пользователь должен разговаривать с ассистентом и получать голосовой ответ, сравнивайте три полных варианта: Realtime, GPT-Live с отдельными расходами на модели и инструменты либо цепочку распознавание → текстовая модель → синтез речи. Сравнение одной цены STT с ценой голосового диалога не отвечает на вопрос о бюджете.

Realtime API не обязательно дороже такой цепочки. По тарифам, проверенным 6 октября 2026 года, 30 секунд новой речи пользователя и 30 секунд сгенерированной речи ассистента дают примерно **0,048 USD** аудиорасходов у `gpt-realtime-2.1` и **0,015 USD** у `gpt-realtime-2.1-mini`. Это расчёт только свежего аудио: история, текст, инструменты и отдельная транскрибация сюда не входят. У GPT-Live другая база: 90 секунд активной сессии стоят **0,075 USD** за голос, даже если часть времени прошла в тишине или ожидании; модели и инструменты оплачиваются дополнительно. Источники — [тарифы OpenAI](https://developers.openai.com/api/docs/pricing) и [правила расчёта голосовых расходов](https://developers.openai.com/api/docs/guides/voice-latency-cost).

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

## Какой результат вы покупаете

Для субтитров во время выступления не нужен говорящий ассистент. Для обработки голосового сообщения после записи не обязательно держать живую сессию. Но для помощника, которому можно задать уточнение или перебить ответ, одной расшифровки недостаточно.

| Требуемый результат | С чего начать расчёт | Что ещё потребуется |
| --- | --- | --- |
| Текст появляется, пока человек говорит | `gpt-live-transcribe` | Передача аудио, отображение текста, хранение при необходимости |
| Готовая расшифровка записи | `gpt-transcribe` | Загрузка или разбиение файла, хранение, последующая обработка |
| Разговор «речь в речь» | `gpt-realtime-2.1` или `gpt-realtime-2.1-mini` | Текстовый контекст, инструменты, инфраструктура и контроль результата |
| Голосовой интерфейс с отдельно выбранными моделями и инструментами | GPT-Live | Оплачиваемое активное время плюс расходы на модели и инструменты |
| Собственная «трёхзвенка» STT → LLM → TTS | Живое или файловое распознавание, текстовая модель, синтез | Связь между компонентами, обработка перебиваний и ошибок |
| Диалог сейчас, отчёт и проверка после звонка | Гибрид | Отдельный бюджет живой части и последующей обработки |

[Текущая инструкция OpenAI по транскрибации](https://developers.openai.com/api/docs/guides/transcription) рекомендует новые модели `gpt-transcribe` и `gpt-live-transcribe` соответственно для файлов и живого потока. Потоковая выдача текста из уже готового файла также возможна: она не превращает запись в живой разговор и не требует голосового Realtime.

Нужный текстовый артефакт тоже стоит определить заранее. Простая расшифровка, субтитры с временными метками слов и запись с разделением по говорящим — разные требования. Не приписывайте новым общим моделям все возможности Whisper и специализированной диаризации. Для файлов действуют ограничения и форматы из [инструкции Speech to text](https://developers.openai.com/api/docs/guides/speech-to-text), включая лимит 25 МБ на файл. Живой `gpt-live-transcribe` не предоставляет метки времени слов, говорящих и уверенности распознавания; его настройка задержки также не означает фиксированное время появления текста. Детали подключения приведены в [инструкции по живой транскрибации](https://developers.openai.com/api/docs/guides/realtime-transcription).

## Тарифы: минуты, токены и активные секунды

Все суммы ниже указаны в USD по официальным тарифам OpenAI на 6 октября 2026 года. Это плата за названные компоненты API; связь, налоги, хранение и услуги других поставщиков в неё не входят.

| Компонент | Единица | Тариф |
| --- | --- | --- |
| `gpt-live-transcribe` | Минута аудио | 0,017 USD |
| `gpt-realtime-whisper` | Минута аудио | 0,017 USD |
| `gpt-transcribe` | Минута аудио | 0,0045 USD |
| GPT-Live, голос | Минута активного времени, с посекундным расчётом | 0,05 USD; модели и инструменты отдельно |
| `gpt-4o-mini-tts`, текст на входе | Миллион текстовых токенов | 0,60 USD |
| `gpt-4o-mini-tts`, аудио на выходе | Миллион аудиотокенов | 12 USD |

У Realtime оплачивается несколько видов токенов:

| Модель | Аудио: вход / кэшированный вход / выход | Текст: вход / кэшированный вход / выход |
| --- | --- | --- |
| `gpt-realtime-2.1` | 32 / 0,40 / 64 USD за миллион | 4 / 0,40 / 24 USD за миллион |
| `gpt-realtime-2.1-mini` | 10 / 0,30 / 20 USD за миллион | 0,60 / 0,06 / 2,40 USD за миллион |
| `gpt-realtime-2` | 32 / 0,40 / 64 USD за миллион | 4 / 0,40 / 24 USD за миллион |

Если передаёте изображения, добавляйте и их токены: у 2.1 вход и кэшированный вход стоят 5 и 0,50 USD за миллион, у 2.1-mini — 0,80 и 0,08 USD. Все строки можно сверить на [странице цен](https://developers.openai.com/api/docs/pricing).

Старые модели стоит учитывать при поддержке существующей системы, но не выбирать автоматически для нового проекта. У `gpt-4o-transcribe` и варианта с диаризацией указаны 2,50 USD за миллион входных и 10 USD за миллион выходных токенов; 0,006 USD за минуту — оценка. У `gpt-4o-mini-transcribe` это 1,25 и 5 USD, с оценкой 0,003 USD за минуту. Такие оценки нельзя выдавать за фиксированный поминутный счёт. Старые `tts-1` и `tts-1-hd` тарифицируются по символам: 15 и 30 USD за миллион символов. Длина текста не задаёт постоянную длительность речи при любом языке и темпе.

Согласно [объявлениям об отключении моделей](https://developers.openai.com/api/docs/deprecations), старые `tts-1`, `tts-1-hd` и два перечисленных снимка `gpt-4o-mini-tts` должны быть отключены 6 января 2027 года; старые модели транскрибации 4o, mini, diarize и Whisper — 26 февраля 2027 года. Для перечисленных старых семейств Realtime указано 20 января 2027 года. Эти объявления относятся к конкретным моделям и версиям: из них не следует, что `gpt-realtime-2` уже отключён или что любой псевдоним TTS имеет одну дату окончания.

## Почему минута звонка не равна минуте аудио Realtime

В Realtime новая речь пользователя приблизительно соответствует одному токену на 100 мс, а речь ассистента — одному токену на 50 мс. Поэтому минута пользовательской речи даёт около 600 входных аудиотокенов, минута сгенерированной речи ассистента — около 1 200 выходных. Специальные токены и фактический учёт могут изменить результат. Это приближение из [руководства по стоимости Realtime](https://developers.openai.com/api/docs/guides/voice-latency-cost#realtime-api-costs), а не замер качества или счёт за звонок.

Для свежего аудио без кэша получаются следующие ориентиры:

| Объём | 2.1 и 2 | 2.1-mini |
| --- | --- | --- |
| Минута новой речи пользователя | 0,0192 USD | 0,006 USD |
| Минута сгенерированной речи ассистента | 0,0768 USD | 0,024 USD |
| 30 секунд пользователя + 30 секунд ассистента | 0,048 USD | 0,015 USD |
| Час пользователя + час ассистента | 5,76 USD | 1,80 USD |

Последняя строка содержит **два часа аудио**, по часу каждой стороны. Она не является тарифом за час звонка. В 60-минутном разговоре пользователь может говорить 15 минут, ассистент — 20 минут, а остальное время занять паузы и работа инструментов. Даже для такого разговора нельзя закончить расчёт на 15 × 0,0192 + 20 × 0,0768: нужно добавить остальные входы, выходы и повторное использование истории.

Расход возникает при создании каждого Response. Предыдущая история снова входит в контекст, поэтому поздний ответ может стоить больше раннего. Кэш снижает цену только той части входа, которая действительно попала в кэш; его наличие не гарантировано, а изменения и обрезка истории могут повлиять на попадание. Нельзя заменить это фиксированным множителем «история удваивает цену».

VAD может отфильтровать пустое входное аудио, если клиент не добавляет его вручную. Соединение и сетевой трафик сейчас не имеют отдельного тарифа Realtime. Но эти правила не означают, что отменённая генерация, прерванный ответ или повтор после тайм-аута обязательно бесплатны. Считайте произведённую работу по данным usage, а не по тому, услышал ли пользователь весь ответ.

![Схема компонентов расходов Realtime: аудио обеих сторон, ответы, история и отдельная транскрибация.](https://blog.laozhang.ai/posts/ru/realtime-api-vs-transcription-pipeline-cost/img/realtime-cost-drivers.webp)

## GPT-Live: платится и время ожидания

У GPT-Live голосовая часть рассчитывается по активным секундам сессии. В них входят речь пользователя и ассистента, тишина и ожидание моделей или инструментов. Заглушённый микрофон и бездействие не равны закрытию сессии.

Например, 90 секунд активного времени дают 90 / 60 × 0,05 = **0,075 USD**. Если расходы на модели и инструменты составили 0,02 USD, сумма этих частей равна **0,095 USD**. Это условный расчёт, не реальный счёт. Первоначальные 15 секунд, оплачиваемые при создании WebRTC-сессии, засчитываются в её длительность: завершённые 90 секунд не нужно превращать в 105. При нескольких неиспользованных попытках запуска могут возникнуть отдельные расходы. Правила описаны в [разделе о GPT-Live](https://developers.openai.com/api/docs/guides/voice-latency-cost#gpt-live-usage-and-costs).

Отсюда следует полезный критерий: если ассистент долго ждёт медленного инструмента, снижение цены выбранной модели может не покрыть дополнительные активные секунды. Считать нужно голосовое время вместе с расходами на модели, инструменты и ненужные предварительные вызовы. Для Realtime и GPT-Live одна и та же тишина может по-разному влиять на стоимость.

## Полная бюджетная таблица

Сначала задайте одинаковую задачу: например, принять запрос, получить данные из системы и дать понятный голосовой ответ. Для каждой реализации фиксируйте требования к распознаванию, времени ответа, перебиваниям и доле успешно завершённых задач. Цена ниже при заметно худшем результате не доказывает экономию.

В таблице используйте фактические количества после всех вызовов, включая повторные попытки. Неизвестные расходы оставляйте переменными до получения тарифа или измерения; пустая ячейка не должна означать ноль.

| Строка бюджета | Что записать | Расчёт в USD |
| --- | --- | --- |
| Живая транскрибация | Оплачиваемые минуты аудио, включая повторы | `минуты × 0,017` |
| Расшифровка файла | Минуты аудио для `gpt-transcribe`, включая повторы | `минуты × 0,0045` |
| Realtime: аудио, текст, изображения на входе | Все входные токены каждого вида и соответствующий кэш | `(вход − кэш) × обычный тариф / 1 000 000 + кэш × тариф кэша / 1 000 000` отдельно для каждого вида |
| Realtime: выход | Выходные текстовые и аудиотокены | Сумма `токены × тариф / 1 000 000` по видам |
| Отдельная входная транскрибация Realtime | Её собственная модель и usage | По тарифу этой модели; не считать уже включённой в аудиовход |
| GPT-Live: голос | Итоговые активные секунды по каждой сессии | `секунды / 60 × 0,05` |
| Текстовые модели | Вход, кэш и выход всех необходимых вызовов | По соответствующим тарифам, с историей и повторами |
| TTS в собственной цепочке | Текстовые и аудиотокены либо символы, в зависимости от модели | По тарифу TTS; не переносить сюда правило 1 200 токенов в минуту из Realtime |
| Инструменты и последующая обработка | Внешние операции, отчёты, анализ и индексация | Сумма необходимых вызовов и операций |
| Эксплуатация | Телефония, серверы, хранение, наблюдение, проверка человеком | По вашему поставщику и фактическому объёму |
| Стоимость завершённой задачи | Полный расход и число разных успешно завершённых задач | `полный расход / завершённые задачи` |

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

![Состав собственного конвейера: распознавание, текстовая модель, необязательный синтез и эксплуатационные компоненты.](https://blog.laozhang.ai/posts/ru/realtime-api-vs-transcription-pipeline-cost/img/pipeline-checklist.webp)

### Заполненный пример: 1 000 попыток, 900 завершённых задач

Рассмотрим условный бюджет небольшого голосового помощника. Всего было 1 000 попыток, из них 50 повторных; завершено 900 разных задач. Повторы уже входят в 1 000, поэтому второй раз множитель повторов не добавляется.

Для каждой попытки примем 90 секунд активного времени, 30 секунд новой речи пользователя и 30 секунд сгенерированной речи ассистента. Для Realtime дополнительно зададим суммарно 10 000 входных текстовых токенов, включая историю, из которых 6 000 кэшированы, и 2 000 выходных текстовых токенов. Повторно учитываемое аудио истории, изображения и отдельную транскрибацию в этом упрощённом сценарии принимаем равными нулю. В реальной системе их нужно вернуть в расчёт, если они присутствуют.

В собственной цепочке примем живое распознавание 0,5 минуты по 0,017 USD, условные 0,012 USD на текстовую модель и TTS с 400 входными текстовыми и 2 000 выходными аудиотокенами. Количество TTS-токенов здесь задано для примера: оно не получено из длительности по формуле Realtime. Для GPT-Live зададим 0,012 USD на модели. Во всех вариантах добавим 0,006 USD на внешние инструменты и 0,020 USD на эксплуатацию за попытку. Последние три суммы — допущения бюджета, а не тарифы OpenAI.

| Вариант | Оплачиваемые части одной попытки | На 1 000 попыток | На одну из 900 завершённых задач |
| --- | --- | --- | --- |
| Realtime 2.1 | Аудио 0,048 + текст 0,0664 + инструменты 0,006 + эксплуатация 0,020 | 140,40 USD | 0,1560 USD |
| Realtime 2.1-mini | Аудио 0,015 + текст 0,00756 + инструменты 0,006 + эксплуатация 0,020 | 48,56 USD | 0,0540 USD |
| STT → LLM → TTS | STT 0,0085 + LLM 0,012 + TTS 0,02424 + инструменты 0,006 + эксплуатация 0,020 | 70,74 USD | 0,0786 USD |
| GPT-Live | Голос 0,075 + модели 0,012 + инструменты 0,006 + эксплуатация 0,020 | 113,00 USD | 0,1256 USD |

Проверить строки можно без вызова API:

```text
Realtime 2.1, текст:
(10 000 − 6 000) × 4 / 1 000 000
+ 6 000 × 0,40 / 1 000 000
+ 2 000 × 24 / 1 000 000 = 0,0664 USD

Realtime 2.1-mini, текст:
4 000 × 0,60 / 1 000 000
+ 6 000 × 0,06 / 1 000 000
+ 2 000 × 2,40 / 1 000 000 = 0,00756 USD

TTS:
400 × 0,60 / 1 000 000
+ 2 000 × 12 / 1 000 000 = 0,02424 USD
```

Здесь mini дешевле выбранной цепочки. Если цепочка обойдётся в 0,0786 USD за завершённую задачу, а mini сохранит общий расход 48,56 USD, mini будет дешевле по этому показателю начиная примерно с 618 завершённых задач. При 600 получится около 0,0809 USD, при 650 — около 0,0747 USD. Это только арифметический порог при фиксированных расходах: реальное изменение доли успеха может изменить и количество повторов, и длительность, и общую сумму.

Для продукта, которому нужна лишь обработка записи, расчёт будет другим. Тысяча записей по три минуты дают 3 000 × 0,0045 = **13,50 USD** за `gpt-transcribe`. Добавьте, например, условные 12 USD на обработку текста и 20 USD на хранение и проверку: всего 45,50 USD, или примерно 0,0506 USD при 900 пригодных результатах. TTS здесь равен нулю по требованиям продукта. Этот итог нельзя ставить в один рейтинг с голосовым помощником: запись и разговор решают разные задачи.

Арифметика примера проверена локально, без SDK и вызовов моделей. Объёмы, число успехов и эксплуатационные суммы заданы условно; пример не подтверждает качество, задержку, доступность API или фактическое списание.

## Какие данные собирать, чтобы заменить допущения

Для Realtime сохраняйте `response.done.usage`: входные токены текста, аудио и изображений, кэш отдельно по каждому виду, а также текстовые и аудиотокены выхода. Повторно доставленные события одного Response не должны создавать повторный расход в вашей таблице. Отдельную входную транскрибацию учитывайте по её собственным событиям `conversation.item.input_audio_transcription.completed`. Эти поля описаны в [разделе о стоимости одного ответа](https://developers.openai.com/api/docs/guides/voice-latency-cost#per-response-costs).

Для GPT-Live `session.usage.updated` содержит накопленные секунды. Позднее значение заменяет раннее: складывать 30, 60 и 90 секунд одной сессии как 180 нельзя. Итог берите один раз из `session.closed`; расходы на модели считайте отдельно по идентификаторам вложенных `response.completed` и собственных вызовов. Если финальных данных или части расходов нет, бюджет неполон, а не равен нулю.

В своей цепочке свяжите распознавание, текстовый ответ, синтез и внешние операции с одной задачей. Для каждого компонента сохраняйте количество попыток и оплачиваемый объём. Отдельно отмечайте, получил ли пользователь нужный результат и понадобилось ли вмешательство человека. Так можно отличить стоимость успешного запроса к модели от стоимости решённой пользовательской задачи.

## Как выбрать и где оставить гибрид

Начните с транскрибации, если конечный результат — текст, отчёт, поисковый архив или проверка звонка. Для разговора включите Realtime mini в сравнение вместе с основной моделью: исключать его только из-за представления «нативный голос всегда дорогой» уже нельзя. Собственную трёхзвенку имеет смысл рассчитывать, когда важны независимая замена компонентов, контроль промежуточного текста и существующая инфраструктура. GPT-Live оценивайте вместе с активным ожиданием и выбранными моделями.

Стоимость не устанавливает победителя по задержке или качеству. В [русскоязычном разборе на Хабре](https://habr.com/ru/articles/1057176/) сравниваются голосовые движки и трёхзвенка в июльском эксперименте на нескольких синтетических вопросах. Сетевые условия и версии моделей ограничивают переносимость результата; эти цифры не доказывают сегодняшнюю задержку 2.1 или mini. Для своего выбора сопоставьте одинаковые задания, русскую речь, шум, термины, перебивания и работу инструментов. Русский язык статьи также не подтверждает доступность выбранного API из вашей страны или для вашего аккаунта.

Гибрид полезен, если живая часть имеет чёткую границу. Например, Realtime помогает пользователю во время обращения, а резюме, проверка и запись в систему выполняются позже по тексту. Добавьте последующую обработку в бюджет; не оплачивайте второе распознавание всего звонка, если уже полученный текст подходит требованиям. Если нужна независимая расшифровка записи, это отдельная работа с отдельной ценой.

Перед расширением нагрузки заполните таблицу для обычной и тяжёлой сессии: длинной истории, большого голосового ответа, медленного инструмента и повторного обращения. Для контроля допуска к расходам полезен отдельный [разбор бюджетного kill switch для LLM-агентов](https://blog.laozhang.ai/ru/posts/llm-agent-api-spend-kill-switch). Он решает задачу ограничения расходов; сами тарифы и успешность голосового сценария всё равно нужно учитывать отдельно.

## Частые вопросы

### Realtime API всегда дороже STT → LLM → TTS?

Нет. В приведённом условном примере 2.1-mini дешевле полной цепочки, а основная 2.1 дороже. Вывод меняется вместе с объёмом речи, контекстом, TTS и числом успешно завершённых задач. Для одной расшифровки не требуется покупать весь голосовой диалог.

### `gpt-live-transcribe` и `gpt-realtime-whisper` — одно и то же?

Нет, это разные модели. У обеих сейчас указано 0,017 USD за минуту, но для нового живого потока инструкция OpenAI рекомендует `gpt-live-transcribe`. Одинаковая цена не означает одинаковый протокол или набор возможностей; старые модели Whisper также нужно рассматривать с учётом даты отключения.

### Можно ли получить потоковую расшифровку файла без Realtime?

Да. У `gpt-transcribe` параметр `stream=true` позволяет выдавать текст частями из готовой записи. Это поток результатов обработки файла, а не постоянный приём живого аудио. Если речь ещё поступает с микрофона, нужен другой сценарий подключения.

### Почему 5,76 USD нельзя назвать стоимостью часа звонка?

Это приблизительная сумма одного часа новой речи пользователя и одного часа сгенерированной речи ассистента для 2.1 или 2 по аудиотарифам без кэша. В ней нет текста, повторной истории и остальных компонентов. Минуты звонка не задают длительность речи каждой стороны.

### Оплачивается ли тишина?

У GPT-Live тишина в активной сессии входит в оплачиваемые секунды. В Realtime VAD может исключить пустое входное аудио; текстовая история и создаваемые ответы всё равно оплачиваются по своим токенам. Эти правила относятся к разным счётчикам, поэтому переносить одно на другое нельзя.

### Достаточно ли уменьшить длину ответа, чтобы снизить полный бюджет?

Короткий голосовой ответ может уменьшить аудиовыход, но только если задача остаётся решённой. Дополнительные уточнения, повторы и передача человеку способны увеличить итоговые расходы. Оценивайте полный расход на завершённую задачу вместе с требованиями к качеству.

## Источники

Внешние страницы, на которые ссылается это руководство, в порядке упоминания. Последнее обновление: 2026-10-07.

- [тарифы OpenAI](https://developers.openai.com/api/docs/pricing) (developers.openai.com)
- [правила расчёта голосовых расходов](https://developers.openai.com/api/docs/guides/voice-latency-cost) (developers.openai.com)
- [Текущая инструкция OpenAI по транскрибации](https://developers.openai.com/api/docs/guides/transcription) (developers.openai.com)
- [инструкции Speech to text](https://developers.openai.com/api/docs/guides/speech-to-text) (developers.openai.com)
- [инструкции по живой транскрибации](https://developers.openai.com/api/docs/guides/realtime-transcription) (developers.openai.com)
- [объявлениям об отключении моделей](https://developers.openai.com/api/docs/deprecations) (developers.openai.com)
- [русскоязычном разборе на Хабре](https://habr.com/ru/articles/1057176/) (habr.com)
