Providers
ElevenLabs
OpenClaw は、テキスト読み上げ、Scribe v2 によるバッチ音声テキスト変換、
および Scribe v2 Realtime によるストリーミング音声テキスト変換に ElevenLabs を使用します。この Plugin は同梱され、
デフォルトで有効になっているため、plugins install の手順は不要です。
| 機能 | OpenClaw の提供機能 | デフォルト |
|---|---|---|
| テキスト読み上げ | messages.tts / talk |
eleven_multilingual_v2 |
| バッチ音声テキスト変換 | tools.media.audio |
scribe_v2 |
| ストリーミング音声テキスト変換 | Voice Call ストリーミングまたは 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" を指定し、マルチパート形式の音声を ElevenLabs の /v1/speech-to-text に送信します。
言語のヒントがある場合は、language_code に対応付けられます。
ストリーミング音声テキスト変換
同梱の elevenlabs Plugin は、Voice Call および
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 に設定します。