Zu Gemini 3.8 TTS migrieren

Auf dieser Seite wird beschrieben, wie Sie von früheren Gemini TTS-Modellen wie gemini-3.1-flash-tts-preview, gemini-2.5-flash-tts, gemini-2.5-pro-tts und gemini-2.5-flash-lite-preview-tts zu Gemini 3.8 Flash TTS (gemini-3.8-flash-tts) und Gemini 3.8 Flash-Lite TTS (gemini-3.8-flash-lite-tts) migrieren. Die früheren Modelle sind in der Google CloudText-to-Speech-Dokumentation unter Gemini-TTS dokumentiert.

Ersatzmodell auswählen

  • Gemini 3.8 Flash-Lite TTS ist der empfohlene Ersatz für gemini-3.1-flash-tts-preview. Sie eignet sich für die Produktion großer Mengen, Sprach-Agents, Vorlesefunktionen und alltägliche Sprachausgabe mit einem einzelnen Sprecher.
  • Gemini 3.8 Flash TTS ist das Flaggschiffmodell. Diese Option ist am besten geeignet, wenn es auf die Stimmwiedergabe, die Nuancen der Sprecher, Dialoge mit mehreren Sprechern oder die Abdeckung von Dialekten ankommt, z. B. bei Hörbüchern und Studio-Voiceovers.

Beide Modelle verwenden dasselbe Anfrageschema. Sie können also zwischen ihnen wechseln, indem Sie die Modell-ID ändern. Einen Vergleich finden Sie unter Wann sollte welches Modell verwendet werden?.

Zusammenfassung der Änderungen

Gebiet Ältere Gemini TTS-Modelle Gemini 3.8 TTS-Modelle
API Cloud Text-to-Speech API oder Gemini Enterprise API Nur Gemini Enterprise API (generateContent und streamGenerateContent)
Standort global und regionale Endpunkte Nur die global
Stilrichtung In den Text ("Say the following in a curious way: ...") oder das Cloud Text-to-Speech-Feld (prompt) eingegeben speech_metadata.style auf jedem Teil
Dialog mit mehreren Sprechern Sprecherpräfixe in einem Textblock oder Cloud Text-to-Speech multiSpeakerMarkup Ein Teil pro Runde mit speech_metadata.speaker
Inline-Gesangstags Eckige Klammern, z. B. [sigh] Spitze Klammern, z. B. <sigh>
Stimmenauswahl prebuiltVoiceConfig.voiceName voiceConfig.voice, in der auch IDs für benutzerdefinierte Stimmen und Schlüssel für die Stimmenreplikation akzeptiert werden. prebuiltVoiceConfig.voiceName funktioniert weiterhin für integrierte Stimmen.
Custom Voices Inline-Referenz-Audio in replicatedVoiceConfig Stimmendesign und Stimmenreplikation über die Voices API
Standardausgabe (Gemini Enterprise API) Rohes 16‑Bit-PCM, 24 kHz, Mono Unäre Anfragen: eine vollständige WAV-Datei (16-Bit-PCM, 24 kHz, Mono). Streaminganfragen: rohes 16‑Bit-PCM, unverändert. Mit responseFormat können Sie andere Codierungen anfordern.
temperature, topP, topK Ignoriert Abgelehnt mit dem Fehler INVALID_ARGUMENT

Anfragen aktualisieren

  1. Stilanweisungen in speech_metadata.style verschieben: Die Gemini 3.8 TTS -Modelle lesen text als wörtliches Transkript vor. Daher werden Anweisungen, die in den Text geschrieben wurden, möglicherweise laut vorgelesen. Anweisungen zu anhaltender Schauspielerei, Ton, Prosodie und Tempo gehören in speech_metadata.style.
  2. Einen Teil pro Dialogrunde verwenden: Bei Dialogen mit mehreren Sprechern übergeben Sie jede Runde als separaten part und legen Sie speech_metadata.speaker für jede Runde auf einen der Sprecher in multiSpeakerVoiceConfig fest.
  3. Eckige Klammern durch spitze Klammern ersetzen: Verwenden Sie spitze Klammern wie <sigh>, <laugh> oder <short pause> nur für Gesangsereignisse zu einem bestimmten Zeitpunkt. Schreiben Sie Unterbrechungen wie „ähm“ direkt ins Transkript.
  4. Design-Personas im Voraus erstellen: Ersetzen Sie lange Prompts wie „Audio-Profil“ oder „Notizen des Regisseurs“ durch eine Stimme, die in Voice Design erstellt wurde, und halten Sie style kurz oder leer.
  5. Nicht unterstützte Parameter entfernen: Entfernen Sie temperature, topP, topK, candidateCount und systemInstruction aus Ihren Anfragen.
  6. WAV-Ausgabe von unären Anfragen verarbeiten: Unäre Anfragen geben jetzt eine vollständige WAV-Datei anstelle von rohem PCM zurück. Wenn in Ihrem Code ein WAV-Header hinzugefügt oder Clips verkettet werden, entfernen Sie den Headerschritt oder legen Sie generationConfig.responseFormat auf AUDIO_L16 fest, um die rohe PCM-Ausgabe beizubehalten.
  7. Replicated Voices mit der Voices API neu erstellen: Inline-Referenz-Audio in replicatedVoiceConfig wird nicht unterstützt. Erstellen Sie mit der Voices API eine gespeicherte Stimme oder einen Schlüssel zur Stimmreplikation und übergeben Sie ihn in voiceConfig.voice. Weitere Informationen finden Sie unter Stimmreplikation.

