跳转到内容

@ottervoice/provider-elevenlabs

Documentation


Documentation / @ottervoice/provider-elevenlabs

ElevenLabs Scribe real-time streaming ASR provider for OtterVoice over WebSocket.

Terminal window
npm install @ottervoice/core @ottervoice/provider-elevenlabs
import { createElevenLabsASR } from '@ottervoice/provider-elevenlabs';
const asr = createElevenLabsASR({
tokenBrokerUrl: '/api/voice-token',
modelId: 'scribe_v2_realtime',
});

Use tokenBrokerUrl in browser and mobile apps so provider credentials remain on your server.

Documentation · GitHub

MIT

Defined in: provider-elevenlabs/src/index.ts:22

Options for createElevenLabsASR. Extends CredentialOptions and ElevenLabsQueryOptions; prefer tokenBrokerUrl on clients over a static key.

Property Type Description Inherited from Defined in
apiKey? string A long-lived key (server-side only — never ship to clients). CredentialOptions.apiKey provider-utils/dist/credential.d.ts:35
baseUrl? string Override the realtime listen endpoint. - provider-elevenlabs/src/index.ts:24
fetch? FetchLike Custom fetch implementation (tests / React Native polyfills). CredentialOptions.fetch provider-utils/dist/credential.d.ts:39
language? string BCP-47 language code; overridden by ASRSessionOptions.language when set. ElevenLabsQueryOptions.language provider-elevenlabs/src/decode.ts:16
modelId? string ElevenLabs STT model id (e.g. scribe_v2_realtime). ElevenLabsQueryOptions.modelId provider-elevenlabs/src/decode.ts:14
now? () => number Clock override for deterministic expiry checks in tests. CredentialOptions.now provider-utils/dist/credential.d.ts:41
tokenBrokerUrl? string Endpoint that mints short-lived tokens (client-safe). CredentialOptions.tokenBrokerUrl provider-utils/dist/credential.d.ts:37
webSocket? WebSocketCtor Inject a WebSocket constructor (defaults to the global). - provider-elevenlabs/src/index.ts:26

Defined in: provider-elevenlabs/src/decode.ts:12

Query knobs mapped onto ElevenLabs realtime /v1/speech-to-text/realtime WebSocket URL.

Property Type Description Defined in
language? string BCP-47 language code; overridden by ASRSessionOptions.language when set. provider-elevenlabs/src/decode.ts:16
modelId? string ElevenLabs STT model id (e.g. scribe_v2_realtime). provider-elevenlabs/src/decode.ts:14
const DEFAULT_BASE_URL: "wss://api.elevenlabs.io/v1/speech-to-text/realtime" = 'wss://api.elevenlabs.io/v1/speech-to-text/realtime';

Defined in: provider-elevenlabs/src/decode.ts:6

Default ElevenLabs realtime speech-to-text WebSocket endpoint.

function buildElevenLabsUrl(
baseUrl,
options,
asr): string;

Defined in: provider-elevenlabs/src/decode.ts:29

Build the realtime STT URL. NOTE: ElevenLabs’ realtime ASR wire format is evolving — verify parameter and message names against the current docs and prefer tokenBrokerUrl (which returns a fully signed URL) in production.

Parameter Type Description
baseUrl string Listen endpoint; usually DEFAULT_BASE_URL or a broker-signed URL.
options ElevenLabsQueryOptions Provider defaults for model / language.
asr ASRSessionOptions Per-session overrides from ASRSessionOptions.

string

Fully qualified wss:// URL including search params.


function createElevenLabsASR(options): ASRProvider;

Defined in: provider-elevenlabs/src/index.ts:46

ElevenLabs Scribe realtime ASR provider over WebSocket. Prefer a tokenBrokerUrl so the signed URL/credential is minted server-side.

Parameter Type Description
options ElevenLabsASROptions Credentials and optional listen endpoint / query overrides.

ASRProvider


function decodeElevenLabs(data):
| ASRDecodeResult
| undefined;

Defined in: provider-elevenlabs/src/decode.ts:53

Decode an ElevenLabs realtime message into a transcript result.

Parameter Type
data string

| ASRDecodeResult | undefined