Tools

Metinden konuşmaya

OpenClaw, giden yanıtları 14 konuşma sağlayıcısı üzerinden sese dönüştürür: Feishu, Matrix, Telegram ve WhatsApp'ta yerel sesli mesajlar; diğer her yerde ses ekleri; telefon ve Talk için PCM/Ulaw akışları.

TTS, Talk'ın stt-tts modunun konuşma çıktısı yarısıdır (talk.speak çağrıları da aynı sentez yolunu kullanır). Sağlayıcıya özgü realtime Talk oturumları konuşmayı gerçek zamanlı sağlayıcının içinde sentezler; transcription oturumları ise hiçbir zaman sesli bir asistan yanıtı sentezlemez.

Hızlı başlangıç

  • Bir sağlayıcı seçin

    OpenAI ve ElevenLabs, barındırılan seçenekler arasında en güvenilir olanlardır. Microsoft ve Yerel CLI, API anahtarı olmadan çalışır. Tam liste için sağlayıcı matrisine bakın.

  • API anahtarını ayarlayın

    Sağlayıcınızın ortam değişkenini dışa aktarın (örneğin OPENAI_API_KEY, ELEVENLABS_API_KEY). Microsoft ve Yerel CLI anahtar gerektirmez.

  • Yapılandırmada etkinleştirin

    tts.auto: "always" ve tts.provider değerlerini ayarlayın:

    json5
    {  tts: {    auto: "always",    provider: "elevenlabs",  },}
  • Sohbette deneyin

    /tts status mevcut durumu gösterir. /tts audio Hello from OpenClaw tek seferlik bir sesli yanıt gönderir.

  • Desteklenen sağlayıcılar

    Sağlayıcı Kimlik doğrulama Notlar
    Azure Speech AZURE_SPEECH_KEY + AZURE_SPEECH_REGION (ayrıca AZURE_SPEECH_API_KEY, SPEECH_KEY, SPEECH_REGION) Yerel Ogg/Opus sesli not çıktısı ve telefon desteği.
    DeepInfra DEEPINFRA_API_KEY OpenAI uyumlu TTS. Varsayılanı hexgrad/Kokoro-82M.
    ElevenLabs ELEVENLABS_API_KEY veya XI_API_KEY Ses klonlama, çok dillilik, seed aracılığıyla deterministik çalışma; Discord sesli oynatımı için akış halinde iletilir.
    Google Gemini GEMINI_API_KEY veya GOOGLE_API_KEY Gemini API toplu TTS; promptTemplate: "audio-profile-v1" aracılığıyla kişiliğe duyarlıdır.
    Gradium GRADIUM_API_KEY Sesli not ve telefon çıktısı.
    Inworld INWORLD_API_KEY Akışlı TTS API'si. Yerel Opus sesli not ve PCM telefon desteği.
    Yerel CLI yok Yapılandırılmış yerel bir TTS komutunu çalıştırır.
    Microsoft yok node-edge-tts üzerinden herkese açık Edge sinirsel TTS. En iyi çaba esaslıdır, SLA yoktur.
    MiniMax MINIMAX_API_KEY (veya Token Planı: MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY) T2A v2 API'si. Varsayılanı speech-2.8-hd.
    OpenAI OPENAI_API_KEY Otomatik özet için de kullanılır; instructions kişiliğini destekler.
    OpenRouter OPENROUTER_API_KEY (models.providers.openrouter.apiKey yeniden kullanılabilir) Varsayılan model hexgrad/kokoro-82m.
    Volcengine VOLCENGINE_TTS_API_KEY veya BYTEPLUS_SEED_SPEECH_API_KEY (eski AppID/token: VOLCENGINE_TTS_APPID/_TOKEN) BytePlus Seed Speech HTTP API'si.
    Vydra VYDRA_API_KEY Ortak görüntü, video ve konuşma sağlayıcısı.
    xAI XAI_API_KEY xAI toplu TTS. Yerel Opus sesli not desteklenmez.
    Xiaomi MiMo XIAOMI_API_KEY Xiaomi sohbet tamamlamaları üzerinden MiMo TTS.

    Birden fazla sağlayıcı yapılandırılmışsa önce seçilen sağlayıcı kullanılır, diğerleri ise yedek seçeneklerdir. Otomatik özet summaryModel (veya agents.defaults.model.primary) kullanır; bu nedenle özetleri etkin tutarsanız bu sağlayıcının kimlik doğrulamasının da yapılması gerekir.

    Yapılandırma

    TTS yapılandırması, ~/.openclaw/openclaw.json içindeki tts altında bulunur. Bir ön ayar seçip sağlayıcı bloğunu uyarlayın. Aşağıda gösterilen speakerVoice/speakerVoiceId alanları standarttır; her sağlayıcının kendi voice/voiceId/ voiceName alan adları eski takma adlar olarak çalışmaya devam eder.

    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",    // İsteğe bağlı doğal dil stil istemleri:    // audioProfile: "Sakin bir podcast sunucusu tonuyla konuş.",    // 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,  },},},}

    Yerel CLI

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

    Microsoft (anahtarsız)

    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 için speakerVoice alanını atlayın ve style değerini ses tasarımı istemi olarak ayarlayın. OpenClaw bu istemi TTS user mesajı olarak gönderir ve voicedesign modeli için audio.voice göndermez.

    Agent başına ses geçersiz kılmaları

    Bir agent'ın farklı bir sağlayıcı, ses, model, kişilik veya otomatik TTS moduyla konuşması gerektiğinde agents.entries.*.tts kullanın. Agent bloğu tts üzerine derin birleştirme uygular; böylece sağlayıcı kimlik bilgileri genel sağlayıcı yapılandırmasında kalabilir:

    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" },          },        },      },    ],  },}

    Aracı başına bir personayı sabitlemek için sağlayıcı yapılandırmasının yanında agents.entries.*.tts.persona ayarını yapın — bu ayar yalnızca söz konusu aracı için genel tts.persona ayarını geçersiz kılar.

    Otomatik yanıtlar, /tts audio, /tts status ve tts aracı aracı için öncelik sırası:

    1. tts
    2. etkin agents.entries.*.tts
    3. kanal channels.<channel>.tts desteklediğinde kanal geçersiz kılması
    4. kanal channels.<channel>.accounts.<id>.tts ilettiğinde hesap geçersiz kılması
    5. bu ana makineye ait yerel /tts tercihleri
    6. model geçersiz kılmaları etkinleştirildiğinde satır içi [[tts:...]] yönergeleri

    Kanal ve hesap geçersiz kılmaları, tts ile aynı yapıyı kullanır ve önceki katmanların üzerine derin birleştirme uygular; böylece paylaşılan sağlayıcı kimlik bilgileri tts içinde kalabilirken bir kanal veya bot hesabı yalnızca konuşmacı sesini, modeli, personayı ya da otomatik modu değiştirebilir:

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

    Personalar

    Bir persona, sağlayıcılar arasında belirlenimsel olarak uygulanabilen kararlı bir sözlü kimliktir. Belirli bir sağlayıcıyı tercih edebilir, sağlayıcıdan bağımsız istem amacını tanımlayabilir ve sesler, modeller, istem şablonları, seed değerleri ve ses ayarları için sağlayıcıya özgü bağlamalar taşıyabilir.

    Minimal persona

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

    Tam persona (sağlayıcıya özgü şekillendirme)

    json5
    {  tts: {    auto: "always",    persona: "alfred",    personas: {      alfred: {        label: "Alfred",        description: "Dry, warm British butler narrator.",        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,            },          },        },      },    },  },}

    Persona çözümleme

    Etkin persona belirlenimsel olarak seçilir:

    1. ayarlanmışsa yerel /tts persona <id> tercihi.
    2. ayarlanmışsa tts.persona.
    3. Persona yok.

    Sağlayıcı seçimi, açık seçimlere öncelik vererek çalışır:

    1. Doğrudan geçersiz kılmalar (CLI, Gateway, Talk, izin verilen TTS yönergeleri).
    2. Yerel /tts provider <id> tercihi.
    3. Etkin personanın provider değeri.
    4. tts.provider.
    5. Kayıt defterinden otomatik seçim.

    OpenClaw, her sağlayıcı denemesinde yapılandırmaları şu sırayla birleştirir:

    1. tts.providers.<id>
    2. tts.personas.<persona>.providers.<id>
    3. Güvenilir istek geçersiz kılmaları
    4. İzin verilen, model tarafından yayımlanmış TTS yönergesi geçersiz kılmaları

    Özel persona şekillendirme

    Sağlayıcıdan bağımsız personas.<id>.prompt.* yapılandırması kullanımdan kaldırılmıştır. Doctor bu alanları kaldırır ve konuşma sağlayıcısı bağlantı noktasına yönlendirir. Yerleşik sağlayıcı ayarlarını personas.<id>.providers.<provider> altına yerleştirin (örneğin Google personaPrompt veya OpenAI instructions). Özel şekillendirme için prepareSynthesis(ctx) içeren bir konuşma sağlayıcısı plugini uygulayın ve synthesize() çalışmadan önce ayarlanmış metni, sağlayıcı yapılandırmasını veya geçersiz kılmaları döndürün. Bu yaklaşım, etkileyici istem oluşturmayı istek semantiğinin bilindiği sağlayıcı kodunda tutar.

    Geri dönüş politikası

    fallbackPolicy, bir personanın denenen sağlayıcı için bağlaması olmadığında davranışı denetler:

    Politika Davranış
    preserve-persona Varsayılan. Sağlayıcıdan bağımsız istem alanları kullanılabilir kalır; sağlayıcı bunları kullanabilir veya yok sayabilir.
    provider-defaults Persona, bu denemenin istem hazırlığından çıkarılır; diğer sağlayıcılara geri dönüş devam ederken sağlayıcı kendi nötr varsayılanlarını kullanır.
    fail Bu sağlayıcı denemesini reasonCode: "not_configured" ve personaBinding: "missing" ile atlayın. Geri dönüş sağlayıcıları yine denenir.

    TTS isteğinin tamamı yalnızca denenen tüm sağlayıcılar atlandığında veya başarısız olduğunda başarısız olur.

    Talk oturumu sağlayıcı seçimi oturum kapsamındadır. Bir Talk istemcisi sağlayıcı kimliklerini, model kimliklerini, ses kimliklerini ve yerel ayarları talk.catalog içinden seçmeli ve bunları Talk oturumu veya devir isteği üzerinden iletmelidir. Bir ses oturumunun açılması tts ya da genel Talk sağlayıcı varsayılanlarını değiştirmemelidir.

    Model güdümlü yönergeler

    Varsayılan olarak asistan, tek bir yanıt için sesi, modeli veya hızı geçersiz kılmak üzere [[tts:...]] yönergeleri ve yalnızca seste görünmesi gereken etkileyici ipuçları için isteğe bağlı bir [[tts:text]]...[[/tts:text]] bloğu yayımlayabilir:

    text
    Buyurun. [[tts:speakerVoiceId=pMsXgVXv3BLzUgSXRplE model=eleven_v3 speed=1.1]][[tts:text]](güler) Şarkıyı bir kez daha oku.[[/tts:text]]

    tts.auto, "tagged" olduğunda sesi tetiklemek için yönergeler zorunludur. Akışlı blok teslimi, bitişik bloklara bölünmüş olsalar bile kanal görmeden önce yönergeleri görünür metinden çıkarır.

    provider=..., modelOverrides.allowProvider: true olmadığı sürece yok sayılır. Bir yanıt provider=... bildirdiğinde, bu yönergedeki diğer anahtarlar yalnızca söz konusu sağlayıcı tarafından ayrıştırılır; desteklenmeyen anahtarlar çıkarılır ve TTS yönergesi uyarıları olarak bildirilir.

    Kullanılabilir yönerge anahtarları:

    • provider (kayıtlı sağlayıcı kimliği; allowProvider: true gerektirir)
    • speakerVoice / speakerVoiceId (eski diğer adlar: voice, voiceName, voice_name, google_voice, voiceId)
    • model / google_model
    • stability, similarityBoost, style, speed, useSpeakerBoost
    • vol / volume (MiniMax ses düzeyi, (0, 10])
    • pitch (MiniMax tam sayı perde değeri, −12 ile 12; kesirli değerler kırpılır)
    • emotion (Volcengine duygu etiketi)
    • applyTextNormalization (auto|on|off)
    • languageCode (ISO 639-1)
    • seed

    Model geçersiz kılmalarını tamamen devre dışı bırakma:

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

    Diğer ayarları yapılandırılabilir tutarken sağlayıcı değiştirmeye izin verme:

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

    Eğik çizgi komutları

    Tek komut: /tts. Discord üzerinde OpenClaw ayrıca /voice kaydeder; çünkü /tts yerleşik bir Discord komutudur — metin olarak /tts ... yine çalışır.

    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>

    Davranış notları:

    • /tts on, yerel TTS tercihini always konumuna yazar; /tts off ise off konumuna yazar.
    • /tts chat on|off|default, geçerli sohbet için oturum kapsamlı bir otomatik TTS geçersiz kılması yazar.
    • /tts persona <id>, yerel persona tercihini yazar; /tts persona off bunu temizler.
    • /tts latest, geçerli oturum dökümündeki en son asistan yanıtını okur ve bir kez ses olarak gönderir. Yinelenen ses gönderimlerini önlemek için oturum girdisinde yalnızca bu yanıtın karmasını saklar.
    • /tts audio, tek seferlik bir sesli yanıt oluşturur (TTS'yi etkinleştirmez).
    • /tts limit <chars>, 100–4096 aralığını kabul eder (4096, Telegram açıklama/mesaj üst sınırıdır); bu aralığın dışındaki değerler reddedilir.
    • limit ve summary, ana yapılandırmada değil yerel tercihlerde saklanır.
    • /tts status, son denemeye ait geri dönüş tanılamalarını içerir — Fallback: <primary> -> <used>, Attempts: ... ve deneme başına ayrıntı (provider:outcome(reasonCode) latency).
    • /status, TTS etkinleştirildiğinde yapılandırılmış sağlayıcı, model, ses ve temizlenmiş özel uç nokta meta verileriyle birlikte etkin TTS modunu gösterir.

    Kullanıcı başına tercihler

    Eğik çizgi komutları, yerel geçersiz kılmaları TTS tercihleri yoluna yazar. Varsayılan değer ~/.openclaw/settings/tts.json; bunu OPENCLAW_TTS_PREFS ile geçersiz kılın. Doctor, kullanımdan kaldırılmış genel tts.prefsPath değerini paylaşılan makine durumuna taşır. Gelişmiş çok aracılı kurulumlarda aracılar kasıtlı olarak ayrı tercih depoları kullandığında agents.entries.<id>.tts.prefsPath ayarı yine yapılabilir.

    Saklanan alan Etki
    auto Yerel otomatik TTS geçersiz kılması (always, off, …)
    provider Yerel birincil sağlayıcı geçersiz kılması
    persona Yerel persona geçersiz kılması
    maxLength Özetleme/kırpma eşiği (varsayılan 1500 karakter, /tts limit aralığı 100–4096)
    summarize Özetleme açma/kapama ayarı (varsayılan true)

    Bunlar, tts ile söz konusu ana makinenin etkin agents.entries.*.tts bloğundan elde edilen etkili yapılandırmayı geçersiz kılar.

    Çıktı biçimleri

    TTS ses teslimi kanal yetenekleri tarafından yönlendirilir. Kanal pluginleri, ses tarzı TTS'nin sağlayıcılardan yerel bir voice-note hedefi istemesi mi yoksa normal audio-file sentezini sürdürmesi mi gerektiğini ve kanalın yerel olmayan çıktıyı göndermeden önce dönüştürüp dönüştürmediğini bildirir.

    Hedef Biçim
    Feishu / Matrix / Telegram / WhatsApp Sesli not yanıtlarında tercihen Opus kullanılır (ElevenLabs için opus_48000_64, OpenAI için opus). 48 kHz / 64 kbps, netlik ile boyut arasında denge sağlar.
    Diğer kanallar MP3 (ElevenLabs için mp3_44100_128, OpenAI için mp3). 44.1 kHz / 128 kbps, konuşma için varsayılan dengeyi sağlar.
    Talk / telefon Sağlayıcıya özgü PCM (Inworld 22050 Hz, Google 24 kHz) veya telefon için Gradium'dan ulaw_8000.

    Sağlayıcıya özgü notlar:

    • Feishu / WhatsApp kod dönüştürme: Sesli not yanıtı MP3/WebM/WAV/M4A veya başka bir olası ses dosyası olarak geldiğinde, kanal Plugin'i yerel sesli mesajı göndermeden önce dosyayı ffmpeg (libopus, 64 kbps) ile 48 kHz Ogg/Opus biçimine dönüştürür. WhatsApp, sonucu ptt: true ve audio/ogg; codecs=opus ile Baileys audio yükü üzerinden gönderir. Kod dönüştürme başarısız olduğunda: Feishu hatayı yakalar ve özgün dosyayı düz bir ek olarak göndermeye geri döner; WhatsApp'ta geri dönüş yoktur, bu nedenle uyumsuz bir PTT yükü yayımlamak yerine gönderimin kendisi başarısız olur.
    • MiniMax: Normal ses ekleri için MP3 (speech-2.8-hd modeli, 32 kHz örnekleme hızı); kanalın sesli not desteği bildirdiği hedefler için ffmpeg ile 48 kHz Opus biçimine dönüştürülür.
    • Xiaomi MiMo: Varsayılan olarak MP3 veya yapılandırıldığında WAV; kanalın sesli not desteği bildirdiği hedefler için ffmpeg ile 48 kHz Opus biçimine dönüştürülür.
    • Yerel CLI: Yapılandırılmış outputFormat değerini kullanır. Sesli not hedefleri Ogg/Opus biçimine, telefon çıktısı ise ffmpeg ile ham 16 kHz mono PCM biçimine dönüştürülür.
    • Google Gemini: Ham 24 kHz PCM döndürür. OpenClaw, ses ekleri için bunu WAV olarak sarmalar, sesli not hedefleri için 48 kHz Opus biçimine dönüştürür ve Talk/telefon için doğrudan PCM döndürür.
    • Gradium: Ses ekleri için WAV, sesli not hedefleri için Opus ve telefon için 8 kHz'de ulaw_8000.
    • Inworld: Normal ses ekleri için MP3, sesli not hedefleri için yerel OGG_OPUS ve Talk/telefon için 22050 Hz'de ham PCM.
    • xAI: Varsayılan olarak MP3; ses dosyası sentezi, hem arabelleğe alınan hem de akış çıktısı için mp3, wav, pcm, mulaw veya alaw kullanabilir. xAI'ın pcm, mulaw ve alaw çıktıları başlıksız ham ses olduğundan, sesli not hedefleri akış için MP3 ve arabelleğe alınan geri dönüş için MP3 kullanır. Arabelleğe alınan sentez, xAI'ın toplu REST /v1/tts uç noktasını kullanır; textToSpeechStream yerel wss://api.x.ai/v1/tts kullanır. Bu, gerçek zamanlı ses sözleşmesi değildir. Yerel Opus sesli not biçimi desteklenmez.
    • Microsoft: microsoft.outputFormat kullanır (varsayılan audio-24khz-48kbitrate-mono-mp3).
      • Paketle birlikte gelen taşıma, bir outputFormat kabul eder ancak hizmette tüm biçimler kullanılamaz.
      • Çıktı biçimi değerleri Microsoft Speech çıktı biçimlerini izler (Ogg/WebM Opus dâhil).
      • Telegram sendVoice, OGG/MP3/M4A kabul eder; Opus sesli mesajlarının garanti edilmesi gerekiyorsa OpenAI/ElevenLabs kullanın.
      • Yapılandırılmış Microsoft çıktı biçimi başarısız olursa OpenClaw MP3 ile yeniden dener.
      • Açık bir ses geçersiz kılması ayarlanmadığında ve varsayılan İngilizce ses kullanıldığında, yanıt metninde CJK karakterleri baskınsa OpenClaw otomatik olarak Çince bir sinirsel sese (zh-CN-XiaoxiaoNeural, zh-CN yerel ayarı) geçer.

    OpenAI ve ElevenLabs çıktı biçimleri, yukarıda listelendiği şekilde kanal başına sabittir.

    Otomatik TTS davranışı

    tts.auto etkinleştirildiğinde OpenClaw:

    • Yanıt zaten yapılandırılmış medya içeriyorsa TTS'yi atlar.
    • Çok kısa yanıtları (10 karakterden az) atlar.
    • Özetler etkinleştirildiğinde uzun yanıtları summaryModel (veya agents.defaults.model.primary) kullanarak özetler.
    • Oluşturulan sesi yanıta ekler.
    • mode: "final" içinde, metin akışı tamamlandıktan sonra akışla iletilen son yanıtlar için yine de yalnızca ses içeren TTS gönderir; oluşturulan medya, normal yanıt ekleriyle aynı kanal medya normalleştirmesinden geçer.

    Yanıt maxLength değerini aşarsa OpenClaw sesi hiçbir zaman tamamen atlamaz:

    • Özet açık (varsayılan) ve bir özet modeli kullanılabiliyorsa: metni yaklaşık maxLength karaktere özetler, ardından özeti sentezler.
    • Özet kapalıysa, özetleme başarısız olursa veya özet modeli için API anahtarı yoksa: metni maxLength karaktere kısaltır ve kısaltılmış metni sentezler.
    text
    Yanıt -> TTS etkin mi?  hayır -> metni gönder  evet  -> medya içeriyor mu / kısa mı?           evet  -> metni gönder           hayır -> uzunluk > sınır mı?                    hayır -> TTS -> sesi ekle                    evet  -> özet etkin ve kullanılabilir mi?                             hayır -> kısalt -> TTS -> sesi ekle                             evet  -> özetle -> TTS -> sesi ekle

    Alan başvurusu

    Üst düzey tts.*
    auto"off" | "always" | "inbound" | "tagged"

    Otomatik TTS modu. inbound yalnızca gelen bir sesli mesajdan sonra ses gönderir; tagged yalnızca yanıt [[tts:...]] yönergeleri veya bir [[tts:text]] bloğu içerdiğinde ses gönderir.

    enabledboolean

    Eski anahtar. openclaw doctor --fix bunu auto değerine geçirir.

    mode"final" | "all"default: final

    "all", son yanıtlara ek olarak araç/blok yanıtlarını da içerir.

    providerstring

    Konuşma sağlayıcısı kimliği. Ayarlanmadığında OpenClaw, kayıt defterinin otomatik seçim sırasındaki ilk yapılandırılmış sağlayıcıyı kullanır. Eski provider: "edge", openclaw doctor --fix tarafından "microsoft" olarak yeniden yazılır.

    personastring

    personas içindeki etkin persona kimliği. Küçük harfe normalleştirilir.

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InBlcnNvbmFzLjxpZA " type="object"> Kararlı sözlü kimlik. Alanlar: label, description, provider, fallbackPolicy, prompt, providers.<provider>. Bkz. Personalar.

    summaryModelstring

    Otomatik özet için düşük maliyetli model; varsayılanı agents.defaults.model.primary. provider/model veya yapılandırılmış bir model diğer adını kabul eder.

    modelOverridesobject

    Modelin TTS yönergeleri üretmesine izin verir. enabled varsayılan olarak true; allowProvider varsayılan olarak false değerini kullanır.

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InByb3ZpZGVycy48aWQ " type="object"> Konuşma sağlayıcısı kimliğine göre anahtarlanan, sağlayıcıya ait ayarlar. Eski doğrudan bloklar (tts.openai, .elevenlabs, .microsoft, .edge) openclaw doctor --fix tarafından yeniden yazılır; yalnızca tts.providers.<id> işleyin.

    maxTextLengthnumberdefault: 4096

    TTS giriş karakterleri için kesin üst sınır. Aşılırsa /tts audio, tts.convert ve tts.speak başarısız olur.

    timeoutMsnumberdefault: 30000

    Milisaniye cinsinden istek zaman aşımı. Çağrı başına timeoutMs (ajan aracı, Gateway) ayarlanmışsa önceliklidir; aksi takdirde açıkça yapılandırılmış tts.timeoutMs, Plugin tarafından tanımlanmış sağlayıcı varsayılanlarına göre önceliklidir.

    Sağlayıcı apiKey alanları ham dizeler veya SecretRef'ler olabilir. Soğuk Gateway başlatması sırasında kullanılamayan bir TTS SecretRef, Gateway'i durdurmak yerine yerleşik TTS yeteneğini yapılandırılmış-kullanılamaz olarak işaretler. Ardından tts.speak, SECRET_SURFACE_UNAVAILABLE nedeniyle UNAVAILABLE döndürür ve hiçbir sağlayıcı isteği gönderilmez. Durum ve doctor, performansı düşmüş TTS sahibini ve yapılandırma yollarını listeler. Açık başvurular çalışma zamanı anlık görüntüsünde kalır; böylece ortam veya profil kimlik bilgileri sessizce farklı bir hesap seçemez. Yeniden yüklemeler ve yapılandırma yazma ön denetimi, sahip farkındalığı olan performans düşürme politikasını uygular: değişmemiş ve uygun bir TTS sahibi, son çalıştığı bilinen kimlik bilgilerini eski olarak koruyabilirken yeni veya değiştirilmiş bir başarısızlık, sağlıklı sahipleri engellemeden soğuk duruma geçer. Yapısal olarak geçersiz başvurular ve çözümlenmiş değerler yine başlatmanın başarısız olmasına veya güncellemenin reddedilmesine neden olur.

    Azure Speech

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg Ortam: AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY veya SPEECH_KEY. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlZ2lvbiIgdHlwZT0ic3RyaW5nIg Azure Speech bölgesi (ör. eastus). Ortam: AZURE_SPEECH_REGION veya SPEECH_REGION. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImVuZHBvaW50IiB0eXBlPSJzdHJpbmci İsteğe bağlı Azure Speech uç noktası geçersiz kılması (diğer adı baseUrl). OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Azure ses ShortName değeri. Varsayılan en-US-JennyNeural. Eski diğer ad: voice. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImxhbmciIHR5cGU9InN0cmluZyI SSML dil kodu. Varsayılan en-US. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg Standart ses için Azure X-Microsoft-OutputFormat. Varsayılan audio-24khz-48kbitrate-mono-mp3. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InZvaWNlTm90ZU91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg Sesli not çıktısı için Azure X-Microsoft-OutputFormat. Varsayılan ogg-24khz-16bit-mono-opus. OPENCLAW_DOCS_MARKER:paramClose:

    ElevenLabs

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg ELEVENLABS_API_KEY veya XI_API_KEY değerine geri döner. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci Model kimliği. Varsayılan eleven_multilingual_v2. Eski eleven_turbo_v2_5/eleven_turbo_v2 kimlikleri, eşleşen flash modeline normalleştirilir. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci ElevenLabs ses kimliği. Varsayılan pMsXgVXv3BLzUgSXRplE. Eski diğer ad: voiceId. OPENCLAW_DOCS_MARKER:paramClose:

    voiceSettingsobject

    stability, similarityBoost, style (her biri 0..1, varsayılanlar 0.5/0.75/0), useSpeakerBoost (true|false, varsayılan true), speed (0.5..2.0, varsayılan 1.0).

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

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imxhbmd1YWdlQ29kZSIgdHlwZT0ic3RyaW5nIg 2 harfli ISO 639-1 (ör. en, de). OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNlZWQiIHR5cGU9Im51bWJlciI En iyi çabayla belirlenimlilik için tamsayı 0..4294967295. OPENCLAW_DOCS_MARKER:paramClose:

    baseUrlstring
    Google Gemini

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg GEMINI_API_KEY / GOOGLE_API_KEY değerlerine geri döner. Belirtilmezse TTS, ortam değişkenine geri dönmeden önce models.providers.google.apiKey değerini yeniden kullanabilir. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci Gemini TTS modeli. Varsayılan: gemini-3.1-flash-tts-preview. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Gemini hazır ses adı. Varsayılan: Kore. Eski takma adlar: voiceName, voice. OPENCLAW_DOCS_MARKER:paramClose:

    audioProfilestring
    speakerNamestring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InByb21wdFRlbXBsYXRlIiB0eXBlPSciYXVkaW8tcHJvZmlsZS12MSIn Etkin persona istemi alanlarını deterministik bir Gemini TTS istem yapısıyla sarmalamak için audio-profile-v1 olarak ayarlayın. OPENCLAW_DOCS_MARKER:paramClose:

    personaPromptstring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI Yalnızca https://generativelanguage.googleapis.com kabul edilir. OPENCLAW_DOCS_MARKER:paramClose:

    Gradium

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg Ortam değişkeni: GRADIUM_API_KEY. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI api.gradium.ai üzerindeki HTTPS Gradium API URL'si. Varsayılan: https://api.gradium.ai. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci Varsayılan: Emma (YTpq7expH9539ERJ). Eski takma ad: voiceId. OPENCLAW_DOCS_MARKER:paramClose:

    Inworld

    Birincil Inworld

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg Ortam değişkeni: INWORLD_API_KEY. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI Varsayılan: https://api.inworld.ai. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsSWQiIHR5cGU9InN0cmluZyI Varsayılan: inworld-tts-1.5-max. Diğerleri: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci Varsayılan: Sarah. Eski takma ad: voiceId. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRlbXBlcmF0dXJlIiB0eXBlPSJudW1iZXIi Örnekleme sıcaklığı 0..2 (0 hariç). OPENCLAW_DOCS_MARKER:paramClose:

    Yerel CLI (tts-local-cli)
    commandstring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFyZ3MiIHR5cGU9InN0cmluZ1tdIg Komut bağımsız değişkenleri. {{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}} yer tutucularını destekler. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0nIm1wMyIgfCAib3B1cyIgfCAid2F2Iic Beklenen CLI çıktı biçimi. Ses ekleri için varsayılan: mp3. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIg Milisaniye cinsinden komut zaman aşımı. Varsayılan: 120000. OPENCLAW_DOCS_MARKER:paramClose:

    cwdstring
    env"Record<string,

    Komutun standart çıktısı ile oluşturulan veya dönüştürülen ses 50 MiB ile sınırlıdır. Tanılama amaçlı standart hata çıktısı 1 MiB ile sınırlıdır. Sınırlardan biri aşıldığında OpenClaw komutu sonlandırır ve sentezi başarısız sayar.

    Microsoft (API anahtarı yok)
    enabledbooleandefault: true

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Microsoft nöral ses adı (ör. en-US-MichelleNeural). Eski takma ad: voice. Varsayılan İngilizce ses etkinse ve yanıt metninde CJK karakterleri baskınsa OpenClaw otomatik olarak zh-CN-XiaoxiaoNeural değerine geçer. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImxhbmciIHR5cGU9InN0cmluZyI Dil kodu (ör. en-US). OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg Microsoft çıktı biçimi. Varsayılan: audio-24khz-48kbitrate-mono-mp3. Tüm biçimler, paketle birlikte sunulan Edge tabanlı aktarım tarafından desteklenmez. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJhdGUgLyBwaXRjaCAvIHZvbHVtZSIgdHlwZT0ic3RyaW5nIg Yüzde dizeleri (ör. +10%, -5%). OPENCLAW_DOCS_MARKER:paramClose:

    saveSubtitlesboolean
    proxystring
    timeoutMsnumber

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImVkZ2UuKiIgdHlwZT0ib2JqZWN0IiBkZXByZWNhdGVk Eski takma ad. Kalıcı yapılandırmayı providers.microsoft olarak yeniden yazmak için openclaw doctor --fix komutunu çalıştırın. OPENCLAW_DOCS_MARKER:paramClose:

    MiniMax

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg MINIMAX_API_KEY değerine geri döner. MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY veya MINIMAX_CODING_API_KEY aracılığıyla Token Plan kimlik doğrulaması. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI Varsayılan: https://api.minimax.io. Ortam değişkeni: MINIMAX_API_HOST. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci Varsayılan: speech-2.8-hd. Ortam değişkeni: MINIMAX_TTS_MODEL. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci Varsayılan: English_expressive_narrator. Ortam değişkeni: MINIMAX_TTS_VOICE_ID. Eski takma ad: voiceId. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkIiB0eXBlPSJudW1iZXIi 0.5..2.0. Varsayılan: 1.0. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InZvbCIgdHlwZT0ibnVtYmVyIg (0, 10]. Varsayılan: 1.0. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InBpdGNoIiB0eXBlPSJudW1iZXIi Tam sayı -12..12. Varsayılan: 0. Kesirli değerler istekten önce kesilir. OPENCLAW_DOCS_MARKER:paramClose:

    OpenAI

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg OPENAI_API_KEY değerine geri döner. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci OpenAI TTS model kimliği. Varsayılan: gpt-4o-mini-tts. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Ses adı (ör. alloy, cedar). Varsayılan: coral. Eski takma ad: voice. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imluc3RydWN0aW9ucyIgdHlwZT0ic3RyaW5nIg Açık OpenAI instructions alanı. Ayarlandığında persona istemi alanları otomatik olarak eşlenmez. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImV4dHJhQm9keSAvIGV4dHJhX2JvZHkiIHR5cGU9IlJlY29yZDxzdHJpbmcsIHVua25vd24 ">Oluşturulan OpenAI TTS alanlarından sonra /audio/speech istek gövdeleriyle birleştirilen ek JSON alanları. Bunu, lang gibi sağlayıcıya özgü anahtarlar gerektiren Kokoro gibi OpenAI uyumlu uç noktalar için kullanın; güvenli olmayan prototip anahtarları yok sayılır. OPENCLAW_DOCS_MARKER:paramClose:

    baseUrlstring

    OpenAI TTS uç noktasını geçersiz kılın. Çözümleme sırası: yapılandırma → OPENAI_TTS_BASE_URLhttps://api.openai.com/v1. Varsayılan olmayan değerler OpenAI uyumlu TTS uç noktaları olarak değerlendirilir; bu nedenle özel model ve ses adları kabul edilir ve speed, 0.25..4.0 aralık denetimini kaybeder.

    OpenRouter

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg Ortam değişkeni: OPENROUTER_API_KEY. models.providers.openrouter.apiKey yeniden kullanılabilir. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI Varsayılan: https://openrouter.ai/api/v1. Eski https://openrouter.ai/v1 normalleştirilir. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci Varsayılan: hexgrad/kokoro-82m. Takma ad: modelId. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Varsayılan: af_alloy. Eski takma adlar: voice, voiceId. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc3BvbnNlRm9ybWF0IiB0eXBlPScibXAzIiB8ICJwY20iJw Varsayılan: mp3. OPENCLAW_DOCS_MARKER:paramClose:

    speednumber
    Volcengine (BytePlus Seed Speech)

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg Ortam değişkeni: VOLCENGINE_TTS_API_KEY veya BYTEPLUS_SEED_SPEECH_API_KEY. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc291cmNlSWQiIHR5cGU9InN0cmluZyI Varsayılan: seed-tts-1.0. Ortam değişkeni: VOLCENGINE_TTS_RESOURCE_ID. Projeniz TTS 2.0 yetkisine sahipse seed-tts-2.0 kullanın. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwcEtleSIgdHlwZT0ic3RyaW5nIg Uygulama anahtarı üstbilgisi. Varsayılan: aGjiRDfUWi. Ortam değişkeni: VOLCENGINE_TTS_APP_KEY. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI Seed Speech TTS HTTP uç noktasını geçersiz kılın. Ortam değişkeni: VOLCENGINE_TTS_BASE_URL. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Ses türü. Varsayılan: en_female_anna_mars_bigtts. Ortam değişkeni: VOLCENGINE_TTS_VOICE. Eski takma ad: voice. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkUmF0aW8iIHR5cGU9Im51bWJlciI Sağlayıcıya özgü hız oranı, 0.2..3. OPENCLAW_DOCS_MARKER:paramClose:

    emotionstring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwcElkIC8gdG9rZW4gLyBjbHVzdGVyIiB0eXBlPSJzdHJpbmciIGRlcHJlY2F0ZWQ Eski Volcengine Speech Console alanları. Ortam değişkenleri: VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (varsayılan: volcano_tts). OPENCLAW_DOCS_MARKER:paramClose:

    xAI

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg Ortam değişkeni: XAI_API_KEY. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI Varsayılan: https://api.x.ai/v1. Ortam değişkeni: XAI_BASE_URL. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci Varsayılan: eve. Kimlik doğrulamasıyla openclaw infer tts voices --provider xai güncel yerleşik kataloğu getirir; kimlik doğrulaması olmadan çevrimdışı geri dönüş seçenekleri olan ara, eve, leo, rex ve sal listelenir. Hesaba özel ses kimlikleri, yerleşik listede bulunmasalar bile iletilir. Eski takma ad: voiceId. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imxhbmd1YWdlIiB0eXBlPSJzdHJpbmci BCP-47 dil kodu veya auto. Varsayılan: en. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc3BvbnNlRm9ybWF0IiB0eXBlPScibXAzIiB8ICJ3YXYiIHwgInBjbSIgfCAibXVsYXciIHwgImFsYXciJw Varsayılan: mp3. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkIiB0eXBlPSJudW1iZXIi Sağlayıcıya özgü hız geçersiz kılma değeri, 0.7..1.5. OPENCLAW_DOCS_MARKER:paramClose:

    Xiaomi MiMo

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg Ortam değişkeni: XIAOMI_API_KEY. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI Varsayılan: https://api.xiaomimimo.com/v1. Ortam değişkeni: XIAOMI_BASE_URL. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci Varsayılan: mimo-v2.5-tts. Ortam değişkeni: XIAOMI_TTS_MODEL. mimo-v2.5-tts-voicedesign değerini de destekler. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg Hazır ses modelleri için varsayılan: mimo_default. Ortam değişkeni: XIAOMI_TTS_VOICE. Eski takma ad: voice. mimo-v2.5-tts-voicedesign için gönderilmez. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImZvcm1hdCIgdHlwZT0nIm1wMyIgfCAid2F2Iic Varsayılan: mp3. Ortam değişkeni: XIAOMI_TTS_FORMAT. OPENCLAW_DOCS_MARKER:paramClose:

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InN0eWxlIiB0eXBlPSJzdHJpbmci Kullanıcı mesajı olarak gönderilen, isteğe bağlı doğal dilde stil talimatı; seslendirilmez. mimo-v2.5-tts-voicedesign için bu, ses tasarımı istemidir; belirtilmezse OpenClaw varsayılan bir değer sağlar. OPENCLAW_DOCS_MARKER:paramClose:

    Agent aracı

    tts aracı, metni konuşmaya dönüştürür ve yanıtın iletilmesi için bir ses eki döndürür. Feishu, Matrix, Telegram ve WhatsApp'ta ses, dosya eki yerine sesli mesaj olarak iletilir. Feishu ve WhatsApp, ffmpeg kullanılabiliyorsa bu yolda Opus olmayan TTS çıktısının kodunu dönüştürebilir.

    WhatsApp, sesi Baileys üzerinden PTT sesli notu olarak gönderir (audio ve ptt: true) ve istemciler sesli notlardaki altyazıları tutarlı biçimde göstermediği için görünür metni PTT sesinden ayrı olarak gönderir.

    Araç, isteğe bağlı channel ve timeoutMs alanlarını kabul eder; timeoutMs, çağrı başına milisaniye cinsinden sağlayıcı isteği zaman aşımıdır. Çağrı başına değerler tts.timeoutMs değerini geçersiz kılar; yapılandırılmış TTS zaman aşımları, Plugin tarafından belirlenen tüm sağlayıcı varsayılanlarını geçersiz kılar.

    Gateway RPC

    Yöntem Amaç
    tts.status Geçerli TTS durumunu ve son denemeyi okuyun.
    tts.enable Yerel otomatik tercihi always olarak ayarlayın.
    tts.disable Yerel otomatik tercihi off olarak ayarlayın.
    tts.convert Tek seferlik metin → ses dönüştürme.
    tts.setProvider Yerel sağlayıcı tercihini ayarlayın.
    tts.personas Yapılandırılmış personaları ve etkin olanı listeleyin.
    tts.setPersona Yerel persona tercihini ayarlayın.
    tts.providers Yapılandırılmış sağlayıcıları ve durumlarını listeleyin.

    Hizmet bağlantıları

    İlgili

    Was this useful?
    On this page

    On this page