ai-provider-elevenlabs
ElevenLabs Patterns
Quick Guide: Use the official
@elevenlabs/elevenlabs-jspackage to interact with the ElevenLabs API. Useclient.textToSpeech.convert()for full audio generation orclient.textToSpeech.stream()for low-latency streaming. Voice settings (stability,similarityBoost,style) control output character. Useeleven_v3for best quality,eleven_flash_v2_5for lowest latency, oreleven_multilingual_v2for stable long-form content. The SDK returnsReadableStream<Uint8Array>-- pipe to files or HTTP responses. Use@elevenlabs/clientfor real-time conversational AI agents.
<critical_requirements>
CRITICAL: Before Using This Skill
All code must follow project conventions in CLAUDE.md (kebab-case, named exports, import ordering,
import type, named constants)
(You MUST use @elevenlabs/elevenlabs-js for server-side TTS, voice management, and speech-to-speech -- use @elevenlabs/client only for conversational AI agents)
(You MUST never hardcode API keys -- always use environment variables via process.env.ELEVENLABS_API_KEY which the SDK reads automatically)
(You MUST consume the ReadableStream<Uint8Array> returned by convert() and stream() -- unconsumed streams leak resources)
(You MUST choose the correct model for your use case -- eleven_v3 for quality, eleven_flash_v2_5 for speed, eleven_multilingual_v2 for long-form stability)