Sprachausgabe

Mit der Gemini API kann Texteingabe mithilfe der Gemini-TTS-Funktionen (Text-to-Speech) in Audio für einen einzelnen Sprecher oder mehrere Sprecher umgewandelt werden. Die TTS-Generierung (Text-to-Speech) ist steuerbar. Das bedeutet, dass Sie mit natürlicher Sprache Interaktionen strukturieren und Stil, Akzent, Tempo und Ton des Audiosignals festlegen können.

Die TTS-Funktion unterscheidet sich von der Sprachgenerierung über die Live API, die für interaktive, unstrukturierte Audio- sowie multimodale Ein- und Ausgaben konzipiert ist. Während sich die Live API durch dynamische Konversationskontexte auszeichnet, ist TTS über die Gemini API auf Szenarien zugeschnitten, die eine genaue Textwiedergabe mit detaillierter Steuerung von Stil und Klang erfordern, z. B. die Generierung von Podcasts oder Hörbüchern.

In dieser Anleitung erfahren Sie, wie Sie Audio mit einem oder mehreren Sprechern aus Text generieren.

Hinweis

Achten Sie darauf, dass Sie eine Gemini-Modellvariante mit Gemini-TTS-Funktionen (Text-to-Speech) verwenden, wie im Abschnitt Unterstützte Modelle aufgeführt. Für optimale Ergebnisse sollten Sie überlegen, welches Modell am besten zu Ihrem spezifischen Anwendungsfall passt.

Es kann hilfreich sein, die Gemini TTS-Modelle in AI Studio zu testen, bevor Sie mit der Entwicklung beginnen.

TTS mit einem einzelnen Sprecher

Wenn Sie Text in Audioinhalte mit einem einzelnen Sprecher umwandeln möchten, legen Sie die Antwortmodalität auf „audio“ fest und übergeben Sie ein SpeechConfig-Objekt mit VoiceConfig. Sie müssen einen Namen für die Stimme aus den vordefinierten Ausgabestimmen auswählen.

In diesem Beispiel wird die Audioausgabe des Modells in einer WAV-Datei gespeichert:

Python

from google import genai
from google.genai import types
import wave

# Set up the wave file to save the output:
def wave_file(filename, pcm, channels=1, rate=24000, sample_width=2):
   with wave.open(filename, "wb") as wf:
      wf.setnchannels(channels)
      wf.setsampwidth(sample_width)
      wf.setframerate(rate)
      wf.writeframes(pcm)

client = genai.Client()

response = client.models.generate_content(
   model="gemini-3.1-flash-tts-preview",
   contents="Say cheerfully: Have a wonderful day!",
   config=types.GenerateContentConfig(
      response_modalities=["AUDIO"],
      speech_config=types.SpeechConfig(
         voice_config=types.VoiceConfig(
            prebuilt_voice_config=types.PrebuiltVoiceConfig(
               voice_name='Kore',
            )
         )
      ),
   )
)

data = response.candidates[0].content.parts[0].inline_data.data

file_name='out.wav'
wave_file(file_name, data) # Saves the file to current directory

JavaScript

import {GoogleGenAI} from '@google/genai';
import wav from 'wav';

async function saveWaveFile(
   filename,
   pcmData,
   channels = 1,
   rate = 24000,
   sampleWidth = 2,
) {
   return new Promise((resolve, reject) => {
      const writer = new wav.FileWriter(filename, {
            channels,
            sampleRate: rate,
            bitDepth: sampleWidth * 8,
      });

      writer.on('finish', resolve);
      writer.on('error', reject);

      writer.write(pcmData);
      writer.end();
   });
}

