23 сентября 2026 года Google представила Gemini 3.8 Flash TTS и Gemini 3.8 Flash-Lite TTS — две модели синтеза речи с общей схемой API. В API они называются gemini-3.8-flash-tts и gemini-3.8-flash-lite-tts. Обе поддерживают одного и нескольких говорящих, дизайн голоса и его репликацию, а переключение между ними выполняется изменением одного параметра. Одновременно в Google AI Studio появился audio playground — рабочее пространство для дизайна голоса.
Что именно изменилось
Разделение моделей проходит по сценарию использования. Flash TTS рассчитана на творческую режиссуру и дизайн персонажей: создание новых голосов с нуля промптами на естественном языке и построчное управление исполнением — актёрскими сигналамиуказаниями, как именно произнести реплику: с какой интонацией, эмоцией и манерой подачи, темпом, сменой диалекта и бэкченнелингомкороткими репликами слушателя — поддакиваниями, вздохами, вставками, которые поддерживают разговор. Flash-Lite TTS оптимизирована под большие объёмы: массовый дубляж, создание аудиоконтента и голосовые агенты с тонким контролем тона, темпа и выразительных нюансов.
По языкам Flash TTS поддерживает более 130 языков, Flash-Lite TTS — более 100. Обе модели определяют язык входного текста автоматически. В таблице языков поддержка различается: например, Banjar (Arab script) отмечен только для Flash TTS, а Banjar (Latn script) — для обеих. Flash TTS рекомендуется для максимальной акустической точности, сложных многоспикерных диалогов и длинных повествований; Flash-Lite TTS — как быстрая и экономичная замена gemini-3.1-flash-tts-preview для массового производства и повседневной односпикерной речи.
Как выбирать и создавать голоса
Поддерживаются четыре способа. Prebuilt studio voices30 отобранных голосов, перечисленных в таблице. Extended Voice Libraryрасширенная библиотека из сотен дополнительных голосов по языкам, акцентам и персонажам. Voice design создаёт вокальную персону из описания на естественном языке и возвращает постоянный ID voice_... вместе с WAV-превью. Voice replication воспроизводит голос говорящего по reference-аудиообразцу голоса говорящего, который нужно воспроизвести и consent-аудиозаписи устного согласия владельца голоса на использование его голоса.
Репликация работает по 30-секундному образцу и требует записи устного согласия владельца голоса, совпадающей с эталонным говорящим. Для сохранённых голосов действует квота 200 на проект (общая для созданных и реплицированных) и хранение 1 год с последнего использования; голоса без активности за год удаляются автоматически. Для stateless-ключей (store=False) хранение — 7 дней.
Как управлять подачей
Поле text трактуется строго как дословная расшифровка речи, поэтому режиссёрские указания в него не вставляют как обычный текст. Для характеристик на весь ход есть поле speech_metadata.style: эмоции, манера подачи, просодиявысота тона и интонация речи, темп и громкость — например, "whispered urgently" или "speaking slowly". speech_metadata — это структура в запросе, которая несёт режиссёрские указания к речи: в её поле style помещают характеристики на весь ход, а в многоспикерных запросах она же указывает говорящего. Если эмоция меняется посреди диалога, сценарий разбивают на отдельные ходы с разными значениями style.
Мгновенные события — неречевые вокализации, вдохи, паузы — идут inline-тегамитегами прямо внутри текста реплики в угловых скобках: <short pause>, <long pause>, <sigh>, <cough>, <breath>. Теги ставятся в точном месте, где должен прозвучать звук или возникнуть пауза; угловые скобки дают наивысшее качество аудио, и рекомендуется придерживаться человеческих вокализаций, а не невокальных звуковых эффектов.
Для многоспикерного синтеза настраивают двух говорящих в speech_config.speakers, а каждую реплику передают отдельным текстовым элементом с аннотацией speech_metadata, где указаны speaker и необязательный style. speech_config принимает массив для одного говорящего и объект для нескольких.
Стриминг и форматы аудио
Стриминг включается параметром stream: true. Разница с унарными запросами — в формате ответа по умолчанию:
- unary (
stream=False) — полный WAV (audio/wav) со стандартным RIFF-заголовком, 24 кГц, моно, 16-битный знаковый little-endian PCM; - streaming (
stream=True) — фрагменты без заголовка, raw Linear PCM (audio/l16), те же 24 кГц, моно, 16-битный знаковый little-endian PCM.
Заголовки не добавляются к каждому фрагменту, чтобы аудио можно было воспроизводить или склеивать непрерывно. Другую кодировку или частоту запрашивают через mime_type и необязательный sample_rate в response_format: доступны audio/wav, audio/l16, audio/mulaw и audio/alaw, частота задаётся в герцах — например, 24000, 16000 или 8000.
При стриминге ответ приходит потоком событий: по мере синтеза модель выдаёт отдельные шаги, и когда очередной шаг несёт аудиофрагмент, его данные приходят в base64 и декодируются для дальнейшей обработки. В Python и JavaScript SDK готовое аудио из унарного запроса достают через свойство, возвращающее последний сгенерированный аудиоблок; в сырых REST JSON-ответах base64-аудио лежит в steps[].content[].data.
Audio playground
Playground в Google AI Studio — рабочее пространство для дизайна голоса: можно создать новые вокальные идентичности с нуля или реплицировать собственный голос, а затем перенести их в редактор сценария для двух говорящих и управлять подачей реплика за репликой. Он позволяет составлять одноголосое повествование или многоспикерские разговоры, прослушивать сгенерированное аудио и изучать детали запроса и ответа. Настройки композиции сохраняются в URL-адресах, которые можно добавить в закладки для обмена. Playground работает на вашем ключе Gemini API и использует открытую CORS-политику нижележащего Gemini API.
Почему это сделали
Мотивация релиза сформулирована как переход от статичных пресетов к динамичной творческой студии: генерация голоса перестаёт быть набором готовых вариантов и становится более гибким инструментом. Ориентиры — создание собственных голосов, управление отдельными репликами и выразительные диалоги для игр, подкастов, аудиокниг и других проектов. По сравнению с Gemini 3.1 Flash TTS заявлены улучшения в длинном контенте и управлении диалогом двух говорящих.
Что это меняет на практике
Миграция сводится к замене модели: gemini-3.8-flash-tts или gemini-3.8-flash-lite-tts вместо gemini-3.1-flash-tts-preview и более ранних моделей Gemini TTS. Вызов SDK — client.interactions.create с model, input и response_format={"type": "audio"}; HTTP-эндпоинт — https://generativelanguage.googleapis.com/v1beta/interactions с заголовком x-goog-api-key.
Главное содержательное изменение при миграции — куда попадают инструкции. Указания по подаче (style) и метки говорящего (speaker) переносят в структурированные аннотации speech_metadata, а не встраивают в текст транскрипта; угловые теги оставляют только для мгновенных вокальных событий и пауз. В многоспикерных запросах каждый ход должен явно содержать speaker внутри speech_metadata, совпадающий с одним из настроенных говорящих.
Авторы дают отдельную рекомендацию по style: в нём нельзя менять неизменяемые характеристики говорящего — возраст, пол, имена, постоянные изменения акцента. Вместо этого выбирают региональный голос из Extended Voice Library или создают его через Voice design. Рабочий процесс выглядит так: создать персонажа один раз, писать естественные устные транскрипты с разговорными запинками и хезитациипаузами и колебаниями в речи, когда говорящий подыскивает слово или задумывается, сначала протестировать обычный TTS с пустым style — большинству запросов инструкция не нужна вовсе, — и добавлять короткие подсказки только для точечных правок, переиспользуя одну и ту же строку для согласованной базовой подачи.
Для многоходовых диалогов и голосовых агентов рекомендуется один вызов TTS на реплику по мере поступления текстовых фрагментов от LLM, при этом настроенный voice несёт идентичность говорящего между репликами, а длинную персону персонажа повторно отправлять не нужно. Поле style на реплику оставляют пустым или отправляют одну короткую постоянную строку на весь разговор; длинные ответы агента разбивают на более короткие реплики вместо усиления style-подсказок.
Ограничения и открытые вопросы
Google заявляет, что возможности создания и клонирования голоса построены со строгими защитными мерами. Для репликации применяется проверка согласия: до создания голоса пользователь предоставляет запись устного согласия владельца, совпадающую с эталонным говорящим. Каждый сгенерированный аудиоклип помечается неощутимым водяным знаком SynthIDневидимая метка, встраиваемая прямо в аудиовыход, чтобы синтезированную речь можно было распознать. Также упоминается защита метаданными C2PAстандарт метаданных о происхождении контента, дополняющий водяной знак сведениями об источнике аудио.
Ограничения касаются доступности: репликация голоса через AI Studio недоступна в Иллинойсе, Техасе, EEAЕвропейская экономическая зона — объединение стран Европы с общим рынком, Великобритании, Швейцарии и Индии. Для кастомных голосов действуют лимиты и сроки хранения, описанные выше.