Providers
ElevenLabs
OpenClaw는 텍스트 음성 변환에 ElevenLabs를, Scribe v2를 사용한 일괄 음성 텍스트 변환을, Scribe v2 Realtime을 사용한 스트리밍 STT를 사용합니다.
| 기능 | OpenClaw 표면 | 기본값 |
|---|---|---|
| 텍스트 음성 변환 | messages.tts / talk |
eleven_multilingual_v2 |
| 일괄 음성 텍스트 변환 | tools.media.audio |
scribe_v2 |
| 스트리밍 음성 텍스트 변환 | 음성 통화 스트리밍 또는 Google Meet realtime.transcriptionProvider |
scribe_v2_realtime |
인증
환경에 ELEVENLABS_API_KEY를 설정합니다. 기존 ElevenLabs 도구와의 호환성을 위해
XI_API_KEY도 허용됩니다.
export ELEVENLABS_API_KEY="..."
텍스트 음성 변환
{
messages: {
tts: {
providers: {
elevenlabs: {
apiKey: "${ELEVENLABS_API_KEY}",
voiceId: "pMsXgVXv3BLzUgSXRplE",
modelId: "eleven_multilingual_v2",
},
},
},
},
}
ElevenLabs v3 TTS를 사용하려면 modelId를 eleven_v3로 설정합니다. OpenClaw는 기존 설치의 기본값으로
eleven_multilingual_v2를 유지합니다.
ElevenLabs가 선택된 voice.tts/messages.tts 제공자인 경우 Discord 음성 채널은 ElevenLabs의 스트리밍 TTS 엔드포인트를 사용합니다. 재생은 OpenClaw가 전체 오디오 파일을 먼저 다운로드하고 쓰기를 기다리는 대신
반환된 오디오 스트림에서 시작됩니다. latencyTier는 이를 허용하는 모델에서 ElevenLabs의
optimize_streaming_latency 쿼리 매개변수에 매핑됩니다. OpenClaw는
이를 거부하는 eleven_v3에서는 해당 매개변수를 생략합니다.
음성 텍스트 변환
인바운드 오디오 첨부 파일과 짧게 녹음된 음성 세그먼트에는 Scribe v2를 사용합니다.
{
tools: {
media: {
audio: {
enabled: true,
models: [{ provider: "elevenlabs", model: "scribe_v2" }],
},
},
},
}
OpenClaw는 model_id: "scribe_v2"와 함께 multipart 오디오를 ElevenLabs /v1/speech-to-text로 보냅니다. 언어 힌트가 있으면 language_code에 매핑됩니다.
스트리밍 STT
번들 elevenlabs Plugin은 음성 통화 및 Google Meet 에이전트 모드 스트리밍 전사를 위해 Scribe v2 Realtime을 등록합니다.
| 설정 | 구성 경로 | 기본값 |
|---|---|---|
| API 키 | plugins.entries.voice-call.config.streaming.providers.elevenlabs.apiKey |
ELEVENLABS_API_KEY / XI_API_KEY로 대체 |
| 모델 | ...elevenlabs.modelId |
scribe_v2_realtime |
| 오디오 형식 | ...elevenlabs.audioFormat |
ulaw_8000 |
| 샘플 속도 | ...elevenlabs.sampleRate |
8000 |
| 커밋 전략 | ...elevenlabs.commitStrategy |
vad |
| 언어 | ...elevenlabs.languageCode |
(설정되지 않음) |
{
plugins: {
entries: {
"voice-call": {
config: {
streaming: {
enabled: true,
provider: "elevenlabs",
providers: {
elevenlabs: {
apiKey: "${ELEVENLABS_API_KEY}",
audioFormat: "ulaw_8000",
commitStrategy: "vad",
languageCode: "en",
},
},
},
},
},
},
},
}
Google Meet 에이전트 모드의 경우
plugins.entries.google-meet.config.realtime.transcriptionProvider를
"elevenlabs"로 설정하고, 동일한 제공자 블록을
plugins.entries.google-meet.config.realtime.providers.elevenlabs 아래에 구성합니다.