async function main() {
   const ai = new GoogleGenAI({});

   const response = await ai.models.generateContent({
      model: "gemini-3.1-flash-tts-preview",
      contents: [{ parts: [{ text: 'Say cheerfully: Have a wonderful day!' }] }],
      config: {
            responseModalities: ['AUDIO'],
            speechConfig: {
               voiceConfig: {
                  prebuiltVoiceConfig: { voiceName: 'Kore' },
               },
            },
      },
   });

   const data = response.candidates?.[0]?.content?.parts?.[0]?.inlineData?.data;
   const audioBuffer = Buffer.from(data, 'base64');

   const fileName = 'out.wav';
   await saveWaveFile(fileName, audioBuffer);
}
await main();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-tts-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "contents": [{
          "parts":[{
            "text": "Say cheerfully: Have a wonderful day!"
          }]
        }],
        "generationConfig": {
          "responseModalities": ["AUDIO"],
          "speechConfig": {
            "voiceConfig": {
              "prebuiltVoiceConfig": {
                "voiceName": "Kore"
              }
            }
          }
        },
        "model": "gemini-3.1-flash-tts-preview",
    }' | jq -r '.candidates[0].content.parts[0].inlineData.data' | \
          base64 --decode >out.pcm
# You may need to install ffmpeg.
ffmpeg -f s16le -ar 24000 -ac 1 -i out.pcm out.wav

TTS mit mehreren Sprechern

Für Audio mit mehreren Sprechern benötigen Sie ein MultiSpeakerVoiceConfig-Objekt, in dem jeder Sprecher (bis zu 2) als SpeakerVoiceConfig konfiguriert ist. Sie müssen jedes speaker mit denselben Namen definieren, die im Prompt verwendet werden:

Python

from google import genai
from google.genai import types
import wave

# Set up the wave file to save the output:
def wave_file(filename, pcm, channels=1, rate=24000, sample_width=2):
   with wave.open(filename, "wb") as wf:
      wf.setnchannels(channels)
      wf.setsampwidth(sample_width)
      wf.setframerate(rate)
      wf.writeframes(pcm)

client = genai.Client()

prompt = """TTS the following conversation between Joe and Jane:
         Joe: How's it going today Jane?
         Jane: Not too bad, how about you?"""

response = client.models.generate_content(
   model="gemini-3.1-flash-tts-preview",
   contents=prompt,
   config=types.GenerateContentConfig(
      response_modalities=["AUDIO"],
      speech_config=types.SpeechConfig(
         multi_speaker_voice_config=types.MultiSpeakerVoiceConfig(
            speaker_voice_configs=[
               types.SpeakerVoiceConfig(
                  speaker='Joe',
                  voice_config=types.VoiceConfig(
                     prebuilt_voice_config=types.PrebuiltVoiceConfig(
                        voice_name='Kore',
                     )
                  )
               ),
               types.SpeakerVoiceConfig(
                  speaker='Jane',
                  voice_config=types.VoiceConfig(
                     prebuilt_voice_config=types.PrebuiltVoiceConfig(
                        voice_name='Puck',
                     )
                  )
               ),
            ]
         )
      )
   )
)

data = response.candidates[0].content.parts[0].inline_data.data

file_name='out.wav'
wave_file(file_name, data) # Saves the file to current directory

JavaScript

import {GoogleGenAI} from '@google/genai';
import wav from 'wav';

async function saveWaveFile(
   filename,
   pcmData,
   channels = 1,
   rate = 24000,
   sampleWidth = 2,
) {
   return new Promise((resolve, reject) => {
      const writer = new wav.FileWriter(filename, {
            channels,
            sampleRate: rate,
            bitDepth: sampleWidth * 8,
      });

      writer.on('finish', resolve);
      writer.on('error', reject);

      writer.write(pcmData);
      writer.end();
   });
}

