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 を維持します。
Discord 音声チャンネルは、ElevenLabs が選択された voice.tts/messages.tts プロバイダーの場合、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",
},
},
},
},
},
},
},
}
Google Meet エージェントモードでは、
plugins.entries.google-meet.config.realtime.transcriptionProvider を
"elevenlabs" に設定し、同じプロバイダーブロックを
plugins.entries.google-meet.config.realtime.providers.elevenlabs の下で構成します。