Skip to main content
kRouter
All providers

Pay-per-token

el/

ElevenLabs

ElevenLabs — connect via API key.

elevenlabs.io

Quick setup

  1. Open the kRouter dashboard at http://localhost:20128

  2. Go to Providers → click ElevenLabs

  3. Paste your API key, click Save

  4. Test the connection

Use in your IDE

Point any OpenAI-compatible client at kRouter using your local API key.

ide configbash
# Endpoint
http://localhost:20128/v1

# API key (from Dashboard → API Keys)
sk-krouter-XXXX

# Model
el/<model-id>

How ElevenLabs billing works with kRouter

ElevenLabs is pay-per-token. You bring your own API key and kRouter routes to it, so you keep your own rate limits and billing relationship. kRouter authenticates it via apikey. 2 models are routable as el/<model>.

Through kRouter, ElevenLabs serves text-to-speech, exposed on /v1/audio/speech. Requests reach it through the same local OpenAI-compatible endpoint as every other provider, so switching to or from ElevenLabs is a one-line model change in your client rather than a rewrite.

ElevenLabs models & pricing

These are the model ids kRouter routes to. This provider does not publish per-token rates.

ModelRoute as
Eleven Multilingual v2el/eleven_multilingual_v2
Eleven Turbo v2.5el/eleven_turbo_v2_5

ElevenLabs links

ElevenLabs FAQ

Is ElevenLabs free through kRouter?

ElevenLabs is pay-per-token: you bring your own API key and are billed by ElevenLabs at their rates. kRouter adds nothing on top and is free and MIT-licensed.

How do I use ElevenLabs with Claude Code or Cursor?

Connect ElevenLabs in the kRouter dashboard, then point your tool at kRouter's local endpoint (http://localhost:20128/v1) with a kRouter API key. Any OpenAI-compatible client works, and models are addressed as el/<model>.

Which ElevenLabs models can kRouter route to?

2 models, including Eleven Multilingual v2, Eleven Turbo v2.5. Every one is addressed as el/<model> from any client.

What happens when ElevenLabs is rate limited?

kRouter detects the limit, parks that account until its real reset time, and fails over to your next connected account or provider — so the request still completes instead of erroring.