ElevenLabs
Proxies the entire ElevenLabs REST API, injecting the secret xi-api-key header. Unlike the other upstreams, ElevenLabs is a whole API surface, so the gateway mounts a wildcard and forwards the path after /elevenlabs/ verbatim:
Because the path passes through unchanged, new ElevenLabs endpoints work without any gateway change. The methods mirror what ElevenLabs documents — GET, POST, PATCH (updates, e.g. /v1/convai/agents/{agent_id}), and DELETE. No documented endpoint uses PUT.
Common paths
What the gateway injects and strips
- The
xi-api-keyheader is injected, overwriting any client-supplied one. - A client-supplied
xi-api-keyquery param is dropped (in any encoding). - The
Authorizationheader is stripped before forwarding.
Responses, including binary audio
Responses stream back untouched. Text-to-speech and sound generation return binary audio (audio/mpeg or PCM), and the /stream variants chunk it — the gateway forwards the exact bytes.
WebSocket / realtime use
WebSocket endpoints are not proxied — the bearer gate and forwarding are plain HTTP only.
For realtime use, fetch a short-lived credential through the proxy, then open the socket against ElevenLabs directly:
GET /elevenlabs/v1/convai/conversation/get-signed-url(or the realtime speech-to-text single-use-token endpoint) through the gateway.- Open the WebSocket against ElevenLabs directly using the credential it returns.
The master key still never reaches the client.
For request and response fields, follow ElevenLabs’ API reference — the gateway does not alter them.