Gemini TTS doesn’t return any timing information with the generated audio, so there’s no way to sync captions/subtitles to the speech without running a separate speech-to-text pass on our own output.
We narrate short videos in 17 languages and need per-word (or per-character) start/end times to build captions.
What we tested (2026-09-30, generateContent):
gemini-2.5-flash-preview-tts,gemini-3.1-flash-tts-preview,gemini-3.8-flash-tts,gemini-3.8-flash-lite-tts: the response is a single audio part, nothing else.generationConfig.audioTranscriptionConfig.wordTimestamp = trueis silently ignored.responseModalities: ["AUDIO", "TEXT"]is rejected on 2.5 and ignored on 3.x.- The speech-generation docs don’t mention timing at all.
Request:
- An option to return word/character timestamps aligned to the input text (e.g. the same
WordInfoshapegemini-3.5-transcribealready uses). - Until then, please document the officially recommended way to get timing for TTS output.
Is this on the roadmap, or is there an existing way we missed? Thanks!