Tools

テキスト読み上げ

OpenClaw は、送信する返信を 14 の音声プロバイダーで音声に変換します。 Feishu、Matrix、Telegram、WhatsApp ではネイティブ音声メッセージ、それ以外では音声 添付ファイル、電話および Talk では PCM/Ulaw ストリームとして出力します。

TTS は、Talk の stt-tts モードにおける音声出力側の機能です(talk.speak も 同じ合成パスを呼び出します)。プロバイダーにネイティブ対応する realtime Talk セッションでは、 リアルタイムプロバイダー内で音声を合成します。一方、transcription セッションでは アシスタントの音声返信を合成しません。

クイックスタート

  • プロバイダーを選択

    OpenAI と ElevenLabs は、最も信頼性の高いホスティング型の選択肢です。Microsoft と Local CLI は API キーなしで動作します。完全な一覧については、プロバイダー一覧表 を参照してください。

  • API キーを設定

    プロバイダーの環境変数(例: OPENAI_API_KEYELEVENLABS_API_KEY)をエクスポートします。Microsoft と Local CLI にはキーが不要です。

  • 設定で有効化

    tts.auto: "always"tts.provider を設定します。

    json5
    {  tts: {    auto: "always",    provider: "elevenlabs",  },}
  • チャットで試す

    /tts status で現在の状態を表示します。/tts audio Hello from OpenClaw で 一度限りの音声返信を送信します。

  • 対応プロバイダー

    プロバイダー 認証 備考
    Azure Speech AZURE_SPEECH_KEY + AZURE_SPEECH_REGIONAZURE_SPEECH_API_KEYSPEECH_KEYSPEECH_REGION にも対応) ネイティブの Ogg/Opus 音声メモ出力および電話に対応。
    DeepInfra DEEPINFRA_API_KEY OpenAI 互換 TTS。デフォルトは hexgrad/Kokoro-82M
    ElevenLabs ELEVENLABS_API_KEY または XI_API_KEY 音声クローニング、多言語対応、seed による決定論的出力。Discord の音声再生ではストリーミングされます。
    Google Gemini GEMINI_API_KEY または GOOGLE_API_KEY Gemini API のバッチ TTS。promptTemplate: "audio-profile-v1" によりペルソナに対応。
    Gradium GRADIUM_API_KEY 音声メモおよび電話出力。
    Inworld INWORLD_API_KEY ストリーミング TTS API。ネイティブの Opus 音声メモおよび PCM 電話出力。
    Local CLI なし 設定済みのローカル TTS コマンドを実行します。
    Microsoft なし node-edge-tts を介した公開 Edge ニューラル TTS。ベストエフォートであり、SLA はありません。
    MiniMax MINIMAX_API_KEY(または Token Plan: MINIMAX_OAUTH_TOKENMINIMAX_CODE_PLAN_KEYMINIMAX_CODING_API_KEY T2A v2 API。デフォルトは speech-2.8-hd
    OpenAI OPENAI_API_KEY 自動要約にも使用されます。ペルソナ instructions に対応。
    OpenRouter OPENROUTER_API_KEYmodels.providers.openrouter.apiKey を再利用可能) デフォルトモデルは hexgrad/kokoro-82m
    Volcengine VOLCENGINE_TTS_API_KEY または BYTEPLUS_SEED_SPEECH_API_KEY(従来の AppID/トークン: VOLCENGINE_TTS_APPID/_TOKEN BytePlus Seed Speech HTTP API。
    Vydra VYDRA_API_KEY 画像、動画、音声で共通のプロバイダー。
    xAI XAI_API_KEY xAI バッチ TTS。ネイティブの Opus 音声メモには対応していません
    Xiaomi MiMo XIAOMI_API_KEY Xiaomi のチャット補完を介した MiMo TTS。

    複数のプロバイダーが設定されている場合、選択したプロバイダーが最初に使用され、 ほかのプロバイダーはフォールバック候補になります。自動要約では summaryModel(または agents.defaults.model.primary)が使用されるため、要約を有効なままにする場合は、そのプロバイダーでも 認証が必要です。

    設定

    TTS 設定は ~/.openclaw/openclaw.jsontts 配下にあります。プリセットを 選択し、プロバイダーブロックを調整してください。以下に示す speakerVoice/speakerVoiceId フィールドが正規の形式です。各プロバイダー固有の voice/voiceId/ voiceName フィールド名も、従来のエイリアスとして引き続き使用できます。

    Azure Speech

    json5
    {tts: {auto: "always",provider: "azure-speech",providers: {  "azure-speech": {    apiKey: "${AZURE_SPEECH_KEY}",    region: "eastus",    speakerVoice: "en-US-JennyNeural",    lang: "en-US",    outputFormat: "audio-24khz-48kbitrate-mono-mp3",    voiceNoteOutputFormat: "ogg-24khz-16bit-mono-opus",  },},},}

    ElevenLabs

    json5
    {tts: {auto: "always",provider: "elevenlabs",providers: {  elevenlabs: {    apiKey: "${ELEVENLABS_API_KEY}",    model: "eleven_multilingual_v2",    speakerVoiceId: "EXAVITQu4vr4xnSDxMaL",  },},},}

    Google Gemini

    json5
    {tts: {auto: "always",provider: "google",providers: {  google: {    apiKey: "${GEMINI_API_KEY}",    model: "gemini-3.1-flash-tts-preview",    speakerVoice: "Kore",    // Optional natural-language style prompts:    // audioProfile: "Speak in a calm, podcast-host tone.",    // speakerName: "Alex",  },},},}

    Gradium

    json5
    {tts: {auto: "always",provider: "gradium",providers: {  gradium: {    apiKey: "${GRADIUM_API_KEY}",    speakerVoiceId: "YTpq7expH9539ERJ",  },},},}

    Inworld

    json5
    {tts: {auto: "always",provider: "inworld",providers: {  inworld: {    apiKey: "${INWORLD_API_KEY}",    modelId: "inworld-tts-1.5-max",    speakerVoiceId: "Sarah",    temperature: 0.7,  },},},}

    Local CLI

    json5
    {tts: {auto: "always",provider: "tts-local-cli",providers: {  "tts-local-cli": {    command: "say",    args: ["-o", "{{OutputPath}}", "{{Text}}"],    outputFormat: "wav",    timeoutMs: 120000,  },},},}

    Microsoft(キー不要)

    json5
    {tts: {auto: "always",provider: "microsoft",providers: {  microsoft: {    enabled: true,    speakerVoice: "en-US-MichelleNeural",    lang: "en-US",    outputFormat: "audio-24khz-48kbitrate-mono-mp3",    rate: "+0%",    pitch: "+0%",  },},},}

    MiniMax

    json5
    {tts: {auto: "always",provider: "minimax",providers: {  minimax: {    apiKey: "${MINIMAX_API_KEY}",    model: "speech-2.8-hd",    speakerVoiceId: "English_expressive_narrator",    speed: 1.0,    vol: 1.0,    pitch: 0,  },},},}

    OpenAI + ElevenLabs

    json5
    {tts: {auto: "always",provider: "openai",summaryModel: "openai/gpt-4.1-mini",modelOverrides: { enabled: true },providers: {  openai: {    apiKey: "${OPENAI_API_KEY}",    model: "gpt-4o-mini-tts",    speakerVoice: "alloy",  },  elevenlabs: {    apiKey: "${ELEVENLABS_API_KEY}",    model: "eleven_multilingual_v2",    speakerVoiceId: "EXAVITQu4vr4xnSDxMaL",    voiceSettings: { stability: 0.5, similarityBoost: 0.75, style: 0.0, useSpeakerBoost: true, speed: 1.0 },    applyTextNormalization: "auto",    languageCode: "en",  },},},}

    OpenRouter

    json5
    {tts: {auto: "always",provider: "openrouter",providers: {  openrouter: {    apiKey: "${OPENROUTER_API_KEY}",    model: "hexgrad/kokoro-82m",    speakerVoice: "af_alloy",    responseFormat: "mp3",  },},},}

    Volcengine

    json5
    {tts: {auto: "always",provider: "volcengine",providers: {  volcengine: {    apiKey: "${VOLCENGINE_TTS_API_KEY}",    resourceId: "seed-tts-1.0",    speakerVoice: "en_female_anna_mars_bigtts",  },},},}

    xAI

    json5
    {tts: {auto: "always",provider: "xai",providers: {  xai: {    apiKey: "${XAI_API_KEY}",    speakerVoiceId: "eve",    language: "en",    responseFormat: "mp3",  },},},}

    Xiaomi MiMo

    json5
    {tts: {auto: "always",provider: "xiaomi",providers: {  xiaomi: {    apiKey: "${XIAOMI_API_KEY}",    model: "mimo-v2.5-tts",    speakerVoice: "mimo_default",    format: "mp3",  },},},}

    Xiaomi mimo-v2.5-tts-voicedesign では、speakerVoice を省略し、style に 音声設計プロンプトを設定します。OpenClaw はそのプロンプトを TTS の user メッセージとして送信し、 voicedesign モデルには audio.voice を送信しません。

    エージェントごとの音声オーバーライド

    1 つのエージェントで異なるプロバイダー、音声、モデル、ペルソナ、または自動 TTS モードを 使用する場合は、agents.entries.*.tts を使用します。エージェントブロックは tts にディープマージされるため、プロバイダーの認証情報はグローバルなプロバイダー設定に保持できます。

    json5
    {  tts: {    auto: "always",    provider: "elevenlabs",    providers: {      elevenlabs: { apiKey: "${ELEVENLABS_API_KEY}", model: "eleven_multilingual_v2" },    },  },  agents: {    list: [      {        id: "reader",        tts: {          providers: {            elevenlabs: { speakerVoiceId: "EXAVITQu4vr4xnSDxMaL" },          },        },      },    ],  },}

    エージェントごとのペルソナを固定するには、プロバイダー設定とともに agents.entries.*.tts.persona を設定します。これは、そのエージェントに限りグローバルな tts.persona を上書きします。

    自動返信、/tts audio/tts status、および tts エージェントツールの優先順位:

    1. tts
    2. 有効な agents.entries.*.tts
    3. チャンネルが channels.<channel>.tts をサポートしている場合のチャンネル上書き
    4. チャンネルが channels.<channel>.accounts.<id>.tts を渡す場合のアカウント上書き
    5. このホストのローカルな /tts 設定
    6. モデル駆動ディレクティブが有効な場合のインライン [[tts:...]] ディレクティブ

    チャンネルとアカウントの上書きは tts と同じ形式を使用し、 前のレイヤーに対してディープマージされます。そのため、共有プロバイダー認証情報を tts に保持したまま、チャンネルまたはボットアカウントで話者の声、モデル、ペルソナ、 または自動モードのみを変更できます。

    json5
    {  tts: {    provider: "openai",    providers: {      openai: { apiKey: "${OPENAI_API_KEY}", model: "gpt-4o-mini-tts" },    },  },  channels: {    feishu: {      accounts: {        english: {          tts: {            providers: {              openai: { speakerVoice: "shimmer" },            },          },        },      },    },  },}

    ペルソナ

    ペルソナとは、プロバイダー間で決定論的に適用できる、安定した音声上のアイデンティティです。 特定のプロバイダーを優先し、プロバイダーに依存しないプロンプトの意図を定義し、 音声、モデル、プロンプトテンプレート、シード、音声設定に対する プロバイダー固有のバインディングを保持できます。

    最小構成のペルソナ

    json5
    {  tts: {    auto: "always",    persona: "narrator",    personas: {      narrator: {        label: "ナレーター",        provider: "elevenlabs",        providers: {          elevenlabs: {            speakerVoiceId: "EXAVITQu4vr4xnSDxMaL",            modelId: "eleven_multilingual_v2",          },        },      },    },  },}

    完全なペルソナ(プロバイダー固有の調整)

    json5
    {  tts: {    auto: "always",    persona: "alfred",    personas: {      alfred: {        label: "アルフレッド",        description: "辛口ながら温かみのある、英国執事風のナレーター。",        provider: "google",        fallbackPolicy: "preserve-persona",        providers: {          google: {            model: "gemini-3.1-flash-tts-preview",            speakerVoice: "Algieba",            promptTemplate: "audio-profile-v1",          },          openai: { model: "gpt-4o-mini-tts", speakerVoice: "cedar" },          elevenlabs: {            speakerVoiceId: "voice_id",            modelId: "eleven_multilingual_v2",            seed: 42,            voiceSettings: {              stability: 0.65,              similarityBoost: 0.8,              style: 0.25,              useSpeakerBoost: true,              speed: 0.95,            },          },        },      },    },  },}

    ペルソナの解決

    有効なペルソナは決定論的に選択されます。

    1. 設定されている場合、ローカル設定の /tts persona <id>
    2. 設定されている場合、tts.persona
    3. ペルソナなし。

    プロバイダー選択では、明示的な指定が最優先されます。

    1. 直接上書き(CLI、Gateway、Talk、許可された TTS ディレクティブ)。
    2. ローカル設定の /tts provider <id>
    3. 有効なペルソナの provider
    4. tts.provider
    5. レジストリによる自動選択。

    プロバイダーを試行するたびに、OpenClaw は次の順序で設定をマージします。

    1. tts.providers.<id>
    2. tts.personas.<persona>.providers.<id>
    3. 信頼されたリクエストによる上書き
    4. 許可された、モデルが出力した TTS ディレクティブによる上書き

    カスタムペルソナの調整

    プロバイダーに依存しない personas.<id>.prompt.* 設定は廃止されました。Doctor は これらのフィールドを削除し、音声プロバイダーのシームを案内します。組み込みプロバイダーの 設定は personas.<id>.providers.<provider> 配下に配置します(たとえば Google の personaPrompt または OpenAI の instructions)。カスタム調整を行うには、 prepareSynthesis(ctx) を備えた音声プロバイダー Plugin を実装し、 synthesize() が実行される前に、調整済みのテキスト、プロバイダー設定、または上書きを返します。 これにより、表現力のあるプロンプトの構築を、リクエストのセマンティクスを把握している プロバイダーコード内に維持できます。

    フォールバックポリシー

    fallbackPolicy は、試行対象のプロバイダーにペルソナのバインディングがない場合の 動作を制御します。

    ポリシー 動作
    preserve-persona デフォルト。 プロバイダーに依存しないプロンプトフィールドは引き続き利用可能で、プロバイダーはそれらを使用することも無視することもできます。
    provider-defaults その試行のプロンプト準備からペルソナを除外します。プロバイダーは中立的なデフォルトを使用し、他のプロバイダーへのフォールバックは継続します。
    fail reasonCode: "not_configured"personaBinding: "missing" を伴って、そのプロバイダーの試行をスキップします。フォールバックプロバイダーは引き続き試行されます。

    TTS リクエスト全体が失敗するのは、試行したすべてのプロバイダーがスキップされるか 失敗した場合のみです。

    Talk セッションのプロバイダー選択はセッション単位です。Talk クライアントは talk.catalog からプロバイダー ID、モデル ID、音声 ID、ロケールを選択し、 Talk セッションまたはハンドオフリクエストを通じて渡す必要があります。音声セッションを開く際に、 tts やグローバルな Talk プロバイダーのデフォルトを変更してはなりません。

    モデル駆動ディレクティブ

    デフォルトでは、アシスタントは [[tts:...]] ディレクティブを出力して、 単一の返信に対する音声、モデル、または速度を上書きできます。さらに、 音声のみに含める表現上の指示として、任意の [[tts:text]]...[[/tts:text]] ブロックも使用できます。

    text
    どうぞ。 [[tts:speakerVoiceId=pMsXgVXv3BLzUgSXRplE model=eleven_v3 speed=1.1]][[tts:text]](笑う)その歌をもう一度読んでください。[[/tts:text]]

    tts.auto"tagged" の場合、音声をトリガーするには ディレクティブが必須です。ストリーミングのブロック配信では、隣接するブロックに 分割されている場合でも、チャンネルに届く前に表示テキストからディレクティブが除去されます。

    provider=... は、modelOverrides.allowProvider: true でない限り無視されます。 返信で provider=... が宣言されている場合、そのディレクティブ内の他のキーは そのプロバイダーのみが解析します。サポートされていないキーは除去され、 TTS ディレクティブの警告として報告されます。

    利用可能なディレクティブキー:

    • provider(登録済みのプロバイダー ID。allowProvider: true が必要)
    • speakerVoice / speakerVoiceId(旧エイリアス:voicevoiceNamevoice_namegoogle_voicevoiceId
    • model / google_model
    • stabilitysimilarityBooststylespeeduseSpeakerBoost
    • vol / volume(MiniMax の音量、(0, 10]
    • pitch(MiniMax の整数ピッチ、−12~12。小数値は切り捨て)
    • emotion(Volcengine の感情タグ)
    • applyTextNormalizationauto|on|off
    • languageCode(ISO 639-1)
    • seed

    モデルによる上書きを完全に無効化:

    json5
    { messages: { tts: { modelOverrides: { enabled: false } } } }

    他の調整項目を設定可能なまま、プロバイダーの切り替えを許可:

    json5
    { messages: { tts: { modelOverrides: { enabled: true, allowProvider: true, allowSeed: false } } } }

    スラッシュコマンド

    単一コマンド /tts。Discord では、/tts が Discord の 組み込みコマンドであるため、OpenClaw は /voice も登録します。 テキストの /tts ... も引き続き機能します。

    text
    /tts off | on | status/tts chat on | off | default/tts latest/tts provider <id>/tts persona <id> | off/tts limit <chars>/tts summary off/tts audio <text>

    動作に関する注記:

    • /tts on はローカルの TTS 設定を always に書き込み、/tts offoff に書き込みます。
    • /tts chat on|off|default は、現在のチャットに対するセッション単位の自動 TTS 上書きを書き込みます。
    • /tts persona <id> はローカルのペルソナ設定を書き込み、/tts persona off はそれを消去します。
    • /tts latest は現在のセッショントランスクリプトから最新のアシスタント返信を読み取り、音声として一度送信します。音声の重複送信を抑止するため、その返信のハッシュのみをセッションエントリに保存します。
    • /tts audio は一回限りの音声返信を生成します(TTS をオンには切り替えません)。
    • /tts limit <chars>100~4096 を受け付けます(4096 は Telegram のキャプション/メッセージの最大値)。範囲外の値は拒否されます。
    • limitsummary はメイン設定ではなく、ローカル設定に保存されます。
    • /tts status には、最新の試行に関するフォールバック診断(Fallback: <primary> -> <used>Attempts: ...、および試行ごとの詳細(provider:outcome(reasonCode) latency))が含まれます。
    • /status は、TTS が有効な場合に、有効な TTS モードと、設定済みのプロバイダー、モデル、音声、サニタイズ済みカスタムエンドポイントのメタデータを表示します。

    ユーザーごとの設定

    スラッシュコマンドは、ローカルの上書きを TTS 設定パスに書き込みます。デフォルトは ~/.openclaw/settings/tts.json です。OPENCLAW_TTS_PREFS で上書きできます。Doctor は、 廃止されたグローバルな tts.prefsPath の値を共有マシン状態へ移動します。 高度なマルチエージェント構成では、エージェントが意図的に個別の設定ストアを使用する場合、 引き続き agents.entries.<id>.tts.prefsPath を設定できます。

    保存フィールド 効果
    auto ローカルの自動 TTS 上書き(alwaysoff、…)
    provider ローカルのプライマリプロバイダー上書き
    persona ローカルのペルソナ上書き
    maxLength 要約/切り詰めのしきい値(デフォルト 1500 文字、/tts limit の範囲は 100~4096)
    summarize 要約の切り替え(デフォルト true

    これらは、そのホストにおける tts と有効な agents.entries.*.tts ブロックから得られる実効設定を上書きします。

    出力形式

    TTS 音声配信は、チャンネルの機能によって決まります。チャンネル Plugin は、 音声形式の TTS でプロバイダーにネイティブな voice-note ターゲットを要求するか、 通常の audio-file 合成を維持するか、また、送信前にチャンネルが 非ネイティブ出力をトランスコードするかどうかを通知します。

    ターゲット 形式
    Feishu / Matrix / Telegram / WhatsApp 音声メモへの返信では Opus(ElevenLabs の opus_48000_64、OpenAI の opus)が優先されます。48 kHz / 64 kbps により、明瞭さとサイズのバランスを取ります。
    その他のチャネル MP3(ElevenLabs の mp3_44100_128、OpenAI の mp3)。44.1 kHz / 128 kbps が音声におけるデフォルトのバランスです。
    Talk / 電話 プロバイダー固有の PCM(Inworld 22050 Hz、Google 24 kHz)、または電話用の Gradium の ulaw_8000

    プロバイダー別の注記:

    • Feishu / WhatsApp のトランスコード: 音声メモへの返信が MP3/WebM/WAV/M4A またはその他の音声ファイルと思われる形式で届いた場合、チャネル Plugin はネイティブ音声メッセージを送信する前に、ffmpeglibopus、64 kbps)を使用して 48 kHz Ogg/Opus にトランスコードします。WhatsApp は、ptt: true および audio/ogg; codecs=opus を指定した Baileys の audio ペイロードを通じて結果を送信します。トランスコードに失敗した場合、Feishu はエラーを捕捉し、元のファイルを通常の添付ファイルとして送信する方式にフォールバックします。WhatsApp にはフォールバックがないため、互換性のない PTT ペイロードを投稿する代わりに、送信自体が失敗します。
    • MiniMax: 通常の音声添付ファイルには MP3(speech-2.8-hd モデル、32 kHz サンプルレート)を使用し、チャネルが音声メモ対応として通知しているターゲットでは ffmpeg を使用して 48 kHz Opus にトランスコードします。
    • Xiaomi MiMo: デフォルトでは MP3、設定されている場合は WAV を使用します。チャネルが音声メモ対応として通知しているターゲットでは ffmpeg を使用して 48 kHz Opus にトランスコードします。
    • ローカル CLI: 設定された outputFormat を使用します。音声メモのターゲットは Ogg/Opus に変換され、電話出力は ffmpeg を使用して raw 16 kHz モノラル PCM に変換されます。
    • Google Gemini: raw 24 kHz PCM を返します。OpenClaw は音声添付ファイル用にこれを WAV としてラップし、音声メモのターゲット用に 48 kHz Opus にトランスコードし、Talk/電話用には PCM を直接返します。
    • Gradium: 音声添付ファイルには WAV、音声メモのターゲットには Opus、電話には 8 kHz の ulaw_8000 を使用します。
    • Inworld: 通常の音声添付ファイルには MP3、音声メモのターゲットにはネイティブの OGG_OPUS、Talk/電話には 22050 Hz の raw PCM を使用します。
    • xAI: デフォルトでは MP3 を使用します。音声ファイルの合成では、バッファリング出力とストリーミング出力の両方に mp3wavpcmmulaw、または alaw を使用できます。xAI の pcmmulaw、および alaw の出力はヘッダーのない raw 音声であるため、音声メモのターゲットではストリーミングおよびバッファリング時のフォールバックに MP3 を使用します。バッファリング合成では xAI のバッチ REST /v1/tts エンドポイントを使用し、textToSpeechStream ではネイティブの wss://api.x.ai/v1/tts を使用します。これはリアルタイム音声の契約ではありません。ネイティブ Opus 音声メモ形式はサポートされていません。
    • Microsoft: microsoft.outputFormat(デフォルトは audio-24khz-48kbitrate-mono-mp3)を使用します。
      • バンドルされたトランスポートは outputFormat を受け付けますが、サービスからすべての形式を利用できるわけではありません。
      • 出力形式の値は Microsoft Speech の出力形式(Ogg/WebM Opus を含む)に従います。
      • Telegram の sendVoice は OGG/MP3/M4A を受け付けます。Opus 音声メッセージを確実に使用する必要がある場合は OpenAI/ElevenLabs を使用してください。
      • 設定された Microsoft の出力形式が失敗した場合、OpenClaw は MP3 で再試行します。
      • 明示的な音声の上書きが設定されておらず、デフォルトの英語音声が使用されている場合、返信テキストで CJK が大部分を占めていれば、OpenClaw は中国語ニューラル音声(zh-CN-XiaoxiaoNeuralzh-CN ロケール)に自動的に切り替えます。

    OpenAI と ElevenLabs の出力形式は、上記のとおりチャネルごとに固定されています。

    自動 TTS の動作

    tts.auto が有効な場合、OpenClaw は次のように動作します。

    • 返信に構造化メディアがすでに含まれている場合は、TTS をスキップします。
    • 非常に短い返信(10 文字未満)はスキップします。
    • 要約が有効な場合、summaryModel(または agents.defaults.model.primary)を使用して 長い返信を要約します。
    • 生成された音声を返信に添付します。
    • mode: "final" では、テキストストリームの完了後も、ストリーミングされた最終返信に対して 音声のみの TTS を送信します。生成されたメディアには、通常の返信添付ファイルと同じ チャネルメディア正規化が適用されます。

    返信が maxLength を超えた場合でも、OpenClaw が音声を完全にスキップすることはありません。

    • 要約オン(デフォルト)で要約モデルが利用可能な場合:テキストを 約 maxLength 文字に要約し、その要約を音声合成します。
    • 要約オフ、要約に失敗した場合、または要約モデル用の API キーが利用できない場合: テキストを maxLength 文字に切り詰め、切り詰めたテキストを 音声合成します。
    text
    返信 -> TTS は有効?  いいえ -> テキストを送信  はい   -> メディアを含む / 短い?            はい   -> テキストを送信            いいえ -> 長さ > 上限?                      いいえ -> TTS -> 音声を添付                      はい   -> 要約が有効かつ利用可能?                                いいえ -> 切り詰め -> TTS -> 音声を添付                                はい   -> 要約 -> TTS -> 音声を添付

    フィールドリファレンス

    トップレベルの tts.*
    auto"off" | "always" | "inbound" | "tagged"

    自動 TTS モード。inbound は受信した音声メッセージの後にのみ音声を送信します。tagged は返信に [[tts:...]] ディレクティブまたは [[tts:text]] ブロックが含まれている場合にのみ音声を送信します。

    enabledboolean

    旧式の切り替え設定。openclaw doctor --fix はこれを auto に移行します。

    mode"final" | "all"default: final

    "all" は最終返信に加えて、ツール/ブロックの返信も含めます。

    providerstring

    音声プロバイダー ID。未設定の場合、OpenClaw はレジストリの自動選択順で最初に設定されているプロバイダーを使用します。旧式の provider: "edge"openclaw doctor --fix によって "microsoft" に書き換えられます。

    personastring

    personas のアクティブなペルソナ ID。小文字に正規化されます。

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InBlcnNvbmFzLjxpZA " type="object"> 安定した発話アイデンティティ。フィールド:labeldescriptionproviderfallbackPolicypromptproviders.<provider>ペルソナを参照してください。

    summaryModelstring

    自動要約用の低コストモデル。デフォルトは agents.defaults.model.primary です。provider/model または設定済みのモデルエイリアスを受け付けます。

    modelOverridesobject

    モデルが TTS ディレクティブを出力できるようにします。enabled のデフォルトは trueallowProvider のデフォルトは false です。

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InByb3ZpZGVycy48aWQ " type="object"> 音声プロバイダー ID をキーとする、プロバイダー所有の設定。旧式の直接ブロック(tts.openai.elevenlabs.microsoft.edge)は openclaw doctor --fix によって書き換えられます。tts.providers.<id> のみをコミットしてください。

    maxTextLengthnumberdefault: 4096

    TTS 入力文字数の上限。超過した場合、/tts audiotts.convert、および tts.speak は失敗します。

    timeoutMsnumberdefault: 30000

    リクエストのタイムアウト(ミリ秒単位)。呼び出しごとの timeoutMs(エージェントツール、Gateway)が設定されている場合はそれが優先されます。それ以外の場合、明示的に設定された tts.timeoutMs が、Plugin によって設定されたプロバイダーのデフォルト値より優先されます。

    プロバイダーの apiKey フィールドには、raw 文字列または SecretRef を指定できます。Gateway のコールド 起動時に TTS SecretRef が利用できない場合、Gateway を停止する代わりに、組み込みの TTS 機能が 設定済みだが利用不可としてマークされます。その後、tts.speak は理由 SECRET_SURFACE_UNAVAILABLE とともに UNAVAILABLE を返し、プロバイダーへのリクエストは 送信されません。ステータスと doctor には、機能が低下した TTS の所有者とその設定パスが表示されます。 明示的な参照はランタイムスナップショットに残るため、環境またはプロファイルの 認証情報によって別のアカウントが暗黙的に選択されることはありません。リロードおよび設定書き込みの 事前チェックでは、所有者を考慮した機能低下ポリシーが適用されます。変更されていない適格な TTS 所有者は、最後に正常だった認証情報を古い状態のまま維持できますが、新規または変更された 障害は、正常な所有者をブロックせずにコールド状態になります。構造的に無効な参照 および解決済みの値は、引き続き起動を失敗させるか、更新を拒否します。

    Azure Speech

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg 環境変数:AZURE_SPEECH_KEYAZURE_SPEECH_API_KEY、または SPEECH_KEY。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlZ2lvbiIgdHlwZT0ic3RyaW5nIg Azure Speech のリージョン(例:eastus)。環境変数:AZURE_SPEECH_REGION または SPEECH_REGION。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImVuZHBvaW50IiB0eXBlPSJzdHJpbmci Azure Speech エンドポイントの任意の上書き(エイリアス baseUrl)。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Azure 音声の ShortName。デフォルトは en-US-JennyNeural。旧式のエイリアス:voice。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImxhbmciIHR5cGU9InN0cmluZyI SSML 言語コード。デフォルトは en-US。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg 標準音声用の Azure X-Microsoft-OutputFormat。デフォルトは audio-24khz-48kbitrate-mono-mp3。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InZvaWNlTm90ZU91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg 音声メモ出力用の Azure X-Microsoft-OutputFormat。デフォルトは ogg-24khz-16bit-mono-opus。 OPENCLAW_DOCS_MARKER:paramClose:

    ElevenLabs

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg ELEVENLABS_API_KEY または XI_API_KEY にフォールバックします。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci モデル ID。デフォルトは eleven_multilingual_v2。旧式の ID eleven_turbo_v2_5/eleven_turbo_v2 は、対応する flash モデルに正規化されます。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci ElevenLabs の音声 ID。デフォルトは pMsXgVXv3BLzUgSXRplE。旧式のエイリアス:voiceId。 OPENCLAW_DOCS_MARKER:paramClose:

    voiceSettingsobject

    stabilitysimilarityBooststyle(それぞれ 0..1、デフォルトは 0.5/0.75/0)、useSpeakerBoosttrue|false、デフォルトは true)、speed0.5..2.0、デフォルトは 1.0)。

    applyTextNormalization"auto" | "on" | "off"

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imxhbmd1YWdlQ29kZSIgdHlwZT0ic3RyaW5nIg 2 文字の ISO 639-1(例:ende)。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNlZWQiIHR5cGU9Im51bWJlciI 可能な限り決定性を確保するための整数 0..4294967295。 OPENCLAW_DOCS_MARKER:paramClose:

    baseUrlstring
    Google Gemini

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg GEMINI_API_KEY / GOOGLE_API_KEY にフォールバックします。省略した場合、TTS は環境変数へのフォールバック前に models.providers.google.apiKey を再利用できます。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci Gemini TTS モデル。デフォルトは gemini-3.1-flash-tts-preview。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Gemini の事前構築済み音声名。デフォルトは Kore。レガシーエイリアス: voiceNamevoice。 OPENCLAW_DOCS_MARKER:paramClose:

    audioProfilestring
    speakerNamestring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InByb21wdFRlbXBsYXRlIiB0eXBlPSciYXVkaW8tcHJvZmlsZS12MSIn audio-profile-v1 に設定すると、アクティブなペルソナプロンプトフィールドが決定論的な Gemini TTS プロンプト構造でラップされます。 OPENCLAW_DOCS_MARKER:paramClose:

    personaPromptstring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI https://generativelanguage.googleapis.com のみ受け付けます。 OPENCLAW_DOCS_MARKER:paramClose:

    Gradium

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg 環境変数: GRADIUM_API_KEY。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI api.gradium.ai 上の HTTPS Gradium API URL。デフォルトは https://api.gradium.ai。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci デフォルトは Emma(YTpq7expH9539ERJ)。レガシーエイリアス: voiceId。 OPENCLAW_DOCS_MARKER:paramClose:

    Inworld

    Inworld プライマリ

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg 環境変数: INWORLD_API_KEY。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI デフォルトは https://api.inworld.ai。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsSWQiIHR5cGU9InN0cmluZyI デフォルトは inworld-tts-1.5-max。ほかに inworld-tts-1.5-miniinworld-tts-1-maxinworld-tts-1 も使用できます。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci デフォルトは Sarah。レガシーエイリアス: voiceId。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRlbXBlcmF0dXJlIiB0eXBlPSJudW1iZXIi サンプリング温度 0..2(0 を除く)。 OPENCLAW_DOCS_MARKER:paramClose:

    ローカル CLI (tts-local-cli)
    commandstring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFyZ3MiIHR5cGU9InN0cmluZ1tdIg コマンド引数。プレースホルダー {{Text}}{{OutputPath}}{{OutputDir}}{{OutputBase}} をサポートします。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0nIm1wMyIgfCAib3B1cyIgfCAid2F2Iic 想定される CLI 出力形式。音声添付ファイルのデフォルトは mp3。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIg コマンドのタイムアウト(ミリ秒)。デフォルトは 120000。 OPENCLAW_DOCS_MARKER:paramClose:

    cwdstring
    envRecord<string, string��-�����4

    コマンドの標準出力、および生成または変換された音声は 50 MiB に制限されます。診断用の標準エラー出力は 1 MiB に制限されます。いずれかの上限を超えると、OpenClaw はコマンドを終了し、音声合成を失敗させます。

    Microsoft(API キー不要)
    enabledbooleandefault: true

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Microsoft ニューラル音声名(例: en-US-MichelleNeural)。レガシーエイリアス: voice。デフォルトの英語音声が有効で、返信テキストの大部分が CJK の場合、OpenClaw は自動的に zh-CN-XiaoxiaoNeural に切り替えます。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImxhbmciIHR5cGU9InN0cmluZyI 言語コード(例: en-US)。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg Microsoft 出力形式。デフォルトは audio-24khz-48kbitrate-mono-mp3。バンドルされている Edge ベースのトランスポートでは、すべての形式がサポートされるわけではありません。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJhdGUgLyBwaXRjaCAvIHZvbHVtZSIgdHlwZT0ic3RyaW5nIg パーセント文字列(例: +10%-5%)。 OPENCLAW_DOCS_MARKER:paramClose:

    saveSubtitlesboolean
    proxystring
    timeoutMsnumber

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImVkZ2UuKiIgdHlwZT0ib2JqZWN0IiBkZXByZWNhdGVk レガシーエイリアス。openclaw doctor --fix を実行して、永続化された設定を providers.microsoft に書き換えてください。 OPENCLAW_DOCS_MARKER:paramClose:

    MiniMax

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg MINIMAX_API_KEY にフォールバックします。MINIMAX_OAUTH_TOKENMINIMAX_CODE_PLAN_KEY、または MINIMAX_CODING_API_KEY による Token Plan 認証。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI デフォルトは https://api.minimax.io。環境変数: MINIMAX_API_HOST。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci デフォルトは speech-2.8-hd。環境変数: MINIMAX_TTS_MODEL。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci デフォルトは English_expressive_narrator。環境変数: MINIMAX_TTS_VOICE_ID。レガシーエイリアス: voiceId。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkIiB0eXBlPSJudW1iZXIi 0.5..2.0。デフォルトは 1.0。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InZvbCIgdHlwZT0ibnVtYmVyIg (0, 10]。デフォルトは 1.0。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InBpdGNoIiB0eXBlPSJudW1iZXIi 整数 -12..12。デフォルトは 0。小数値はリクエスト前に切り捨てられます。 OPENCLAW_DOCS_MARKER:paramClose:

    OpenAI

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg OPENAI_API_KEY にフォールバックします。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci OpenAI TTS モデル ID。デフォルトは gpt-4o-mini-tts。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg 音声名(例: alloycedar)。デフォルトは coral。レガシーエイリアス: voice。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imluc3RydWN0aW9ucyIgdHlwZT0ic3RyaW5nIg 明示的な OpenAI instructions フィールド。設定すると、ペルソナプロンプトフィールドは自動マッピングされません。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImV4dHJhQm9keSAvIGV4dHJhX2JvZHkiIHR5cGU9IlJlY29yZDxzdHJpbmcsIHVua25vd24 ">生成された OpenAI TTS フィールドの後で、/audio/speech リクエスト本文にマージされる追加の JSON フィールド。lang のようなプロバイダー固有のキーを必要とする Kokoro などの OpenAI 互換エンドポイントに使用します。安全でないプロトタイプキーは無視されます。 OPENCLAW_DOCS_MARKER:paramClose:

    baseUrlstring

    OpenAI TTS エンドポイントをオーバーライドします。解決順序: 設定 → OPENAI_TTS_BASE_URLhttps://api.openai.com/v1。デフォルト以外の値は OpenAI 互換 TTS エンドポイントとして扱われるため、カスタムのモデル名と音声名が受け付けられ、speed には 0.25..4.0 の範囲チェックが適用されなくなります。

    OpenRouter

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg 環境変数: OPENROUTER_API_KEYmodels.providers.openrouter.apiKey を再利用できます。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI デフォルトは https://openrouter.ai/api/v1。レガシーの https://openrouter.ai/v1 は正規化されます。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci デフォルトは hexgrad/kokoro-82m。エイリアス: modelId。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg デフォルトは af_alloy。レガシーエイリアス: voicevoiceId。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc3BvbnNlRm9ybWF0IiB0eXBlPScibXAzIiB8ICJwY20iJw デフォルトは mp3。 OPENCLAW_DOCS_MARKER:paramClose:

    speednumber
    Volcengine (BytePlus Seed Speech)

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg 環境変数: VOLCENGINE_TTS_API_KEY または BYTEPLUS_SEED_SPEECH_API_KEY。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc291cmNlSWQiIHR5cGU9InN0cmluZyI デフォルトは seed-tts-1.0。環境変数: VOLCENGINE_TTS_RESOURCE_ID。プロジェクトに TTS 2.0 の利用資格がある場合は seed-tts-2.0 を使用します。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwcEtleSIgdHlwZT0ic3RyaW5nIg App キーヘッダー。デフォルトは aGjiRDfUWi。環境変数: VOLCENGINE_TTS_APP_KEY。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI Seed Speech TTS HTTP エンドポイントをオーバーライドします。環境変数: VOLCENGINE_TTS_BASE_URL。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg 音声タイプ。デフォルトは en_female_anna_mars_bigtts。環境変数: VOLCENGINE_TTS_VOICE。レガシーエイリアス: voice。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkUmF0aW8iIHR5cGU9Im51bWJlciI プロバイダー固有の速度比率、0.2..3。 OPENCLAW_DOCS_MARKER:paramClose:

    emotionstring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwcElkIC8gdG9rZW4gLyBjbHVzdGVyIiB0eXBlPSJzdHJpbmciIGRlcHJlY2F0ZWQ レガシーの Volcengine Speech Console フィールド。環境変数: VOLCENGINE_TTS_APPIDVOLCENGINE_TTS_TOKENVOLCENGINE_TTS_CLUSTER(デフォルトは volcano_tts)。 OPENCLAW_DOCS_MARKER:paramClose:

    xAI

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg 環境変数: XAI_API_KEY。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI デフォルトは https://api.x.ai/v1。環境変数: XAI_BASE_URL。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci デフォルトは eve。認証がある場合、openclaw infer tts voices --provider xai は現在の組み込みカタログを取得します。認証がない場合は、オフラインフォールバック araeveleorexsal を一覧表示します。アカウントのカスタム音声 ID は、組み込みリストに存在しない場合でも転送されます。レガシーエイリアス: voiceId。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imxhbmd1YWdlIiB0eXBlPSJzdHJpbmci BCP-47 言語コードまたは auto。デフォルトは en。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc3BvbnNlRm9ybWF0IiB0eXBlPScibXAzIiB8ICJ3YXYiIHwgInBjbSIgfCAibXVsYXciIHwgImFsYXciJw デフォルトは mp3。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkIiB0eXBlPSJudW1iZXIi プロバイダー固有の速度オーバーライド、0.7..1.5。 OPENCLAW_DOCS_MARKER:paramClose:

    Xiaomi MiMo

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg 環境変数: XIAOMI_API_KEY。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI デフォルトは https://api.xiaomimimo.com/v1。環境変数: XIAOMI_BASE_URL。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci デフォルトは mimo-v2.5-tts。環境変数: XIAOMI_TTS_MODELmimo-v2.5-tts-voicedesign もサポートします。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg プリセット音声モデルのデフォルトは mimo_default。環境変数: XIAOMI_TTS_VOICE。レガシーエイリアス: voicemimo-v2.5-tts-voicedesign には送信されません。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImZvcm1hdCIgdHlwZT0nIm1wMyIgfCAid2F2Iic デフォルトは mp3。環境変数: XIAOMI_TTS_FORMAT。 OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InN0eWxlIiB0eXBlPSJzdHJpbmci ユーザーメッセージとして送信される任意の自然言語スタイル指示。読み上げられません。mimo-v2.5-tts-voicedesign では、これは音声デザインプロンプトです。省略すると OpenClaw がデフォルトを提供します。 OPENCLAW_DOCS_MARKER:paramClose:

    エージェントツール

    tts ツールはテキストを音声に変換し、返信配信用の音声添付ファイルを返します。 Feishu、Matrix、Telegram、WhatsApp では、音声はファイル添付ではなく 音声メッセージとして配信されます。この経路では ffmpeg が 利用可能な場合、Feishu と WhatsApp は Opus 以外の TTS 出力をトランスコードできます。

    WhatsApp は Baileys を介して音声を PTT ボイスノート(audioptt: true)として送信します。また、クライアントがボイスノートのキャプションを 一貫して表示しないため、表示テキストを PTT 音声とは別に送信します。

    このツールは任意の channel フィールドと timeoutMs フィールドを受け付けます。timeoutMs は 呼び出しごとのプロバイダーリクエストタイムアウト(ミリ秒)です。呼び出しごとの値は tts.timeoutMs をオーバーライドします。設定された TTS タイムアウトは、Plugin が指定した プロバイダーのデフォルト値をオーバーライドします。

    Gateway RPC

    メソッド 目的
    tts.status 現在の TTS 状態と前回の試行を読み取ります。
    tts.enable ローカルの自動設定を always に設定します。
    tts.disable ローカルの自動設定を off に設定します。
    tts.convert 1 回限りでテキストを音声に変換します。
    tts.setProvider ローカルのプロバイダー設定を指定します。
    tts.personas 設定済みのペルソナと現在有効なペルソナを一覧表示します。
    tts.setPersona ローカルのペルソナ設定を指定します。
    tts.providers 設定済みのプロバイダーとその状態を一覧表示します。

    サービスへのリンク

    関連項目

    Was this useful?
    On this page

    On this page