LIVE

Облачные TTS платформы: сравнение задержек и стоимости API

У Google Cloud Text-to-Speech и Amazon Polly совпадает базовая ставка для стандартного синтеза: $4 за миллион символов. На следующем уровне цены расходятся по линейкам голосов. У Google Cloud Neural2 стоит $16 за миллион символов, у Polly Neural — столько же.

Обновлено16 октября 2026 г.
Чтение8 мин
Облачные TTS платформы: сравнение задержек и стоимости API

Облачные TTS-платформы: сравнение задержек и стоимости API

Но сопоставимой цифры задержки для этих API в одинаковых условиях нет. Выбирать провайдера по одному прайс-листу или общему обещанию быстрого ответа нельзя.

Для инженерного сравнения нужны две независимые модели. Стоимость считают по правилам биллинга конкретного движка. Задержку измеряют на целевом регионе, с типичной длиной запросов и ожидаемой конкуренцией за ресурсы. Тогда вопрос «как проверить сравнение задержек и стоимости API» превращается в воспроизводимый тест, а не в спор о названиях голосов.

Google Cloud TTS: биллинг зависит от класса голоса

Google Cloud тарифицирует входной текст посимвольно. В расчёт входят пробелы и SSML-теги, за исключением тега mark. Многобайтное представление символа не увеличивает счётчик: символ с несколькими байтами считается как один символ.

Тарифная линейка включает несколько классов:

Класс голоса Google CloudСтавка за 1 млн символовБесплатный месячный лимит
Standard$44 млн символов
WaveNet$161 млн символов
Neural2$161 млн символов
Chirp 3: HD$301 млн символов
Studio$1601 млн символов

Разница между Standard и Studio составляет сорок раз по ставке за миллион символов. Это не означает, что расходы на проект автоматически вырастут ровно в сорок раз: итог зависит от выбранного голоса, объёма текста и применимых бесплатных лимитов. Но класс движка здесь — главный параметр сметы. Сравнивать только название API или общую категорию «нейросетевой голос» недостаточно.

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

Для Google Cloud отдельная тонкость — SSML. Разметка может добавлять оплачиваемые символы, даже если она не произносится. Исключение, указанное в правилах подсчёта, — тег mark. Поэтому тестовая строка без разметки даст заниженный прогноз для пайплайна, который передаёт в API просодические теги.

В TTS-смету входит текст в том виде, в котором его получает API. Для Google Cloud это включает пробелы и почти всю SSML-разметку.

Бесплатный лимит также нельзя трактовать как постоянное снижение цены на каждый запрос. Это месячная квота по типу голоса. При переходе с Standard на Neural2 меняется и ставка, и размер указанного бесплатного объёма. В расчёте нужно отдельно учитывать расход каждого класса, а затем применять условия аккаунта и действующие лимиты.

Amazon Polly: цена и размер запроса зависят от движка

Polly также считает обработанный текст посимвольно. Ставка определяется типом движка. В доступной тарифной сетке указаны Standard за $4, Neural за $16, Generative за $30 и Long-Form за $100 за миллион символов.

Для новых пользователей соответствующих голосов указаны бесплатные месячные лимиты на первые 12 месяцев. Это не бессрочная квота:

Движок Amazon PollyСтавка за 1 млн символовБесплатный лимит в месяц в первые 12 месяцев
Standard$45 млн символов
Neural$161 млн символов
Generative$30100 тыс. символов
Long-Form$100500 тыс. символов

У Polly есть и ограничение на размер входа. Для синтеза в реальном времени максимум составляет 3 000 символов. Для асинхронного синтеза — до 100 000 символов. Это влияет на архитектуру приложения: длинный текст нельзя бездумно отправлять одним запросом в режим реального времени. Его придётся разбивать или направлять в асинхронный путь, а это меняет логику обработки, очередей и выдачи результата.

На уровне тарифных названий сравнение выглядит прямолинейно: Standard у обоих провайдеров стоит $4 за миллион символов, а Neural-классы — $16. Дальше таблицы уже не совпадают. У Google Cloud отдельно указаны WaveNet, Neural2, Chirp 3: HD и Studio. У Polly — Generative и Long-Form. Одинаковая цена не доказывает идентичное качество, задержку или поведение движка. Это только совпадение ставки.

При планировании нагрузки следует разнести потоки по режимам. Интерактивные короткие реплики, длинные озвучиваемые документы и фоновые задачи имеют разные требования к размеру запроса и времени получения результата. Для Polly граница между реальным временем и асинхронной обработкой прямо отражена в допустимом размере входа. В прикладном пайплайне её нужно учитывать до выбора способа отправки текста.

Почему прайс-лист не отвечает на вопрос о задержке

По опубликованным тарифным данным нельзя установить, какой из двух API быстрее. Для Google Cloud TTS и Amazon Polly нет сопоставимого замера, проведённого в одном регионе, на одинаковом корпусе и при одинаковой конкуренции. Значения p50, p95 и p99, время до первого аудиобайта и влияние потокового режима из имеющихся сведений также не следуют.

Слова «быстрый синтез» в описании продукта не заменяют измерение. На результат влияют как минимум:

  • регион клиента и регион конечной точки;
  • сетевой маршрут и TLS-соединение;
  • длина текста и объём SSML;
  • выбранный голос и тип движка;
  • режим ответа: синхронный, потоковый или асинхронный;
  • параллелизм и лимиты конкретного аккаунта;
  • время до первого аудиобайта и полное время генерации.

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

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

