allmodels.ioDocs
API ReferenceElevenLabs SDK

List voices (SDK get_all)

Lists voices with ElevenLabs `voices.get_all()`. Use `provider_only` to choose a provider. The returned `voice_id` values can be used directly with the `/el` TTS endpoints.

GET/el/v1/voices

Lists voices with ElevenLabs voices.get_all(). Use provider_only to choose a provider. The returned voice_id values can be used directly with the /el TTS endpoints.

Authorization

xi-api-key<token>

Tenant key (ElevenLabs SDK convention).

In: header

Query Parameters

provider_only?string

Return voices from one TTS provider. Defaults to elevenlabs.

Value in

  • "deepgram"
  • "elevenlabs"
  • "soniox"
  • "fish"
  • "groq"
  • "grok"
  • "minimax"
  • "cartesia"
  • "together"
  • "openai"
  • "gemini"
  • "fal"
  • "cloudflare"

Response Body

application/json

application/json

application/json

Client
Language
const response = await fetch("https://api.allmodels.io/el/v1/voices", {  headers: { Authorization: `Bearer ${process.env.ALLMODELS_API_KEY}` }});if (!response.ok) throw new Error(`AllModels request failed: ${response.status}`);console.log(await response.json());
{  "voices": [    {      "voice_id": "EXAVITQu4vr4xnSDxMaL",      "name": "Sarah",      "labels": {        "gender": "female"      },      "category": "premade",      "available_for_tiers": [],      "high_quality_base_model_ids": []    }  ]}
{  "detail": {    "message": "unknown or non-TTS provider 'assemblyai'",    "status": "invalid_provider",    "provider": "assemblyai",    "supported": [      "deepgram",      "elevenlabs",      "openai"    ]  }}

{  "error": "missing_api_key"}

ElevenLabs SDK-compatible realtime STT (WebSocket) GET

Streams audio and receives ElevenLabs-compatible transcript events with `client.speechToText.realtime.connect(...)`. The request must include `Upgrade: websocket`. **Client → server** frames (JSON): `{ "message_type": "input_audio_chunk", "audio_base_64": "...", "sample_rate": 16000, "commit": true }` **Server → client** frames (JSON), `message_type` one of: `session_started`, `partial_transcript`, `committed_transcript`, `committed_transcript_with_timestamps`, `error`. **Commit strategy.** `commit_strategy=vad` finds utterance boundaries automatically with the model's native turn detection or VAD. Tune it with the `vad_*` / `min_*` params. `auto` is accepted as a legacy alias of `vad`. `commit_strategy=manual` instead lets the client close an utterance explicitly by sending an `input_audio_chunk` frame with `commit: true` (the SDK's `conn.commit()`) and is the compatibility surface's default. With providers that do not support manual commits, completed transcript text is returned together on commit. The ElevenLabs SDK does not support custom headers on this connection. Select a provider with a `<provider>/<model>` value in `model_id`. Use `provider_options` for provider-specific settings. You can also pass supported options directly as query parameters. If both forms set the same option, `provider_options[<name>]=<value>` takes precedence. Recognized enum and boolean option values are case-insensitive and are normalized to each provider's wire spelling; free-form values such as prompts, keyterms, and voice IDs retain their original case. The message-level protocol is documented at [the realtime WebSocket reference](/realtime-reference) (AsyncAPI spec: [/asyncapi.yaml](/asyncapi.yaml)).

List voices (SDK search) GET

Lists voices with ElevenLabs `voices.search()`. Use `page_size` to limit the result. All matching voices are returned in one page.