Feature request: word/character timestamps for Gemini TTS output (caption sync)

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 = true is 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:

  1. An option to return word/character timestamps aligned to the input text (e.g. the same WordInfo shape gemini-3.5-transcribe already uses).
  2. 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!

+1 on this. I’ve a similar need to build captions. Right now, I need to again run a speech-to-text pass on the audio.