Skip to content

Gemini 3.1 Flash TTS Preview returns HTTP 200 with empty content and finishReason OTHER for Hebrew TTS prompt #1231

Description

@yooo1999

I’m seeing intermittent no-audio responses from Gemini TTS preview.

For the same request, the API sometimes returns HTTP 200 with:

{
  "content": {},
  "finishReason": "OTHER",
  "usageMetadata": {
    "promptTokenCount": 713,
    "candidatesTokenCount": 5516
  }
}

There is no inlineData.data audio payload, even though usageMetadata reports audio tokens.

Later, the exact same request can succeed with:

{
  "finishReason": "STOP",
  "usageMetadata": {
    "promptTokenCount": 713,
    "candidatesTokenCount": 4925
  }
}

and includes valid inlineData.data audio.

Context:

  • Model: gemini-3.1-flash-tts-preview
  • Endpoint: generateContent
  • Modality: responseModalities: ["AUDIO"]
  • Voice: Kore
  • Input: Hebrew text
  • Client: reproduced both from Python GenAI SDK and curl

Minimal repro / discussion:
https://discuss.ai.google.dev/t/gemini-tts-preview-returns-http-200-with-usagemetadata-but-no-audio-payload/145337

Question:
Is finishReason: OTHER with empty content expected/retryable for Gemini TTS preview, or does it indicate a prompt/request issue?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions