> ## 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 Text-to-Speech

Konvertiert Text über die Vertex AI generateContent-Schnittstelle in Sprache. Das Format des Request-Bodys ist vollständig identisch mit der offiziellen Vertex AI API. Unterstützt sowohl den synchronen Modus (eine Anfrage, eine Antwort) als auch den Streaming-Modus (eine Anfrage, Streaming-Antwort). Die Ausgabe erfolgt im LINEAR16-PCM-Format (24kHz, Mono, 16-bit signed little-endian) und enthält keinen WAV-Header.

## Request-Header

<ParamField header="Content-Type" type="string" required={true}>
  Enumerationswert: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Format der Bearer-Authentifizierung: Bearer \{\{API Key}}.
</ParamField>

## Request-Body

<ParamField body="contents" type="object" required={true}>
  <Expandable title="properties" defaultOpen={true}>
    <ParamField body="role" type="string" required={true} default="user">
      Rolle, fest auf user gesetzt

      Optionale Werte: `user`
    </ParamField>

    <ParamField body="parts" type="object" required={true}>
      <Expandable title="properties" defaultOpen={true}>
        <ParamField body="text" type="string" required={true}>
          Textinhalt, der in Sprache synthetisiert werden soll. Die Vertex AI API führt Prompt und Text in einem Feld zusammen, im Format '{prompt}: {text}', z. B. 'Say the following in a curious way: OK, so... tell me about this AI thing.'. Die Gesamtgröße beträgt maximal 8000 Byte; Audio, das 655 Sekunden überschreitet, wird abgeschnitten. Inline-Markup-Tags werden unterstützt: \[sigh], \[laughing], \[uhm], \[sarcasm], \[robotic], \[shouting], \[whispering], \[extremely fast], \[short pause], \[medium pause], \[long pause]

          Längenbegrenzung: 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}>
      Temperaturparameter, steuert die Zufälligkeit und Kreativität der Sprachgenerierung. Höhere Werte erzeugen kreativere und vielfältigere Ergebnisse, niedrigere Werte sind vorhersehbarer und fokussierter. Gültiger Bereich (0.0, 2.0], empfohlener Wert ist 2.0

      Wertebereich: \[0, 2]
    </ParamField>

    <ParamField body="speech_config" type="object" required={true}>
      <Expandable title="properties" defaultOpen={true}>
        <ParamField body="voice_config" type="object">
          Sprachkonfiguration für eine einzelne Person. Entweder voice\_config oder 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">
                  Name der vorgefertigten Stimme (Groß-/Kleinschreibung wird nicht beachtet). 30 optionale Stimmen verfügbar (sowohl weibliche als auch männliche Stimmen)

                  Optionale Werte: `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" required={true}>
          Sprachcode (BCP-47-Format, Groß-/Kleinschreibung wird nicht beachtet). GA-Sprachen: 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-Sprachen umfassen unter anderem cmn-CN (Chinesisch, Mandarin) und insgesamt 63 Sprachen

          Optionale Werte: `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">
          Sprachkonfiguration für mehrere Sprecher. Entweder voice\_config oder multi\_speaker\_voice\_config. Hinweis: gemini-2.5-flash-lite-preview-tts unterstützt keine Mehrsprecher-Synthese

          <Expandable title="properties" defaultOpen={true}>
            <ParamField body="speaker_voice_configs" type="object[]">
              Liste der Sprecher-Sprachkonfigurationen

              <Expandable title="properties" defaultOpen={true}>
                <ParamField body="speaker" type="string" required={true}>
                  Sprecher-Alias, darf nur aus alphanumerischen Zeichen bestehen und keine Leerzeichen enthalten. Muss mit der Sprecherkennung in contents.parts.text übereinstimmen
                </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">
                          Name der vorgefertigten Stimme (Groß-/Kleinschreibung wird nicht beachtet). 30 optionale Stimmen verfügbar (sowohl weibliche als auch männliche Stimmen)

                          Optionale Werte: `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>

## Antwortinformationen

<ResponseField name="audioContent" type="string" required={false}>
  Base64-codierter Audioinhalt. Format: LINEAR16 PCM (24kHz, Mono, 16-bit signed little-endian), ohne WAV-Header. Clients können ffmpeg zur Konvertierung verwenden: 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}>
      Gesamtanzahl der Tokens (promptTokenCount + candidatesTokenCount)
    </ResponseField>

    <ResponseField name="promptTokenCount" type="integer" required={false}>
      Anzahl der Tokens, die vom Eingabetext verbraucht wurden
    </ResponseField>

    <ResponseField name="candidatesTokenCount" type="integer" required={false}>
      Anzahl der Tokens, die vom Ausgabeaudio verbraucht wurden (ca. 25 Tokens pro Sekunde Audio)
    </ResponseField>
  </Expandable>
</ResponseField>
