[Bug] Gemini Live inputTranscription replaces known brand "MailerSend" with unrelated terms

Summary

During a production Live API voice session, the speaker repeatedly said the brand name MailerSend, but serverContent.inputTranscription.text returned Mailgun, Mediusent, and medicine. These incorrect transcriptions were displayed as live closed captions and persisted in the conversation transcript.

The session context explicitly contained the canonical name “MailerSend” and the URL https://mailersend.com multiple times. Interestingly, the model’s spoken responses used MailerSend correctly while the separate input transcription stream returned the wrong terms.

Environment

  • Model: gemini-3.1-flash-live-preview
  • API: Gemini Developer API, raw v1beta BidiGenerateContent WebSocket
  • Transcription configuration: inputAudioTranscription: {}
  • Input audio: 16-bit PCM, 16 kHz, streamed in small chunks
  • Language: English
  • Observed: 17 July 2026

Reproduction

  1. Start a Gemini Live session with system/context text that repeatedly identifies the target company as “MailerSend” and includes https://mailersend.com.
  2. Enable inputAudioTranscription: {}.
  3. Stream a speaker saying sentences such as:
    • “I use MailerSend for my transactional emails. And we do it via MailerSend. We use sender identities.”
    • “connect to MailerSend”
    • “not working on MailerSend”
  4. Render the returned serverContent.inputTranscription.text as captions.

Actual result

The transcription stream returned:

  • “I use Mailgun for my transactional emails… And we do it via Mailgun.”
  • “connect to Mediusent”
  • “Not working on medicine”

At the same time, Gemini’s spoken responses used “MailerSend” correctly, which suggests that the conversational model had the correct context while the input transcription path did not.

Expected result

Input transcription should preserve the explicitly supplied brand name, or the Live API should provide a supported way to bias transcription toward known entities such as brand and product names.

Impact

This is user-visible during the call, not only a post-processing problem. Respondents see incorrect closed captions while speaking, and the same incorrect text is saved as the transcript. It undermines trust and can corrupt downstream summaries, quotes, and research data.

The current AudioTranscriptionConfig for the Gemini Developer API exposes no documented phrase hints, custom vocabulary, entity context, or language controls. System instructions appear to influence the conversational model but do not reliably influence inputTranscription.

Requested resolution

Any of the following would address the problem:

  1. Use Live session context when decoding inputTranscription.
  2. Add phrase hints or custom vocabulary to AudioTranscriptionConfig.
  3. Provide an entity-aware correction or final-transcript event suitable for user-facing captions.
  4. Document clearly if inputTranscription is not intended to be reliable enough for closed captions.

We can provide the timestamped trace and recording privately to Google staff if needed.