> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jiekou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Gemini 2.5 Flash TTS: преобразование текста в речь

Gemini 2.5 Flash TTS на основе интерфейса Google Vertex AI generateContent. Поддерживает синхронный и потоковый синтез речи для одного или нескольких говорящих, позволяя точно управлять стилем, акцентом, ритмом, интонацией и эмоциональной выразительностью с помощью подсказок на естественном языке. Поле contents поддерживает максимум 8000 байт, максимальная длительность выходного аудио — около 655 секунд. Vertex AI выводит аудио в формате LINEAR16 PCM (24kHz, моно) без WAV-заголовка. Для других аудиоформатов клиент должен выполнить преобразование самостоятельно.

## Заголовки запроса

<ParamField header="Content-Type" type="string" required={true}>
  Перечисляемое значение: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Формат Bearer-аутентификации: Bearer \{\{API 密钥}}.
</ParamField>

## Тело запроса

<ParamField body="contents" type="object" required={true}>
  <Expandable title="properties" defaultOpen={true}>
    <ParamField body="role" type="string" required={true} default="user">
      Роль, фиксированное значение — user

      Допустимое значение: `user`
    </ParamField>

    <ParamField body="parts" type="object" required={true}>
      <Expandable title="properties" defaultOpen={true}>
        <ParamField body="text" type="string" required={true}>
          Текстовое содержимое, которое нужно синтезировать в речь. Vertex AI API объединяет подсказку и текст в одном поле в формате '{prompt}: {text}', например 'Say the following in a curious way: OK, so... tell me about this AI thing.'. Общий размер — до 8000 байт; аудио длительностью более 655 секунд будет обрезано. Поддерживаются встроенные теги разметки: \[sigh], \[laughing], \[uhm], \[sarcasm], \[robotic], \[shouting], \[whispering], \[extremely fast], \[short pause], \[medium pause], \[long pause]

          Ограничение длины: 0 - 8000
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="generation_config" type="object" required={true}>
  <Expandable title="properties" defaultOpen={true}>
    <ParamField body="temperature" type="number" default={2}>
      Параметр температуры, управляющий случайностью и креативностью генерации речи. Чем выше значение, тем более креативным и разнообразным будет результат; чем ниже значение, тем более предсказуемым и сфокусированным он будет. Допустимый диапазон: (0.0, 2.0], рекомендуемое значение — 2.0

      Диапазон значений: \[0, 2]
    </ParamField>

    <ParamField body="speech_config" type="object" required={true}>
      <Expandable title="properties" defaultOpen={true}>
        <ParamField body="voice_config" type="object">
          Конфигурация голоса для одного говорящего. Используется один из двух вариантов: voice\_config или multi\_speaker\_voice\_config

          <Expandable title="properties" defaultOpen={true}>
            <ParamField body="prebuilt_voice_config" type="object">
              <Expandable title="properties" defaultOpen={true}>
                <ParamField body="voice_name" type="string">
                  Название предустановленного голоса (без учета регистра). Доступно 30 голосов (как мужские, так и женские)

                  Возможные значения: `Achernar`, `Achird`, `Algenib`, `Algieba`, `Alnilam`, `Aoede`, `Autonoe`, `Callirrhoe`, `Charon`, `Despina`, `Enceladus`, `Erinome`, `Fenrir`, `Gacrux`, `Iapetus`, `Kore`, `Laomedeia`, `Leda`, `Orus`, `Pulcherrima`, `Puck`, `Rasalgethi`, `Sadachbia`, `Sadaltager`, `Schedar`, `Sulafat`, `Umbriel`, `Vindemiatrix`, `Zephyr`, `Zubenelgenubi`
                </ParamField>
              </Expandable>
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="language_code" type="string">
          Код языка (формат BCP-47, без учета регистра). Необязательное поле; если не передано, язык будет автоматически определен по входному тексту. Языки GA: ar-EG, bn-BD, nl-NL, en-IN, en-US, fr-FR, de-DE, hi-IN, id-ID, it-IT, ja-JP, ko-KR, mr-IN, pl-PL, pt-BR, ro-RO, ru-RU, es-ES, ta-IN, te-IN, th-TH, tr-TR, uk-UA, vi-VN. Языки Preview включают cmn-CN (китайский путунхуа) и еще 63 языка

          Возможные значения: `af-ZA`, `am-ET`, `ar-001`, `ar-EG`, `az-AZ`, `be-BY`, `bg-BG`, `bn-BD`, `ca-ES`, `ceb-PH`, `cmn-CN`, `cmn-TW`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-GB`, `en-IN`, `en-US`, `es-419`, `es-ES`, `es-MX`, `et-EE`, `eu-ES`, `fa-IR`, `fi-FI`, `fil-PH`, `fr-CA`, `fr-FR`, `gl-ES`, `gu-IN`, `he-IL`, `hi-IN`, `hr-HR`, `ht-HT`, `hu-HU`, `hy-AM`, `id-ID`, `is-IS`, `it-IT`, `ja-JP`, `jv-JV`, `ka-GE`, `kn-IN`, `ko-KR`, `kok-IN`, `la-VA`, `lb-LU`, `lo-LA`, `lt-LT`, `lv-LV`, `mai-IN`, `mg-MG`, `mk-MK`, `ml-IN`, `mn-MN`, `mr-IN`, `ms-MY`, `my-MM`, `nb-NO`, `ne-NP`, `nl-NL`, `nn-NO`, `or-IN`, `pa-IN`, `pl-PL`, `ps-AF`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sd-IN`, `si-LK`, `sk-SK`, `sl-SI`, `sq-AL`, `sr-RS`, `sv-SE`, `sw-KE`, `ta-IN`, `te-IN`, `th-TH`, `tr-TR`, `uk-UA`, `ur-PK`, `vi-VN`
        </ParamField>

        <ParamField body="multi_speaker_voice_config" type="object">
          Конфигурация голосов для нескольких говорящих. Используется один из двух вариантов: voice\_config или multi\_speaker\_voice\_config. Примечание: gemini-2.5-flash-lite-preview-tts не поддерживает синтез с несколькими говорящими

          <Expandable title="properties" defaultOpen={true}>
            <ParamField body="speaker_voice_configs" type="object[]">
              Список конфигураций голосов говорящих

              <Expandable title="properties" defaultOpen={true}>
                <ParamField body="speaker" type="string" required={true}>
                  Псевдоним говорящего; должен состоять только из буквенно-цифровых символов и не содержать пробелов. Должен совпадать с идентификатором говорящего в contents.parts.text
                </ParamField>

                <ParamField body="voice_config" type="object" required={true}>
                  <Expandable title="properties" defaultOpen={true}>
                    <ParamField body="prebuilt_voice_config" type="object">
                      <Expandable title="properties" defaultOpen={true}>
                        <ParamField body="voice_name" type="string">
                          Название предустановленного голоса (без учета регистра). Доступно 30 голосов (как мужские, так и женские)

                          Возможные значения: `Achernar`, `Achird`, `Algenib`, `Algieba`, `Alnilam`, `Aoede`, `Autonoe`, `Callirrhoe`, `Charon`, `Despina`, `Enceladus`, `Erinome`, `Fenrir`, `Gacrux`, `Iapetus`, `Kore`, `Laomedeia`, `Leda`, `Orus`, `Pulcherrima`, `Puck`, `Rasalgethi`, `Sadachbia`, `Sadaltager`, `Schedar`, `Sulafat`, `Umbriel`, `Vindemiatrix`, `Zephyr`, `Zubenelgenubi`
                        </ParamField>
                      </Expandable>
                    </ParamField>
                  </Expandable>
                </ParamField>
              </Expandable>
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## Информация об ответе

<ResponseField name="audioContent" type="string" required={false}>
  Аудиоконтент в кодировке Base64. Формат — LINEAR16 PCM (24kHz, моно, 16-bit signed little-endian), без WAV-заголовка. Клиент может выполнить преобразование с помощью ffmpeg: ffmpeg -f s16le -ar 24k -ac 1 -i input.raw output.wav
</ResponseField>

<ResponseField name="usageMetadata" type="object" required={false}>
  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="totalTokenCount" type="integer" required={false}>
      Общее количество token (promptTokenCount + candidatesTokenCount)
    </ResponseField>

    <ResponseField name="promptTokenCount" type="integer" required={false}>
      Количество token, израсходованных входным текстом
    </ResponseField>

    <ResponseField name="candidatesTokenCount" type="integer" required={false}>
      Количество token, израсходованных выходным аудио (примерно 25 token на секунду аудио)
    </ResponseField>
  </Expandable>
</ResponseField>