async function main() {
   const ai = new GoogleGenAI({});

   const prompt = `TTS the following conversation between Joe and Jane:
         Joe: How's it going today Jane?
         Jane: Not too bad, how about you?`;

   const response = await ai.models.generateContent({
      model: "gemini-3.1-flash-tts-preview",
      contents: [{ parts: [{ text: prompt }] }],
      config: {
            responseModalities: ['AUDIO'],
            speechConfig: {
               multiSpeakerVoiceConfig: {
                  speakerVoiceConfigs: [
                        {
                           speaker: 'Joe',
                           voiceConfig: {
                              prebuiltVoiceConfig: { voiceName: 'Kore' }
                           }
                        },
                        {
                           speaker: 'Jane',
                           voiceConfig: {
                              prebuiltVoiceConfig: { voiceName: 'Puck' }
                           }
                        }
                  ]
               }
            }
      }
   });

   const data = response.candidates?.[0]?.content?.parts?.[0]?.inlineData?.data;
   const audioBuffer = Buffer.from(data, 'base64');

   const fileName = 'out.wav';
   await saveWaveFile(fileName, audioBuffer);
}

await main();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-tts-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
  "contents": [{
    "parts":[{
      "text": "TTS the following conversation between Joe and Jane:
                Joe: Hows it going today Jane?
                Jane: Not too bad, how about you?"
    }]
  }],
  "generationConfig": {
    "responseModalities": ["AUDIO"],
    "speechConfig": {
      "multiSpeakerVoiceConfig": {
        "speakerVoiceConfigs": [{
            "speaker": "Joe",
            "voiceConfig": {
              "prebuiltVoiceConfig": {
                "voiceName": "Kore"
              }
            }
          }, {
            "speaker": "Jane",
            "voiceConfig": {
              "prebuiltVoiceConfig": {
                "voiceName": "Puck"
              }
            }
          }]
      }
    }
  },
  "model": "gemini-3.1-flash-tts-preview",
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' | \
    base64 --decode > out.pcm
# You may need to install ffmpeg.
ffmpeg -f s16le -ar 24000 -ac 1 -i out.pcm out.wav

Sprachstil mit Prompts steuern

Sie können Stil, Ton, Akzent und Tempo sowohl für TTS mit einem als auch mit mehreren Sprechern über Prompts in natürlicher Sprache oder Audio-Tags steuern. Bei einem Prompt mit nur einem Sprecher können Sie beispielsweise Folgendes sagen:

Say in an spooky voice:
"By the pricking of my thumbs... [short pause]
[whisper] Something wicked this way comes"

Geben Sie in einem Prompt mit mehreren Sprechern den Namen jedes Sprechers und das entsprechende Transkript an. Sie können auch für jeden Lautsprecher einzeln Anweisungen geben:

Make Speaker1 sound tired and bored, and Speaker2 sound excited and happy:

Speaker1: So... [yawn] what's on the agenda today?
Speaker2: You're never going to guess!

Verwenden Sie eine Stimmoption, die dem Stil oder der Emotion entspricht, die Sie vermitteln möchten, um diese noch stärker zu betonen. Im vorherigen Prompt könnte beispielsweise die gehauchte Stimme von Enceladus die Wörter „müde“ und „gelangweilt“ betonen, während der fröhliche Ton von Puck die Wörter „aufgeregt“ und „glücklich“ ergänzen könnte.

Prompt zum Konvertieren in Audio generieren

Die TTS-Modelle geben nur Audio aus. Sie können jedoch andere Modelle verwenden, um zuerst ein Transkript zu erstellen, das Sie dann dem TTS-Modell zum Vorlesen übergeben.

Python

from google import genai
from google.genai import types

client = genai.Client()

transcript = client.models.generate_content(
   model="gemini-3-flash-preview",
   contents="""Generate a short transcript around 100 words that reads
            like it was clipped from a podcast by excited herpetologists.
            The hosts names are Dr. Anya and Liam.""").text

response = client.models.generate_content(
   model="gemini-3.1-flash-tts-preview",
   contents=transcript,
   config=types.GenerateContentConfig(
      response_modalities=["AUDIO"],
      speech_config=types.SpeechConfig(
         multi_speaker_voice_config=types.MultiSpeakerVoiceConfig(
            speaker_voice_configs=[
               types.SpeakerVoiceConfig(
                  speaker='Dr. Anya',
                  voice_config=types.VoiceConfig(
                     prebuilt_voice_config=types.PrebuiltVoiceConfig(
                        voice_name='Kore',
                     )
                  )
               ),
               types.SpeakerVoiceConfig(
                  speaker='Liam',
                  voice_config=types.VoiceConfig(
                     prebuilt_voice_config=types.PrebuiltVoiceConfig(
                        voice_name='Puck',
                     )
                  )
               ),
            ]
         )
      )
   )
)

# ...Code to handle audio output

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {

const transcript = await ai.models.generateContent({
   model: "gemini-3-flash-preview",
   contents: "Generate a short transcript around 100 words that reads like it was clipped from a podcast by excited herpetologists. The hosts names are Dr. Anya and Liam.",
   })

const response = await ai.models.generateContent({
   model: "gemini-3.1-flash-tts-preview",
   contents: transcript,
   config: {
      responseModalities: ['AUDIO'],
      speechConfig: {
         multiSpeakerVoiceConfig: {
            speakerVoiceConfigs: [
                   {
                     speaker: "Dr. Anya",
                     voiceConfig: {
                        prebuiltVoiceConfig: {voiceName: "Kore"},
                     }
                  },
                  {
                     speaker: "Liam",
                     voiceConfig: {
                        prebuiltVoiceConfig: {voiceName: "Puck"},
                    }
                  }
                ]
              }
            }
      }
  });
}
// ..JavaScript code for exporting .wav file for output audio

await main();

Stimmoptionen

TTS-Modelle unterstützen die folgenden 30 Sprachoptionen im Feld voice_name:

Zephyr – Hell Puck – Upbeat Charon – Informative
Kore – Firm Fenrir – Leicht aufgeregt Leda – Jugendlich
Orus – Unternehmen Aoede – Breezy Callirrhoe – Unkompliziert
Autonoe – Hell Enceladus – Breathy Iapetus – Clear
Umbriel – Gelassen Algieba – Smooth Despina – Smooth
Erinome – Wolkenlos Algenib – Kiesig Rasalgethi – Informativ
Laomedeia – Upbeat Achernar – Weich Alnilam – Firm
Schedar – Gerade Gacrux – Nicht jugendfrei Pulcherrima – Kess
Achird – Freundlich Zubenelgenubi – Casual Vindemiatrix – Sanft
Sadachbia – Lively Sadaltager – Sachkundig Sulafat – Warm

Alle Sprachoptionen finden Sie in AI Studio.

Unterstützte Sprachen

Die TTS-Modelle erkennen die Eingabesprache automatisch. Folgende Sprachen werden unterstützt:

Sprache BCP-47-Code Sprache BCP-47-Code
Arabisch ar Filipino fil
Bengalisch bn Finnisch fi
Niederländisch nl Galizisch gl
Englisch de Georgisch ka
Französisch fr Griechisch el
Deutsch de Gujarati gu
Hindi hi Haitianisch ht
Indonesisch id Hebräisch er
Italienisch it Ungarisch hu
Japanisch ja Isländisch ist
Koreanisch ko Javanisch jv
Marathi mr Kannada kn
Polnisch pl Konkani kok
Portugiesisch pt Lao lo
Rumänisch ro Latin la
Russisch ru Lettisch lv
Spanisch es Litauisch lt
Tamil ta Luxemburgisch lb
Telugu te Mazedonisch mk
Thailändisch th Maithili mai
Türkisch tr Malagasy mg
Ukrainisch uk Malaiisch ms
Vietnamesisch vi Malayalam ml
Afrikaans af Mongolisch mn
Albanisch sq Nepalesisch ne
Amharisch am Norwegisch (Bokmål) nb
Armenisch hy Norwegisch, Nynorsk nn
Aserbaidschanisch az Oriya oder
Baskisch eu Paschtu ps
Belarussisch be Persisch fa
Bulgarisch bg Punjabi pa
Burmesisch my Serbisch sr
Katalanisch ca Sindhi sd
Cebuano ceb Singhalesisch si
Chinesisch (Mandarin) cmn Slowakisch sk
Kroatisch Std. Slowenisch sl
Tschechisch cs Swahili sw
Dänisch da Schwedisch sv
Estnisch et Urdu ur

