Visitar URL original
feat: native Gemini (Google AI) TTS engine · Issue #33264 · open-webui/open-webui · GitHub
Skip to content

feat: native Gemini (Google AI) TTS engine #33264

Open

Description

@adrianatisco

Before Submitting

  • I searched open and closed issues and discussions for an existing request.
  • I checked whether this already exists on the dev branch or latest source.
  • I understand that maintainers want a well-written issue or discussion before any code pull request.
  • This request is not a security vulnerability.

Problem

Gemini's TTS models (e.g. gemini-3.8-flash-tts) can currently only be used in Open WebUI through an intermediary (LiteLLM or OpenRouter) with the OpenAI TTS engine.

Pointing the OpenAI engine directly at Gemini's OpenAI-compatible API (https://generativelanguage.googleapis.com/v1beta/openai/) does not work: that layer offers no /audio/speech endpoint. Gemini TTS is only available through the native generateContent API with responseModalities: ["AUDIO"].

The intermediaries add their own failure points. For example, LiteLLM currently wraps the WAV that Gemini returns in a second WAV header (BerriAI/litellm#44541): the inner header is played as samples (a click at the start of every sentence), and the trailing metadata block is audible as noise at the end.

Desired Behavior

A native Gemini option in Admin → Settings → Audio → Text-to-Speech, similar to the existing ElevenLabs and Mistral engines:

  • API key (Google AI Studio)
  • Model (e.g. gemini-3.8-flash-tts, gemini-3.8-flash-lite-tts)
  • Voice, ideally as a dropdown of the prebuilt voices (Kore, Puck, Charon, …)
  • Optional style instructions

Internally: POST /v1beta/models/{model}:generateContent with responseModalities: ["AUDIO"] and speechConfig.voiceConfig.prebuiltVoiceConfig.voiceName. The existing transcoding to MP3 (added in #24145) could probably be reused for the returned audio.

Why This Matters

Gemini TTS sounds very natural and handles languages other than English well (we use it for German). Many users already have a Gemini API key for chat models; a native engine would let them use TTS without running or paying for a proxy, and without depending on how each proxy translates the audio format.

Examples or References

Alternatives or Workarounds

  • OpenAI engine → LiteLLM → Gemini: works, but currently produces clicks and noise (litellm#44541, fixes still open).
  • OpenAI engine → OpenRouter (google/gemini-3.8-flash-tts): should work thanks to fix: transcode PCM audio responses to MP3 in speech endpoint #24145, but requires an extra account and routes all spoken text through a third party.

Activity

  1. owui-terminator commented on Oct 27, 2026

    @owui-terminator

    🔍 Related Issues Found

    I found some existing issues that might be related. Please check if any of these are duplicates or contain helpful solutions:

    1. 🟣 #23395 feat: make image generation and voice to text and text to voice use openai/gemini endpoint from /admin/settings/connections
      This is the closest match: it explicitly asks for Open WebUI to use Gemini for text-to-speech via the connections endpoint rather than only through the OpenAI-compatible layer. The new issue is a more specific native Gemini TTS request, but they address the same missing Gemini TTS support area.
      by ghost

    2. 🟣 #24021 feat: Populate voice dropdown when using MistralAI as Text-to-Speech Engine
      This is about improving the TTS provider UX by dynamically populating provider-specific voices in the dropdown. The new issue also requests a Gemini voice dropdown with prebuilt voices, so it overlaps on the voice-selection part of TTS provider integration.
      by Lyhtande

    3. 🟣 #3097 enh: Allow setting TTS voice selection per model
      This older feature request is about allowing per-model TTS voice selection, which is directly relevant to the new Gemini TTS request’s desire to choose voices such as Kore or Puck. It’s broader, but the same voice-configuration concern.
      by oss001 · enhancement, good first issue, non-core


    💡 If your issue is a duplicate, please close it and add any additional details to the existing issue instead.

    This comment was generated automatically. React with 👍 if helpful, 👎 if not.

  2. changed the title [-]+feat: native Gemini (Google AI) TTS engine[/-] [+]feat: native Gemini (Google AI) TTS engine[/+] on Oct 27, 2026
  3. adrianatisco commented on Oct 27, 2026

    @adrianatisco
    Author

    Thanks – #23395 is about reusing connection URLs, which wouldn’t help here since Gemini’s OpenAI-compatible API has no /audio/speech endpoint. This request is about a native engine using generateContent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions