Cette page explique comment passer des anciens modèles Gemini TTS, tels que gemini-3.1-flash-tts-preview, gemini-2.5-flash-tts, gemini-2.5-pro-tts et gemini-2.5-flash-lite-preview-tts, à Gemini 3.8 Flash TTS (gemini-3.8-flash-tts) et Gemini 3.8 Flash-Lite TTS (gemini-3.8-flash-lite-tts). Les anciens modèles sont documentés dans Gemini-TTS dans la documentation Google CloudText-to-Speech.
Choisir un modèle de remplacement
- Gemini 3.8 Flash-Lite TTS est le remplacement recommandé pour
gemini-3.1-flash-tts-preview. Choisissez-la pour la production à grand volume, les agents vocaux, les fonctionnalités de lecture à voix haute et la parole quotidienne sur une seule enceinte. - Gemini 3.8 Flash TTS est le modèle phare. Choisissez-la lorsque la fidélité de la voix, la nuance du jeu d'acteur, les dialogues à plusieurs voix ou la couverture des dialectes sont les plus importants, par exemple pour les livres audio et la narration en studio.
Les deux modèles utilisent le même schéma de requête. Vous pouvez donc passer de l'un à l'autre en modifiant l'ID du modèle. Pour une comparaison, consultez Quand utiliser quel modèle.
Résumé des modifications
| Zone | Anciens modèles Gemini TTS | Modèles Gemini 3.8 TTS |
|---|---|---|
| API | API Cloud Text-to-Speech ou API Gemini Enterprise | API Gemini Enterprise uniquement (generateContent et streamGenerateContent) |
| Emplacement | global et points de terminaison régionaux |
global uniquement |
| Orientation du style | Saisie dans le texte ("Say the following in a curious way: ...") ou dans le champ prompt de Cloud Text-to-Speech |
speech_metadata.style sur chaque partie |
| Dialogue entre plusieurs locuteurs | Préfixes de locuteur dans un bloc de texte ou Cloud Text-to-Speech multiSpeakerMarkup |
Une partie par tour avec speech_metadata.speaker |
| Tags vocaux intégrés | Crochets, tels que [sigh] |
Chevrons, tels que <sigh> |
| Sélection de la voix | prebuiltVoiceConfig.voiceName |
voiceConfig.voice, qui accepte également les ID de voix conçues et les clés de réplication vocale. prebuiltVoiceConfig.voiceName fonctionne toujours pour les voix prédéfinies. |
| Voix personnalisées | Audio de référence intégré dans replicatedVoiceConfig |
Conception de voix et réplication vocale via l'API Voices |
| Sortie par défaut (API Gemini Enterprise) | PCM 16 bits brut, 24 kHz, mono | Requêtes unaires : fichier WAV complet (PCM 16 bits, 24 kHz, mono). Demandes de streaming : PCM 16 bits brut, inchangé. Vous pouvez demander d'autres encodages avec responseFormat. |
temperature, topP, topK |
Ignoré | Refusé avec une erreur INVALID_ARGUMENT |
Modifier vos demandes
- Déplacez les instructions de style dans
speech_metadata.style: les modèles Gemini 3.8 TTS lisenttextcomme une transcription mot à mot. Les instructions écrites dans le texte peuvent donc être lues à voix haute. Placez les indications de jeu, de ton, de prosodie et de rythme soutenus dansspeech_metadata.style. - Utilisez une partie par tour de dialogue : pour les dialogues à plusieurs locuteurs, transmettez chaque tour en tant que
partdistinct et définissezspeech_metadata.speakersur chaque tour sur l'un des locuteurs demultiSpeakerVoiceConfig. - Remplacez les balises entre crochets par des balises entre chevrons : n'utilisez les chevrons, tels que
<sigh>,<laugh>ou<short pause>, que pour les événements vocaux ponctuels. Écrivez les hésitations, comme "euh", directement dans la transcription. - Concevez des personas à l'avance : remplacez les longues requêtes"Profil audio " ou "Notes du réalisateur" par une voix créée dans Conception de voix et gardez
stylecourt ou vide. - Supprimez les paramètres non compatibles : supprimez
temperature,topP,topK,candidateCountetsystemInstructionde vos requêtes. - Gérer la sortie WAV des requêtes unaires : les requêtes unaires renvoient désormais un fichier WAV complet au lieu d'un PCM brut. Si votre code ajoute un en-tête WAV ou concatène des extraits, supprimez l'étape d'en-tête ou définissez
generationConfig.responseFormatsurAUDIO_L16pour conserver la sortie PCM brute. - Recréez des voix répliquées avec l'API Voices : l'audio de référence intégré dans
replicatedVoiceConfign'est pas accepté. Créez une voix stockée ou une clé de réplication vocale avec l'API Voices, puis transmettez-la dansvoiceConfig.voice. Pour en savoir plus, consultez Réplication de la voix.
Pour obtenir plus de conseils sur la rédaction de requêtes, consultez le guide des requêtes.
Exemple
L'exemple suivant montre une requête gemini-3.1-flash-tts-preview et la requête Gemini 3.8 TTS équivalente.
Avant 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 ou version ultérieure
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"},
},
},
)
Les deux réponses renvoient l'audio au format response.candidates[0].content.parts[0].inline_data.data. L'ancien modèle renvoie un fichier audio PCM 16 bits brut (24 kHz, mono), tandis que le modèle Gemini 3.8 TTS renvoie un fichier WAV complet.
Migrer depuis l'API Cloud Text-to-Speech
Si vous appelez Gemini TTS via l'API Cloud Text-to-Speech (texttospeech.googleapis.com), envoyez vos requêtes à la méthode generateContent sur aiplatform.googleapis.com. Le tableau suivant mappe les champs de requête Cloud Text-to-Speech avec les champs de requête de l'API Gemini Enterprise :
API Cloud Text-to-Speech (text:synthesize) |
API Gemini Enterprise (generateContent) |
|---|---|
input.text |
contents[].parts[].text |
input.prompt |
contents[].parts[].speechMetadata.style |
input.multiSpeakerMarkup.turns[] (speaker, text) |
Une partie par tour, avec text et speechMetadata.speaker |
voice.modelName |
ID du modèle dans l'URL de la requête |
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 (par défaut pour les requêtes unaires) |
audioConfig.audioEncoding : PCM |
AUDIO_L16 (valeur par défaut pour les requêtes de streaming) |
audioConfig.audioEncoding : MULAW ou ALAW |
AUDIO_MULAW ou AUDIO_ALAW |
audioConfig.audioEncoding : MP3 ou OGG_OPUS |
Non compatible Encodez l'audio sur le client. |
audioConfig.sampleRateHertz |
Non compatible Pour connaître les fréquences d'échantillonnage de sortie, consultez Formats de sortie audio. |
L'API Cloud Text-to-Speech renvoie l'audio encodé en base64 dans audioContent.
L'API Gemini Enterprise le renvoie dans candidates[0].content.parts[0].inlineData.data.
Étapes suivantes
- Essayez les exemples dans la présentation de Gemini TTS.
- Découvrez comment orienter le style et les sons vocaux dans le guide de saisie de requêtes.