Weitere Informationen zum Schreiben von Prompts finden Sie in der Prompt-Anleitung.

Beispiel

Das folgende Beispiel zeigt eine gemini-3.1-flash-tts-preview-Anfrage und die entsprechende Gemini 3.8-TTS-Anfrage.

Vor Gemini 3.8

from google import genai
from google.genai import types

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

response = client.models.generate_content(
    model="gemini-3.1-flash-tts-preview",
    contents="Say the following in a curious way: OK, so... tell me about this [uhm] AI thing.",
    config=types.GenerateContentConfig(
        response_modalities=["AUDIO"],
        speech_config=types.SpeechConfig(
            language_code="en-US",
            voice_config=types.VoiceConfig(
                prebuilt_voice_config=types.PrebuiltVoiceConfig(voice_name="Kore")
            ),
        ),
    ),
)

Gemini 3.8 oder höher

from google import genai

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

response = client.models.generate_content(
    model="gemini-3.8-flash-lite-tts",
    contents=[{
        "role": "user",
        "parts": [{
            "text": "OK, so... uhm, tell me about this AI thing.",
            "speech_metadata": {"style": "curious"},
        }],
    }],
    config={
        "response_modalities": ["AUDIO"],
        "speech_config": {
            "language_code": "en-US",
            "voice_config": {"voice": "Kore"},
        },
    },
)

Bei beiden Antworten wird das Audio in response.candidates[0].content.parts[0].inline_data.data zurückgegeben. Das frühere Modell gibt rohe 16‑Bit-PCM-Audiodaten (24 kHz, Mono) zurück, das Gemini 3.8-TTS-Modell eine vollständige WAV-Datei.

Von der Cloud Text-to-Speech API migrieren

Wenn Sie Gemini TTS über die Cloud Text-to-Speech API (texttospeech.googleapis.com) aufrufen, senden Sie Ihre Anfragen stattdessen an die Methode generateContent unter aiplatform.googleapis.com. In der folgenden Tabelle werden die Anforderungsfelder der Cloud Text-to-Speech API den API-Anfragenfeldern der Gemini Enterprise API zugeordnet:

Cloud Text-to-Speech API (text:synthesize) Gemini Enterprise API (generateContent)
input.text contents[].parts[].text
input.prompt contents[].parts[].speechMetadata.style
input.multiSpeakerMarkup.turns[] (speaker, text) Ein Teil pro Runde mit text und speechMetadata.speaker
voice.modelName Die Modell-ID in der Anfrage-URL
voice.name generationConfig.speechConfig.voiceConfig.voice
voice.languageCode generationConfig.speechConfig.languageCode
voice.multiSpeakerVoiceConfig.speakerVoiceConfigs[] (speakerAlias, speakerId) generationConfig.speechConfig.multiSpeakerVoiceConfig.speakerVoiceConfigs[] (speaker, voiceConfig.voice)
audioConfig.audioEncoding: LINEAR16 generationConfig.responseFormat[].audio.mimeType: AUDIO_WAV (Standard für unäre Anfragen)
audioConfig.audioEncoding: PCM AUDIO_L16 (Standard für Streaminganfragen)
audioConfig.audioEncoding: MULAW oder ALAW AUDIO_MULAW oder AUDIO_ALAW
audioConfig.audioEncoding: MP3 oder OGG_OPUS Nicht unterstützt. Audio auf dem Client codieren
audioConfig.sampleRateHertz Nicht unterstützt. Informationen zu Ausgabefrequenzraten findest du unter Audioausgabeformate.

Die Cloud Text-to-Speech API gibt base64-codierte Audioinhalte in audioContent zurück. Die Gemini Enterprise API gibt sie in candidates[0].content.parts[0].inlineData.data zurück.

Nächste Schritte