feat: ElevenLabs EU residency api TTS #6777

Closed
opened 2025-11-11 17:05:36 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @theolrvlv on GitHub (Oct 27, 2025).

Check Existing Issues

  • I have searched all existing open AND closed issues and discussions for similar requests. I have found none that is comparable to my request.

Problem Description

Open WebUI’s ElevenLabs TTS integration appears to assume the default US API base (https://api.elevenlabs.io). For EU data-residency customers, ElevenLabs provides a separate EU environment with a different base URL. Without a way to override the base, EU-residency tenants cannot use ElevenLabs TTS in a compliant way from Open WebUI. This is a blocker for teams that must keep processing within the EU and/or want lower latency to EU infrastructure. Example: https://api.eu.residency.elevenlabs.io

Desired Solution you'd like

Make the ElevenLabs API base URL configurable (UI + env var), with a safe default to the current US endpoint.
• Admin UI: Admin → Settings → Audio → TTS → ElevenLabs
Add a field: “API Base URL” (default: https://api.elevenlabs.io).
• Env var (server): ELEVENLABS_API_BASE_URL
If set, it overrides the default and the UI value.
• Scope: Use the configured base URL for all ElevenLabs calls (list voices/models, synthesize, etc.).
• Backwards-compatible: If not set, behavior remains unchanged (US endpoint).

This lets EU customers set https://api.eu.residency.elevenlabs.io and remain compliant while using the same API paths.

Acceptance criteria
1. I can set ELEVENLABS_API_BASE_URL=https://api.eu.residency.elevenlabs.io and TTS works end-to-end (list/select voice, generate audio).
2. Leaving the field empty continues to use https://api.elevenlabs.io.
3. Value is validated (must start with http(s)://), and stored securely.
4. Docs updated to mention the option and the EU residency context.

Alternatives Considered

•	Reverse proxy / DNS split-horizon: Works, but adds ops overhead and can be brittle.

•	Custom TTS engine in Open WebUI: Flexible, but defeats the purpose of the native ElevenLabs integration and requires extra setup.  

https://github.com/open-webui/open-webui/discussions/12937
• Keep using US endpoint: Not acceptable for organizations with EU data-sovereignty requirements.

Additional Context

•	ElevenLabs EU data-residency info: “Data residency” (EU isolated environment).  https://elevenlabs.io/docs/product-guides/administration/data-residency
•	Public announcement of EU residency (context/eligibility).

https://elevenlabs.io/blog/introducing-european-data-residency
• Example EU base URL from ElevenLabs SDK docs: https://api.eu.residency.elevenlabs.io. = same as default one but with correct api endpoints
https://github.com/elevenlabs/elevenlabs-android

Originally created by @theolrvlv on GitHub (Oct 27, 2025). ### Check Existing Issues - [x] I have searched all existing open AND closed issues and discussions for similar requests. I have found none that is comparable to my request. ### Problem Description Open WebUI’s ElevenLabs TTS integration appears to assume the default US API base (https://api.elevenlabs.io). For EU data-residency customers, ElevenLabs provides a separate EU environment with a different base URL. Without a way to override the base, EU-residency tenants cannot use ElevenLabs TTS in a compliant way from Open WebUI. This is a blocker for teams that must keep processing within the EU and/or want lower latency to EU infrastructure. Example: https://api.eu.residency.elevenlabs.io ### Desired Solution you'd like Make the ElevenLabs API base URL configurable (UI + env var), with a safe default to the current US endpoint. • Admin UI: Admin → Settings → Audio → TTS → ElevenLabs Add a field: “API Base URL” (default: https://api.elevenlabs.io). • Env var (server): ELEVENLABS_API_BASE_URL If set, it overrides the default and the UI value. • Scope: Use the configured base URL for all ElevenLabs calls (list voices/models, synthesize, etc.). • Backwards-compatible: If not set, behavior remains unchanged (US endpoint). This lets EU customers set https://api.eu.residency.elevenlabs.io and remain compliant while using the same API paths. Acceptance criteria 1. I can set ELEVENLABS_API_BASE_URL=https://api.eu.residency.elevenlabs.io and TTS works end-to-end (list/select voice, generate audio). 2. Leaving the field empty continues to use https://api.elevenlabs.io. 3. Value is validated (must start with http(s)://), and stored securely. 4. Docs updated to mention the option and the EU residency context. ### Alternatives Considered • Reverse proxy / DNS split-horizon: Works, but adds ops overhead and can be brittle. • Custom TTS engine in Open WebUI: Flexible, but defeats the purpose of the native ElevenLabs integration and requires extra setup.  https://github.com/open-webui/open-webui/discussions/12937 • Keep using US endpoint: Not acceptable for organizations with EU data-sovereignty requirements. ### Additional Context • ElevenLabs EU data-residency info: “Data residency” (EU isolated environment). https://elevenlabs.io/docs/product-guides/administration/data-residency • Public announcement of EU residency (context/eligibility). https://elevenlabs.io/blog/introducing-european-data-residency • Example EU base URL from ElevenLabs SDK docs: https://api.eu.residency.elevenlabs.io. = same as default one but with correct api endpoints https://github.com/elevenlabs/elevenlabs-android
Author
Owner

@tjbck commented on GitHub (Oct 27, 2025):

Open to PRs!

@tjbck commented on GitHub (Oct 27, 2025): Open to PRs!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#6777