Unterstützte Modelle

Modell Einzelner Sprecher Mehrere Sprecher
Gemini 3.1 Flash TTS (Vorabversion) ✔️ ✔️
Gemini 2.5 Flash Preview TTS ✔️ ✔️
Gemini 2.5 Pro Preview TTS ✔️ ✔️

Anleitung zu Prompts

Das Modell Gemini Native Audio Generation Text-to-Speech (TTS) unterscheidet sich von herkömmlichen TTS-Modellen dadurch, dass es ein Large Language Model verwendet, das nicht nur weiß, was gesagt werden soll, sondern auch, wie es gesagt werden soll.

Um diese Funktion nutzen zu können, müssen Nutzer sich vorstellen, dass sie Regisseure sind, die eine Szene für ein virtuelles Voice-Talent festlegen. Für einen Prompt empfehlen wir, die folgenden Komponenten zu berücksichtigen: ein Audioprofil, das die Kernidentität und den Archetyp der Figur definiert, eine Szenenbeschreibung, die die physische Umgebung und die emotionale Stimmung festlegt, und Regieanweisungen, die genauere Leistungsrichtlinien in Bezug auf Stil, Akzent und Tempo bieten.

Durch die Angabe differenzierter Anweisungen wie eines präzisen regionalen Akzents, spezifischer paralinguistischer Merkmale (z.B. Behauchtheit) oder des Tempos können Nutzer die Kontextsensitivität des Modells nutzen, um sehr dynamische, natürliche und ausdrucksstarke Audioinhalte zu generieren. Für eine optimale Leistung empfehlen wir, dass das Transkript und die Regieanweisungen übereinstimmen, sodass „wer es sagt“ mit „was gesagt wird“ und „wie es gesagt wird“ übereinstimmt.

Ziel dieses Leitfadens ist es, grundlegende Anleitungen zu geben und Ideen zu wecken, wenn Sie Audioinhalte mit der Gemini TTS-Audioerstellung entwickeln. Wir sind gespannt, was Sie damit alles schaffen.

Prompt-Struktur

Ein guter Prompt enthält idealerweise die folgenden Elemente, die zusammen eine hervorragende Leistung ermöglichen:

  • Audioprofil: Hier wird eine Persona für die Stimme erstellt, die eine Charakteridentität, einen Archetyp und andere Merkmale wie Alter, Hintergrund usw. definiert.
  • Szene: Legt die Bühne fest. Beschreibt sowohl die physische Umgebung als auch die Atmosphäre.
  • Hinweise des Regisseurs: Hier finden Sie Leistungsrichtlinien, in denen Sie aufschlüsseln können, welche Anweisungen für Ihr virtuelles Talent wichtig sind. Beispiele sind Stil, Atmung, Tempo, Artikulation und Akzent.
  • Beispielkontext: Bietet dem Modell einen Kontext als Ausgangspunkt, damit Ihr virtueller Schauspieler auf natürliche Weise in die von Ihnen eingerichtete Szene eintritt.
  • Transkript: Der Text, der vom Modell gesprochen wird. Für eine optimale Leistung sollten das Thema des Transkripts und der Schreibstil mit den Anweisungen übereinstimmen, die Sie geben.
  • Audio-Tags: Modifikatoren, die Sie in ein Transkript einfügen können, um die Wiedergabe eines bestimmten Textteils zu ändern, z. B. [whispers] oder [shouting].

Beispiel für einen vollständigen Prompt:

# AUDIO PROFILE: Jaz R.
## "The Morning Hype"

