Skip to content

bodhi-realtime-agent / ElevenLabsSTTProvider

Class: ElevenLabsSTTProvider ​

Defined in: src/transport/elevenlabs-stt-provider.ts:43

Streaming STT provider backed by ElevenLabs Scribe v2 Realtime API.

Unlike the batch GeminiBatchSTTProvider, this provider forwards every audio chunk to ElevenLabs in real time over a persistent WebSocket and fires onPartialTranscript during speech.

Implements ​

Constructors ​

Constructor ​

new ElevenLabsSTTProvider(config): ElevenLabsSTTProvider

Defined in: src/transport/elevenlabs-stt-provider.ts:73

Parameters ​

config ​

ElevenLabsSTTConfig

Returns ​

ElevenLabsSTTProvider

Properties ​

onPartialTranscript? ​

optional onPartialTranscript?: (text) => void

Defined in: src/transport/elevenlabs-stt-provider.ts:71

Partial/interim transcription (streaming providers only). Replaces any previous partial for the same turn.

Parameters ​

text ​

string

Returns ​

void

Implementation of ​

STTProvider.onPartialTranscript


onTranscript? ​

optional onTranscript?: (text, turnId) => void

Defined in: src/transport/elevenlabs-stt-provider.ts:70

Final transcription of user speech.

Parameters ​

text ​

string

The transcribed text.

turnId ​

number | undefined

The turn this transcript belongs to (from commit()). Undefined when a streaming provider's VAD auto-commits before the framework calls commit().

Returns ​

void

Implementation of ​

STTProvider.onTranscript

Methods ​

commit() ​

commit(turnId): void

Defined in: src/transport/elevenlabs-stt-provider.ts:143

Signal that the user's turn has ended (model started responding). For batch providers, this triggers transcription. For streaming providers, this may trigger a manual commit.

Parameters ​

turnId ​

number

Monotonically increasing turn counter for ordering.

Returns ​

void

Implementation of ​

STTProvider.commit


configure() ​

configure(audio): void

Defined in: src/transport/elevenlabs-stt-provider.ts:84

Configure the audio format that feedAudio() will deliver. Called once before start(). The provider MUST resample or reject if it cannot handle the given format.

Parameters ​

audio ​

STTAudioConfig

Returns ​

void

Implementation of ​

STTProvider.configure


feedAudio() ​

feedAudio(base64Pcm): void

Defined in: src/transport/elevenlabs-stt-provider.ts:129

Feed audio data. Format matches the STTAudioConfig from configure().

Parameters ​

base64Pcm ​

string

Base64-encoded PCM audio chunk.

Returns ​

void

Implementation of ​

STTProvider.feedAudio


handleInterrupted() ​

handleInterrupted(): void

Defined in: src/transport/elevenlabs-stt-provider.ts:155

Signal that the current turn was interrupted by the user. Providers MUST preserve buffered audio for the next commit().

Returns ​

void

Implementation of ​

STTProvider.handleInterrupted


handleTurnComplete() ​

handleTurnComplete(): void

Defined in: src/transport/elevenlabs-stt-provider.ts:159

Signal a natural turn completion (model finished, no interruption). Batch providers SHOULD clear buffers. Streaming providers may no-op.

Returns ​

void

Implementation of ​

STTProvider.handleTurnComplete


start() ​

start(): Promise<void>

Defined in: src/transport/elevenlabs-stt-provider.ts:102

Start the STT session (e.g. open WebSocket).

Returns ​

Promise<void>

Implementation of ​

STTProvider.start


stop() ​

stop(): Promise<void>

Defined in: src/transport/elevenlabs-stt-provider.ts:108

Stop the STT session (e.g. close WebSocket).

Returns ​

Promise<void>

Implementation of ​

STTProvider.stop

Built with VitePress