Как построить тест latency для двух провайдеров

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

Практический сценарий измерения можно собрать из пяти шагов:

1. Зафиксировать конфигурацию. Записать регион, тип голоса, режим синтеза, формат аудио и параметры SSML. Для Polly отдельно отметить, используется ли синтез в реальном времени или асинхронная задача.

2. Подготовить корпус. Включить короткие реплики и длинные фрагменты, соответствующие продакшен-трафику. Сохранить одинаковый порядок запросов для обоих API.

3. Разделить холодные и прогретые вызовы. Не смешивать создание соединения с повторным использованием соединения. Эти режимы дают разные условия измерения.

4. Измерить несколько точек времени. Для потокового ответа записать время запроса, первый аудиобайт и окончание генерации. Для непотокового — время до полного ответа.

5. Повторить тест при нескольких уровнях параллелизма. Собирать распределение задержки, включая p50, p95 и p99, а не только среднее значение.

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

Отдельно следует контролировать ошибки, повторы и тайм-ауты. Если клиент повторяет запрос после сбоя, в журнале появятся дополнительные вызовы, а в биллинге может оказаться обработанный текст. Это уже не чистая задержка модели. Это поведение всей системы: клиентской библиотеки, сетевого слоя, очереди и API.

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

Смета: символы, квоты и инфраструктурные расходы

Базовую стоимость удобно считать по типам голосов. Если месячный расход обозначить как число биллинговых символов, его нужно разделить по движкам, применить соответствующие ставки и учесть бесплатные лимиты. Для Google Cloud отдельно учитываются Standard, WaveNet, Neural2, Chirp 3: HD и Studio. Для Polly — Standard, Neural, Generative и Long-Form.

Ключевая единица сравнения — оплачиваемые символы, а не минуты готового аудио. Две озвучки одинаковой длительности могут содержать разное количество текста. И наоборот, один и тот же текст может иметь разный счётчик на входе из-за форматирования и разметки. В Google Cloud пробелы и SSML-теги входят в расчёт, за исключением mark; для обоих провайдеров сверять нужно именно правила подсчёта входного текста.

К тарифу за синтез могут добавляться расходы за сопутствующую инфраструктуру и сетевой трафик. Полная стоимость зависит от конфигурации проекта, налогов и условий аккаунта. Поэтому опубликованная ставка за миллион символов — это компонент сметы, а не универсальная итоговая цена эксплуатации.

Для расчёта продакшен-бюджета нужны данные собственного пайплайна:

  • месячный объём текста по каждому движку;
  • распределение запросов по длине;
  • доля SSML и повторных вызовов;
  • режим синтеза и требования к хранению аудио;
  • число параллельных запросов и фактические ошибки;
  • применимые бесплатные лимиты и дополнительные расходы облачной инфраструктуры.

Последний пункт важен при оценке бесплатных квот. У Google Cloud указаны месячные лимиты: 4 млн символов для Standard и 1 млн для WaveNet, Neural2, Chirp 3: HD и Studio. У Polly бесплатные лимиты привязаны к первым 12 месяцам для новых пользователей и различаются по движкам. Сравнение без периода действия квоты и типа голоса даст неверную картину расходов после исчерпания льготы.

Как принять решение по результатам теста

Сравнение Google Cloud TTS и Amazon Polly имеет смысл вести по двум отдельным таблицам. Первая — тарифная: движок, ставка, бесплатный лимит, единица подсчёта и ограничение размера запроса. Вторая — эксплуатационная: регион, профиль нагрузки, p50, p95, p99, время до первого аудиобайта, ошибки и полное время генерации. Сводить их в один рейтинг до измерений не следует.

Для коротких интерактивных запросов главный результат — задержка в выбранном регионе на целевом параллелизме. Для массовой фоновой озвучки важнее стоимость обработанного корпуса и пропускная способность пайплайна. Для длинных входов нужно отдельно проверить ограничения режима: у Polly реальное время ограничено 3 000 символами, асинхронный синтез допускает до 100 000.

Тарифная часть уже показывает, где искать разницу. Standard у двух сервисов указан по $4 за миллион символов, Neural-классы — по $16. Более дорогие категории отличаются: Google Cloud Studio стоит $160, Polly Long-Form — $100 за миллион символов; названия и цены не дают основания считать эти движки эквивалентными по качеству или производительности.

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

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

Какая базовая стоимость синтеза речи у Google Cloud и Amazon Polly?
У Google Cloud Text-to-Speech и Amazon Polly совпадает базовая ставка для стандартного синтеза, которая составляет четыре доллара за миллион символов.
Как рассчитывается объем оплачиваемого текста в Google Cloud?
Google Cloud тарифицирует текст посимвольно, включая пробелы и SSML-теги за исключением тега mark, при этом многобайтные символы учитываются как один.
Какие ограничения по размеру запроса есть в Amazon Polly?
Для синтеза в реальном времени максимальный размер входа составляет 3 000 символов, а для асинхронного режима — до 100 000 символов.
Можно ли выбрать более быстрого провайдера только на основе официальных прайс-листов?
Нет, по опубликованным тарифным данным нельзя установить, какой из двух API работает быстрее, так как для них нет сопоставимых замерoв в одинаковых условиях.
Что нужно учесть при оценке бесплатных лимитов Amazon Polly?
Бесплатные месячные лимиты у Polly предоставляются только новым пользователям на первые 12 месяцев и различаются в зависимости от используемого движка.