## THE SCENE: The London Studio
It is 10:00 PM in a glass-walled studio overlooking the moonlit London skyline,
but inside, it is blindingly bright. The red "ON AIR" tally light is blazing.
Jaz is standing up, not sitting, bouncing on the balls of their heels to the
rhythm of a thumping backing track. Their hands fly across the faders on a
massive mixing desk. It is a chaotic, caffeine-fueled cockpit designed to wake
up an entire nation.

### DIRECTOR'S NOTES
Style:
* The "Vocal Smile": You must hear the grin in the audio. The soft palate is
always raised to keep the tone bright, sunny, and explicitly inviting.
* Dynamics: High projection without shouting. Punchy consonants and elongated
vowels on excitement words (e.g., "Beauuutiful morning").

Pace: Speaks at an energetic pace, keeping up with the fast music.  Speaks
with A "bouncing" cadence. High-speed delivery with fluid transitions — no dead
air, no gaps.

Accent: Jaz is from Brixton, London

### SAMPLE CONTEXT
Jaz is the industry standard for Top 40 radio, high-octane event promos, or any
script that requires a charismatic Estuary accent and 11/10 infectious energy.

#### TRANSCRIPT
[excitedly] Yes, massive vibes in the studio! You are locked in and it is
absolutely popping off in London right now. If you're stuck on the tube, or
just sat there pretending to work... stop it. Seriously, I see you.
[shouting] Turn this up! We've got the project roadmap landing in three,
two... let's go!

Detaillierte Prompt-Strategien

Sehen wir uns die einzelnen Elemente des Prompts genauer an.

Audioprofil

Beschreiben Sie kurz die Persönlichkeit des Charakters.

  • Name: Wenn Sie Ihrem Charakter einen Namen geben, kann das Modell die Leistung besser anpassen. Beziehen Sie sich beim Festlegen der Szene und des Kontexts auf den Charakter.
  • Rolle: Die grundlegende Identität und der Archetyp der Figur, die in der Szene dargestellt wird, z. B. Radiomoderator, Podcaster, Nachrichtenreporter usw.

Beispiele:

# AUDIO PROFILE: Jaz R.
## "The Morning Hype"


# AUDIO PROFILE: Monica A.
## "The Beauty Influencer"

Szene

Legen Sie den Kontext für die Szene fest, einschließlich Ort, Stimmung und Umgebungsdetails, die den Ton und die Atmosphäre bestimmen. Beschreibe, was um die Figur herum passiert und wie sich das auf sie auswirkt. Die Szene bietet den Umgebungs-Kontext für die gesamte Interaktion und lenkt die schauspielerische Leistung auf subtile, organische Weise.

Beispiele:

## THE SCENE: The London Studio
It is 10:00 PM in a glass-walled studio overlooking the moonlit London skyline,
but inside, it is blindingly bright. The red "ON AIR" tally light is blazing.
Jaz is standing up, not sitting, bouncing on the balls of their heels to the
rhythm of a thumping backing track. Their hands fly across the faders on a
massive mixing desk. It is a chaotic, caffeine-fueled cockpit designed to
wake up an entire nation.


## THE SCENE: Homegrown Studio
A meticulously sound-treated bedroom in a suburban home. The space is
deadened by plush velvet curtains and a heavy rug, but there is a
distinct "proximity effect."

Hinweise für Regisseure

Dieser wichtige Abschnitt enthält spezifische Leistungsrichtlinien. Sie können alle anderen Elemente überspringen, wir empfehlen jedoch, dieses Element einzufügen.

Definieren Sie nur, was für die Leistung wichtig ist, und achten Sie darauf, nicht zu viele Angaben zu machen. Zu viele strenge Regeln schränken die Kreativität der Modelle ein und können zu einer schlechteren Leistung führen. Achte auf ein ausgewogenes Verhältnis zwischen der Beschreibung der Rolle und der Szene und den spezifischen Leistungsregeln.

Die häufigsten Anweisungen sind Stil, Tempo und Akzent. Das Modell ist jedoch nicht auf diese beschränkt und erfordert sie auch nicht. Sie können benutzerdefinierte Anweisungen hinzufügen, um zusätzliche Details zu berücksichtigen, die für Ihre Leistung wichtig sind. Dabei können Sie so viele oder so wenige Details angeben, wie nötig.

Beispiel:

### DIRECTOR'S NOTES

Style: Enthusiastic and Sassy GenZ beauty YouTuber

Pacing: Speaks at an energetic pace, keeping up with the extremely fast, rapid
delivery influencers use in short form videos.

Accent: Southern california valley girl from Laguna Beach |

Stil:

Legt den Ton und Stil der generierten Sprache fest. Geben Sie beispielsweise „fröhlich“, „energisch“, „entspannt“ oder „gelangweilt“ an, um die Leistung zu beeinflussen. Sei beschreibend und gib so viele Details wie nötig an: „Ansteckende Begeisterung. Der Zuhörer soll das Gefühl haben, Teil eines riesigen, aufregenden Community-Events zu sein.“ ist besser als einfach nur „energetisch und enthusiastisch“ zu sagen.

Sie können sogar Begriffe aus der Voiceover-Branche wie „vocal smile“ (Stimm-Lächeln) ausprobieren. Sie können beliebig viele Stilmerkmale kombinieren.

Beispiele:

Simple Emotion

DIRECTORS NOTES
...
Style: Frustrated and angry developer who can't get the build to run.
...

Mehr Tiefe

DIRECTORS NOTES
...
Style: Sassy GenZ beauty YouTuber, who mostly creates content for YouTube Shorts.
...

Komplex

DIRECTORS NOTES
Style:
* The "Vocal Smile": You must hear the grin in the audio. The soft palate is
always raised to keep the tone bright, sunny, and explicitly inviting.
*Dynamics: High projection without shouting. Punchy consonants and
elongated vowels on excitement words (e.g., "Beauuutiful morning").

Akzent:

Beschreiben Sie den gewünschten Akzent. Je genauer Sie sind, desto besser sind die Ergebnisse. Verwenden Sie beispielsweise „Britischer Akzent, wie er in Croydon, England, gesprochen wird“ anstelle von „Britischer Akzent“.

Beispiele:

### DIRECTORS NOTES
...
Accent: Southern california valley girl from Laguna Beach
...


### DIRECTORS NOTES
...
Accent: Jaz is a DJ from Brixton, London
...

Budgetabstufung:

Gesamtes Pacing und Variation des Tempos im gesamten Stück.

Beispiele:

Einfach

### DIRECTORS NOTES
...
Pacing: Speak as fast as possible
...

Mehr Tiefe

### DIRECTORS NOTES
...
Pacing: Speaks at a faster, energetic pace, keeping up with fast paced music.
...

Komplex

### DIRECTORS NOTES
...
Pacing: The "Drift": The tempo is incredibly slow and liquid. Words bleed into each other. There is zero urgency.
...

Transkript- und Audio-Tags

Das Transkript enthält die genauen Wörter, die das Modell sprechen wird. Mit Audio-Tags können Sie festlegen, wie Wörter, Sätze oder Abschnitte Ihres Transkripts wiedergegeben werden.

Ein Audio-Tag ist ein Wort in eckigen Klammern, das angibt, wie etwas gesagt werden soll, eine Änderung des Tons oder eine Zwischenbemerkung.

### TRANSCRIPT
…
I know right, I couldn't believe it. [whispers] She should have totally left
at that point.
…
[cough] Well, [sighs] I guess it doesn't matter now.

Es gibt keine vollständige Liste der Tags, die funktionieren und nicht funktionieren. Wir empfehlen, mit verschiedenen Emotionen und Ausdrücken zu experimentieren, um zu sehen, wie sich die Ausgabe ändert.

Wenn Ihr Transkript nicht auf Englisch ist, empfehlen wir, trotzdem englische Audio-Tags zu verwenden, um optimale Ergebnisse zu erzielen.

Hier sind einige häufig verwendete Tags für den Einstieg:

