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}",
speakerVoiceId: "pMsXgVXv3BLzUgSXRplE",
modelId: "eleven_multilingual_v2",
},
},
},
},
}
ElevenLabs v3 TTS를 사용하려면 modelId를 eleven_v3로 설정하세요. OpenClaw는 기존 설치를 위해 eleven_multilingual_v2를 기본값으로 유지합니다.
Discord 음성 채널은 ElevenLabs가 선택된 voice.tts/messages.tts provider일 때 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"와 함께 멀티파트 오디오를 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",
},
},
},
},
},
},
},
}
음성 통화는 Twilio 미디어를 8 kHz G.711 u-law로 수신합니다. ElevenLabs 실시간 provider의 기본값은 ulaw_8000이므로, 전화 통신 프레임을 트랜스코딩 없이 전달할 수 있습니다.
Google Meet 에이전트 모드의 경우 plugins.entries.google-meet.config.realtime.transcriptionProvider를 "elevenlabs"로 설정하고, 동일한 provider 블록을 plugins.entries.google-meet.config.realtime.providers.elevenlabs 아래에 구성하세요.
관련 항목