@bjelser/tts-elevenlabs
v3.0.0
Published
The ElevenLabs TTS provider plugin for docent. Wraps the `elevenlabs` npm package's `convertWithTimestamps` for native character-level alignment, folded into word-level alignment for the engine.
Readme
@bjelser/tts-elevenlabs
ElevenLabs TTS provider for @bjelser/kit. Synthesizes per-beat narration with ElevenLabs voices and exposes word-level alignment for karaoke-style passage / read-along scenes.
Install
npm install @bjelser/tts-elevenlabs @elevenlabs/elevenlabs-js
# or
bun add @bjelser/tts-elevenlabs @elevenlabs/elevenlabs-js@elevenlabs/elevenlabs-js is a peer dependency — bring your own SDK version.
Use
// docent.config.ts
import {corePlugins} from '@bjelser/core';
import {elevenlabsTtsProvider} from '@bjelser/tts-elevenlabs';
export default {
plugins: [...corePlugins, elevenlabsTtsProvider],
};// films/my-film.json
{
"meta": {
"voice": {
"provider": "elevenlabs",
"voice": "rachel",
"model": "eleven_multilingual_v2"
}
}
}Set ELEVENLABS_API_KEY in the environment.
Capabilities
nativeAlignment:'word'— emits per-word timestamps the renderer can bind to highlight / karaoke effectsvoiceCloning:true(via ElevenLabs' Instant Voice Cloning)languages: per ElevenLabs' published list
A scene plugin that declares requiresTtsCapabilities: { nativeAlignment: 'word' } will pass the cross-bind check when this provider is registered.
License
MIT