[amazed] [crying] [curious] [excited]
[sighs] [gasp] [giggles] [laughs]
[mischievously] [panicked] [sarcastic] [serious]
[shouting] [tired] [trembling] [whispers]

Hier ist eine unvollständige Liste von Inline-Audio-Tags, die verwendet werden können, um den Audiostil zu steuern:

[admiration], [agitation], [anger], [annoyance], [anticipation], [anxiety], [appreciation], [approval], [astonishment], [awe], [boredom], [caution], [compassion], [confidence], [confusion], [contempt], [curiosity], [determination], [disappointment], [disapproval], [disgust], [doubt], [eagerness], [embarrassment], [empathy], [encouraging], [enjoyment], [enthusiasm], [excitement], [fear], [frustration], [gratitude], [happy], [hope], [horror], [interest], [joy], [laughs], [love], [negative], [nervousness], [neutral], [optimism], [pain], [positive], [sadness], [sarcasm], [satisfaction], [surprise], [sympathy]

Jetzt ausprobieren

Probieren Sie einige dieser Beispiele selbst in AI Studio aus, testen Sie unsere TTS-App und lassen Sie Gemini die Regie übernehmen. Hier sind einige Tipps für gute Gesangsleistungen:

  • Achten Sie darauf, dass der gesamte Prompt kohärent ist. Das Skript und die Regie gehen Hand in Hand, um eine gute Performance zu erzielen.
  • Sie müssen nicht alles beschreiben. Manchmal hilft es, dem Modell Raum zu lassen, die Lücken zu füllen, um die Natürlichkeit zu erhöhen. (Just like a talented actor)
  • Wenn du einmal nicht weiterkommst, kannst du dir von Gemini helfen lassen, dein Skript oder deine Performance zu erstellen.

Beschränkungen

  • TTS-Modelle können nur Texteingaben empfangen und Audioausgaben generieren.
  • Eine TTS-Sitzung hat ein Kontextfenster-Limit von 32.000 Tokens.
  • Im Abschnitt Sprachen finden Sie Informationen zur Sprachunterstützung.
  • TTS unterstützt kein Streaming.

Die folgenden Einschränkungen gelten speziell für die Verwendung des Gemini 3.1 Flash TTS Preview-Modells für die Sprachgenerierung:

  • Stimme stimmt nicht mit den Prompt-Anweisungen überein:Die Ausgabe des Modells stimmt möglicherweise nicht immer genau mit dem ausgewählten Sprecher überein, sodass sich das Audio anders anhört als erwartet. Um zu vermeiden, dass der Ton nicht zum Sprecher passt (z. B. wenn eine tiefe Männerstimme versucht, wie ein junges Mädchen zu sprechen), sollten Sie darauf achten, dass der geschriebene Ton und Kontext Ihres Prompts natürlich zum Profil des ausgewählten Sprechers passen.
  • Gelegentliche Rückgabe von Text-Tokens:Das Modell gibt gelegentlich Text-Tokens anstelle von Audio-Tokens zurück, was dazu führt, dass der Server die Anfrage mit einem 500-Fehler ablehnt. Da dies nur zufällig bei einem sehr geringen Prozentsatz der Anfragen auftritt, sollten Sie in Ihrer Anwendung eine automatische Wiederholungslogik implementieren, um diese Fälle zu behandeln.
  • Falsche Ablehnungen durch die Prompt-Klassifizierung:Bei vagen Prompts wird die Klassifizierung für die Sprachsynthese möglicherweise nicht ausgelöst. Das führt dazu, dass die Anfrage abgelehnt wird (PROHIBITED_CONTENT) oder das Modell Ihre Stilanweisungen und Regieanweisungen vorliest. Validieren Sie Ihre Prompts, indem Sie eine klare Präambel hinzufügen, in der das Modell angewiesen wird, Sprache zu synthetisieren, und explizit angeben, wo das eigentliche gesprochene Transkript beginnt.

Nächste Schritte