Skip to main content
OpenClaw mengonversi balasan keluar menjadi audio melalui 14 penyedia ucapan: pesan suara native di Feishu, Matrix, Telegram, dan WhatsApp; lampiran audio di tempat lain; serta stream PCM/Ulaw untuk telefoni dan Talk. TTS adalah bagian keluaran ucapan dari mode stt-tts Talk (talk.speak menggunakan jalur sintesis yang sama). Sesi Talk realtime yang native dari penyedia menyintesis ucapan di dalam penyedia waktu nyata; sesi transcription tidak pernah menyintesis balasan suara asisten.

Mulai cepat

1

Pilih penyedia

OpenAI dan ElevenLabs adalah opsi terkelola yang paling andal. Microsoft dan CLI Lokal berfungsi tanpa kunci API. Lihat matriks penyedia untuk daftar lengkap.
2

Atur kunci API

Ekspor variabel lingkungan untuk penyedia Anda (misalnya OPENAI_API_KEY, ELEVENLABS_API_KEY). Microsoft dan CLI Lokal tidak memerlukan kunci.
3

Aktifkan dalam konfigurasi

Atur messages.tts.auto: "always" dan messages.tts.provider:
4

Coba dalam obrolan

/tts status menampilkan status saat ini. /tts audio Hello from OpenClaw mengirim balasan audio satu kali.
TTS otomatis nonaktif secara default. Saat messages.tts.provider tidak diatur, OpenClaw memilih penyedia pertama yang dikonfigurasi berdasarkan urutan pemilihan otomatis registri. Alat agen bawaan tts hanya untuk maksud eksplisit: obrolan biasa tetap berupa teks kecuali pengguna meminta audio, menggunakan /tts, atau mengaktifkan TTS otomatis/ucapan direktif.

Penyedia yang didukung

Jika beberapa penyedia dikonfigurasi, penyedia yang dipilih digunakan terlebih dahulu dan penyedia lainnya menjadi opsi fallback. Ringkasan otomatis menggunakan summaryModel (atau agents.defaults.model.primary), sehingga penyedia tersebut juga harus diautentikasi jika ringkasan tetap diaktifkan.
Penyedia bawaan Microsoft menggunakan layanan TTS neural daring Microsoft Edge melalui node-edge-tts. Ini adalah layanan web publik tanpa SLA atau kuota yang dipublikasikan—perlakukan sebagai upaya terbaik. ID penyedia lama edge dinormalisasi menjadi microsoft dan openclaw doctor --fix menulis ulang konfigurasi yang disimpan; konfigurasi baru harus selalu menggunakan microsoft.

Konfigurasi

Konfigurasi TTS berada di bawah messages.tts dalam ~/.openclaw/openclaw.json. Pilih preset dan sesuaikan blok penyedia. Kolom speakerVoice/speakerVoiceId yang ditampilkan di bawah bersifat kanonis; nama kolom voice/voiceId/ voiceName milik setiap penyedia tetap berfungsi sebagai alias lama.
Untuk Xiaomi mimo-v2.5-tts-voicedesign, hilangkan speakerVoice dan atur style menjadi perintah desain suara. OpenClaw mengirim perintah tersebut sebagai pesan TTS user dan tidak mengirim audio.voice untuk model voicedesign.

Penggantian suara per agen

Gunakan agents.list[].tts ketika satu agen harus berbicara dengan penyedia, suara, model, persona, atau mode TTS otomatis yang berbeda. Blok agen digabungkan secara mendalam di atas messages.tts, sehingga kredensial penyedia dapat tetap berada dalam konfigurasi penyedia global:
Untuk menetapkan persona per agen, atur agents.list[].tts.persona bersama konfigurasi penyedia — pengaturan ini menggantikan messages.tts.persona global hanya untuk agen tersebut. Urutan prioritas untuk balasan otomatis, /tts audio, /tts status, dan alat agen tts:
  1. messages.tts
  2. agents.list[].tts aktif
  3. penggantian saluran, ketika saluran mendukung channels.<channel>.tts
  4. penggantian akun, ketika saluran meneruskan channels.<channel>.accounts.<id>.tts
  5. preferensi /tts lokal untuk host ini
  6. direktif [[tts:...]] sebaris ketika penggantian model diaktifkan
Penggantian saluran dan akun menggunakan bentuk yang sama dengan messages.tts dan digabungkan secara mendalam di atas lapisan sebelumnya, sehingga kredensial penyedia bersama dapat tetap berada di messages.tts, sementara saluran atau akun bot hanya mengubah suara pembicara, model, persona, atau mode otomatis:

Persona

Persona adalah identitas suara stabil yang dapat diterapkan secara deterministik di berbagai penyedia. Persona dapat memprioritaskan satu penyedia, menentukan maksud prompt yang netral terhadap penyedia, dan membawa pengikatan khusus penyedia untuk suara, model, templat prompt, seed, dan pengaturan suara.

Persona minimal

Persona lengkap (prompt netral terhadap penyedia)

Resolusi persona

Persona aktif dipilih secara deterministik:
  1. Preferensi lokal /tts persona <id>, jika diatur.
  2. messages.tts.persona, jika diatur.
  3. Tanpa persona.
Pemilihan penyedia mendahulukan pengaturan eksplisit:
  1. Penggantian langsung (CLI, Gateway, Talk, direktif TTS yang diizinkan).
  2. Preferensi lokal /tts provider <id>.
  3. provider milik persona aktif.
  4. messages.tts.provider.
  5. Pemilihan otomatis dari registri.
Untuk setiap percobaan penyedia, OpenClaw menggabungkan konfigurasi dalam urutan berikut:
  1. messages.tts.providers.<id>
  2. messages.tts.personas.<persona>.providers.<id>
  3. Penggantian permintaan tepercaya
  4. Penggantian direktif TTS yang dihasilkan model dan diizinkan

Cara penyedia menggunakan prompt persona

Bidang prompt persona (profile, scene, sampleContext, style, accent, pacing, constraints) bersifat netral terhadap penyedia. Setiap penyedia menentukan cara menggunakannya:
Membungkus bidang prompt persona dalam struktur prompt TTS Gemini hanya ketika konfigurasi efektif penyedia Google menetapkan promptTemplate: "audio-profile-v1" atau personaPrompt. Bidang lama audioProfile dan speakerName tetap ditambahkan di awal sebagai teks prompt khusus Google. Tag audio sebaris seperti [whispers] atau [laughs] di dalam blok [[tts:text]] dipertahankan dalam transkrip Gemini; OpenClaw tidak menghasilkan tag tersebut.
Memetakan bidang prompt persona ke bidang permintaan instructions hanya ketika tidak ada instructions OpenAI eksplisit yang dikonfigurasi. instructions eksplisit selalu diutamakan.
Hanya menggunakan pengikatan persona khusus penyedia di bawah personas.<id>.providers.<provider>. Bidang prompt persona diabaikan kecuali penyedia menerapkan pemetaan prompt personanya sendiri.

Kebijakan fallback

fallbackPolicy mengontrol perilaku ketika persona tidak memiliki pengikatan untuk penyedia yang dicoba: Seluruh permintaan TTS hanya gagal ketika setiap penyedia yang dicoba dilewati atau gagal. Pemilihan penyedia sesi Talk memiliki cakupan sesi. Klien Talk harus memilih ID penyedia, ID model, ID suara, dan lokal dari talk.catalog, lalu meneruskannya melalui permintaan sesi atau serah terima Talk. Membuka sesi suara tidak boleh mengubah messages.tts atau default penyedia Talk global.

Direktif yang digerakkan model

Secara default, asisten dapat menghasilkan direktif [[tts:...]] untuk mengganti suara, model, atau kecepatan untuk satu balasan, ditambah blok opsional [[tts:text]]...[[/tts:text]] untuk isyarat ekspresif yang hanya boleh muncul dalam audio:
Ketika messages.tts.auto adalah "tagged", direktif diwajibkan untuk memicu audio. Pengiriman blok streaming menghapus direktif dari teks yang terlihat sebelum saluran menerimanya, bahkan ketika direktif terbagi di antara blok yang berdekatan. provider=... diabaikan kecuali modelOverrides.allowProvider: true. Ketika sebuah balasan mendeklarasikan provider=..., kunci lain dalam direktif tersebut diurai hanya oleh penyedia itu; kunci yang tidak didukung dihapus dan dilaporkan sebagai peringatan direktif TTS. Kunci direktif yang tersedia:
  • provider (ID penyedia terdaftar; memerlukan allowProvider: true)
  • speakerVoice / speakerVoiceId (alias lama: voice, voiceName, voice_name, google_voice, voiceId)
  • model / google_model
  • stability, similarityBoost, style, speed, useSpeakerBoost
  • vol / volume (volume MiniMax, (0, 10])
  • pitch (nada bilangan bulat MiniMax, −12 hingga 12; nilai pecahan dipotong)
  • emotion (tag emosi Volcengine)
  • applyTextNormalization (auto|on|off)
  • languageCode (ISO 639-1)
  • seed
Nonaktifkan penggantian model sepenuhnya:
Izinkan peralihan penyedia sambil mempertahankan konfigurabilitas pengaturan lain:

Perintah garis miring

Perintah tunggal /tts. Di Discord, OpenClaw juga mendaftarkan /voice karena /tts adalah perintah bawaan Discord — teks /tts ... tetap berfungsi.
Perintah memerlukan pengirim yang diotorisasi (aturan daftar izin/pemilik berlaku) dan commands.text atau pendaftaran perintah native harus diaktifkan.
Catatan perilaku:
  • /tts on menulis preferensi TTS lokal ke always; /tts off menulisnya ke off.
  • /tts chat on|off|default menulis penggantian TTS otomatis dengan cakupan sesi untuk percakapan saat ini.
  • /tts persona <id> menulis preferensi persona lokal; /tts persona off menghapusnya.
  • /tts latest membaca balasan asisten terbaru dari transkrip sesi saat ini dan mengirimkannya satu kali sebagai audio. Perintah ini hanya menyimpan hash balasan tersebut pada entri sesi untuk mencegah pengiriman suara duplikat.
  • /tts audio menghasilkan balasan audio satu kali (dan tidak mengaktifkan TTS).
  • /tts limit <chars> menerima 100–4096 (4096 adalah batas maksimum keterangan/pesan Telegram); nilai di luar rentang tersebut ditolak.
  • limit dan summary disimpan dalam preferensi lokal, bukan konfigurasi utama.
  • /tts status menyertakan diagnostik fallback untuk percobaan terbaru — Fallback: <primary> -> <used>, Attempts: ..., dan detail per percobaan (provider:outcome(reasonCode) latency).
  • /status menampilkan mode TTS aktif beserta penyedia, model, suara, dan metadata titik akhir khusus yang telah disanitasi saat TTS diaktifkan.

Preferensi per pengguna

Perintah garis miring menulis penggantian lokal ke prefsPath. Default-nya adalah ~/.openclaw/settings/tts.json; ganti dengan variabel lingkungan OPENCLAW_TTS_PREFS atau messages.tts.prefsPath. Ini menggantikan konfigurasi efektif dari messages.tts beserta blok agents.list[].tts aktif untuk host tersebut.

Format keluaran

Pengiriman suara TTS ditentukan oleh kemampuan kanal. Plugin kanal mengiklankan apakah TTS bergaya suara harus meminta target voice-note native dari penyedia atau mempertahankan sintesis audio-file normal, serta apakah kanal mentranskode keluaran non-native sebelum mengirimkannya. Catatan per penyedia:
  • Transkode Feishu / WhatsApp: ketika balasan pesan suara diterima sebagai MP3/WebM/WAV/M4A atau berkas audio lain yang mungkin, Plugin kanal mentranskodenya menjadi Ogg/Opus 48 kHz dengan ffmpeg (libopus, 64 kbps) sebelum mengirim pesan suara native. WhatsApp mengirim hasilnya melalui payload audio Baileys dengan ptt: true dan audio/ogg; codecs=opus. Jika transkode gagal: Feishu menangkap galat dan kembali mengirimkan berkas asli sebagai lampiran biasa; WhatsApp tidak memiliki fallback, sehingga pengiriman itu sendiri gagal alih-alih memposting payload PTT yang tidak kompatibel.
  • MiniMax: MP3 (model speech-2.8-hd, laju sampel 32 kHz) untuk lampiran audio normal; ditranskode menjadi Opus 48 kHz dengan ffmpeg untuk target pesan suara yang diiklankan kanal.
  • Xiaomi MiMo: MP3 secara bawaan, atau WAV jika dikonfigurasi; ditranskode menjadi Opus 48 kHz dengan ffmpeg untuk target pesan suara yang diiklankan kanal.
  • CLI lokal: menggunakan outputFormat yang dikonfigurasi. Target pesan suara dikonversi menjadi Ogg/Opus dan keluaran telefoni dikonversi menjadi PCM mono mentah 16 kHz dengan ffmpeg.
  • Google Gemini: mengembalikan PCM mentah 24 kHz. OpenClaw membungkusnya sebagai WAV untuk lampiran audio, mentranskodenya menjadi Opus 48 kHz untuk target pesan suara, dan mengembalikan PCM secara langsung untuk Percakapan/telefoni.
  • Gradium: WAV untuk lampiran audio, Opus untuk target pesan suara, dan ulaw_8000 pada 8 kHz untuk telefoni.
  • Inworld: MP3 untuk lampiran audio normal, OGG_OPUS native untuk target pesan suara, dan PCM mentah pada 22050 Hz untuk Percakapan/telefoni.
  • xAI: MP3 secara bawaan; sintesis berkas audio dapat menggunakan mp3, wav, pcm, mulaw, atau alaw untuk keluaran dengan buffering maupun streaming. Target pesan suara menggunakan MP3 untuk streaming dan fallback dengan buffering karena keluaran pcm, mulaw, dan alaw xAI merupakan audio mentah tanpa header. Sintesis dengan buffering menggunakan endpoint /v1/tts REST batch xAI; textToSpeechStream menggunakan wss://api.x.ai/v1/tts native. Ini bukan kontrak suara waktu nyata. Format pesan suara Opus native tidak didukung.
  • Microsoft: menggunakan microsoft.outputFormat (bawaan audio-24khz-48kbitrate-mono-mp3).
    • Transport terpaket menerima outputFormat, tetapi tidak semua format tersedia dari layanan tersebut.
    • Nilai format keluaran mengikuti format keluaran Microsoft Speech (termasuk Ogg/WebM Opus).
    • Telegram sendVoice menerima OGG/MP3/M4A; gunakan OpenAI/ElevenLabs jika Anda memerlukan pesan suara Opus yang terjamin.
    • Jika format keluaran Microsoft yang dikonfigurasi gagal, OpenClaw mencoba kembali dengan MP3.
    • Jika tidak ada penggantian suara eksplisit yang ditetapkan dan suara bahasa Inggris bawaan digunakan, OpenClaw otomatis beralih ke suara neural bahasa Tionghoa (zh-CN-XiaoxiaoNeural, lokal zh-CN) jika teks balasan didominasi CJK.
Format keluaran OpenAI dan ElevenLabs ditetapkan per kanal seperti tercantum di atas.

Perilaku TTS otomatis

Saat messages.tts.auto diaktifkan, OpenClaw:
  • Melewati TTS jika balasan sudah berisi media terstruktur.
  • Melewati balasan yang sangat singkat (di bawah 10 karakter).
  • Meringkas balasan panjang jika ringkasan diaktifkan, menggunakan summaryModel (atau agents.defaults.model.primary).
  • Melampirkan audio yang dihasilkan ke balasan.
  • Dalam mode: "final", tetap mengirim TTS hanya-audio untuk balasan akhir yang dialirkan setelah aliran teks selesai; media yang dihasilkan melalui normalisasi media kanal yang sama seperti lampiran balasan normal.
Jika balasan melebihi maxLength, OpenClaw tidak pernah melewati audio sepenuhnya:
  • Ringkasan aktif (bawaan) dan model ringkasan tersedia: meringkas teks menjadi sekitar maxLength karakter, lalu menyintesis ringkasan tersebut.
  • Ringkasan nonaktif, peringkasan gagal, atau tidak tersedia kunci API untuk model ringkasan: memotong teks menjadi maxLength karakter dan menyintesis teks yang telah dipotong.

Referensi bidang

"off" | "always" | "inbound" | "tagged"
Mode TTS otomatis. inbound hanya mengirim audio setelah pesan suara masuk; tagged hanya mengirim audio saat balasan menyertakan direktif [[tts:...]] atau blok [[tts:text]].
boolean
usang
Tombol lama. openclaw doctor --fix memigrasikan ini ke auto.
"final" | "all"
default:"final"
"all" menyertakan balasan alat/blok selain balasan akhir.
string
ID penyedia ucapan. Jika tidak ditetapkan, OpenClaw menggunakan penyedia terkonfigurasi pertama dalam urutan pemilihan otomatis registri. provider: "edge" lama ditulis ulang menjadi "microsoft" oleh openclaw doctor --fix.
string
ID persona aktif dari personas. Dinormalisasi menjadi huruf kecil.
object
Identitas lisan yang stabil. Bidang: label, description, provider, fallbackPolicy, prompt, providers.<provider>. Lihat Persona.
string
Model murah untuk ringkasan otomatis; bawaan ke agents.defaults.model.primary. Menerima provider/model atau alias model yang dikonfigurasi.
object
Mengizinkan model menghasilkan direktif TTS. enabled secara bawaan bernilai true; allowProvider secara bawaan bernilai false.
object
Pengaturan milik penyedia yang dikunci berdasarkan ID penyedia ucapan. Blok langsung lama (messages.tts.openai, .elevenlabs, .microsoft, .edge) ditulis ulang oleh openclaw doctor --fix; commit hanya messages.tts.providers.<id>.
number
default:"4096"
Batas maksimum karakter masukan TTS. /tts audio, tts.convert, dan tts.speak gagal jika terlampaui.
number
default:"30000"
Batas waktu permintaan dalam milidetik. timeoutMs per panggilan (alat agen, Gateway) berlaku jika ditetapkan; jika tidak, messages.tts.timeoutMs yang dikonfigurasi secara eksplisit berlaku atas bawaan penyedia apa pun yang dibuat Plugin.
string
Mengganti jalur JSON preferensi lokal (penyedia/batas/ringkasan). Bawaan ~/.openclaw/settings/tts.json.
Bidang apiKey penyedia dapat berupa string mentah atau SecretRef. Selama startup dingin Gateway, SecretRef TTS yang tidak tersedia menandai kemampuan TTS bawaan sebagai dikonfigurasi-tidak-tersedia alih-alih menghentikan Gateway. tts.speak kemudian mengembalikan UNAVAILABLE dengan alasan SECRET_SURFACE_UNAVAILABLE, dan tidak ada permintaan penyedia yang dikirim. Status dan doctor mencantumkan pemilik TTS yang terdegradasi beserta jalur konfigurasinya. Referensi eksplisit tetap berada dalam snapshot runtime, sehingga kredensial lingkungan atau profil tidak dapat secara diam-diam memilih akun lain. Pemuatan ulang dan pra-pemeriksaan penulisan konfigurasi menerapkan kebijakan degradasi yang menyadari pemilik: pemilik TTS yang memenuhi syarat dan tidak berubah dapat mempertahankan kredensial terakhir-yang-diketahui-baik sebagai usang, sementara kegagalan baru atau yang berubah menjadi dingin tanpa memblokir pemilik yang sehat. Referensi yang secara struktural tidak valid dan nilai yang telah diselesaikan tetap menggagalkan startup atau menolak pembaruan.
string
Lingkungan: AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY, atau SPEECH_KEY.
string
Wilayah Azure Speech (misalnya eastus). Lingkungan: AZURE_SPEECH_REGION atau SPEECH_REGION.
string
Penggantian endpoint Azure Speech opsional (alias baseUrl).
string
ShortName suara Azure. Bawaan en-US-JennyNeural. Alias lama: voice.
string
Kode bahasa SSML. Bawaan en-US.
string
X-Microsoft-OutputFormat Azure untuk audio standar. Bawaan audio-24khz-48kbitrate-mono-mp3.
string
X-Microsoft-OutputFormat Azure untuk keluaran pesan suara. Bawaan ogg-24khz-16bit-mono-opus.
string
Menggunakan ELEVENLABS_API_KEY atau XI_API_KEY sebagai fallback.
string
ID model. Default eleven_multilingual_v2. ID lama eleven_turbo_v2_5/eleven_turbo_v2 dinormalisasi ke model flash yang sesuai.
string
ID suara ElevenLabs. Default pMsXgVXv3BLzUgSXRplE. Alias lama: voiceId.
object
stability, similarityBoost, style (masing-masing 0..1, default 0.5/0.75/0), useSpeakerBoost (true|false, default true), speed (0.5..2.0, default 1.0).
"auto" | "on" | "off"
Mode normalisasi teks.
string
ISO 639-1 2 huruf (misalnya en, de).
number
Bilangan bulat 0..4294967295 untuk determinisme upaya terbaik.
string
Mengganti URL dasar API ElevenLabs.
string
Menggunakan GEMINI_API_KEY / GOOGLE_API_KEY sebagai fallback. Jika dihilangkan, TTS dapat menggunakan kembali models.providers.google.apiKey sebelum fallback ke variabel lingkungan.
string
Model TTS Gemini. Default gemini-3.1-flash-tts-preview.
string
Nama suara bawaan Gemini. Default Kore. Alias lama: voiceName, voice.
string
Prompt gaya dalam bahasa alami yang ditambahkan sebelum teks yang diucapkan.
string
Label pembicara opsional yang ditambahkan sebelum teks yang diucapkan saat prompt menggunakan pembicara bernama.
"audio-profile-v1"
Atur ke audio-profile-v1 untuk membungkus bidang prompt persona aktif dalam struktur prompt TTS Gemini yang deterministik.
string
Teks prompt persona tambahan khusus Google yang ditambahkan ke Catatan Sutradara pada templat.
string
Hanya https://generativelanguage.googleapis.com yang diterima.
string
Variabel lingkungan: GRADIUM_API_KEY.
string
URL API Gradium HTTPS di api.gradium.ai. Default https://api.gradium.ai.
string
Default Emma (YTpq7expH9539ERJ). Alias lama: voiceId.

Inworld utama

string
Variabel lingkungan: INWORLD_API_KEY.
string
Default https://api.inworld.ai.
string
Default inworld-tts-1.5-max. Juga: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.
string
Default Sarah. Alias lama: voiceId.
number
Suhu pengambilan sampel 0..2 (tidak termasuk 0).
string
String perintah atau berkas yang dapat dieksekusi secara lokal untuk TTS CLI.
string[]
Argumen perintah. Mendukung placeholder {{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.
"mp3" | "opus" | "wav"
Format keluaran CLI yang diharapkan. Default mp3 untuk lampiran audio.
number
Batas waktu perintah dalam milidetik. Default 120000.
string
Direktori kerja perintah opsional.
Record<string, string>
Penggantian variabel lingkungan opsional untuk perintah.
Keluaran standar perintah serta audio yang dihasilkan atau dikonversi dibatasi hingga 50 MiB. Keluaran kesalahan diagnostik dibatasi hingga 1 MiB. OpenClaw menghentikan perintah dan menggagalkan sintesis ketika salah satu batas terlampaui.
boolean
default:"true"
Mengizinkan penggunaan ucapan Microsoft.
string
Nama suara neural Microsoft (misalnya en-US-MichelleNeural). Alias lama: voice. Jika suara bahasa Inggris default sedang digunakan dan teks balasan didominasi CJK, OpenClaw otomatis beralih ke zh-CN-XiaoxiaoNeural.
string
Kode bahasa (misalnya en-US).
string
Format keluaran Microsoft. Default audio-24khz-48kbitrate-mono-mp3. Tidak semua format didukung oleh transport berbasis Edge yang disertakan.
string
String persentase (misalnya +10%, -5%).
boolean
Menulis subtitel JSON di samping berkas audio.
string
URL proksi untuk permintaan ucapan Microsoft.
number
Penggantian batas waktu permintaan (ms).
object
usang
Alias lama. Jalankan openclaw doctor --fix untuk menulis ulang konfigurasi tersimpan menjadi providers.microsoft.
string
Menggunakan MINIMAX_API_KEY sebagai fallback. Autentikasi Token Plan melalui MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, atau MINIMAX_CODING_API_KEY.
string
Default https://api.minimax.io. Variabel lingkungan: MINIMAX_API_HOST.
string
Default speech-2.8-hd. Variabel lingkungan: MINIMAX_TTS_MODEL.
string
Default English_expressive_narrator. Variabel lingkungan: MINIMAX_TTS_VOICE_ID. Alias lama: voiceId.
number
0.5..2.0. Default 1.0.
number
(0, 10]. Default 1.0.
number
Bilangan bulat -12..12. Default 0. Nilai pecahan dipotong sebelum permintaan.
string
Menggunakan OPENAI_API_KEY sebagai fallback.
string
ID model TTS OpenAI. Default gpt-4o-mini-tts.
string
Nama suara (misalnya alloy, cedar). Default coral. Alias lama: voice.
string
Bidang instructions OpenAI yang eksplisit. Saat diatur, bidang prompt persona tidak dipetakan secara otomatis.
Record<string, unknown>
Bidang JSON tambahan yang digabungkan ke isi permintaan /audio/speech setelah bidang TTS OpenAI yang dihasilkan. Gunakan ini untuk endpoint yang kompatibel dengan OpenAI, seperti Kokoro, yang memerlukan kunci khusus penyedia seperti lang; kunci prototipe yang tidak aman diabaikan.
string
Mengganti endpoint TTS OpenAI. Urutan resolusi: konfigurasi → OPENAI_TTS_BASE_URLhttps://api.openai.com/v1. Nilai non-default diperlakukan sebagai endpoint TTS yang kompatibel dengan OpenAI, sehingga nama model dan suara khusus diterima, dan speed tidak lagi diperiksa terhadap rentang 0.25..4.0.
string
Variabel lingkungan: OPENROUTER_API_KEY. Dapat menggunakan kembali models.providers.openrouter.apiKey.
string
Default https://openrouter.ai/api/v1. https://openrouter.ai/v1 lama dinormalisasi.
string
Default hexgrad/kokoro-82m. Alias: modelId.
string
Default af_alloy. Alias lama: voice, voiceId.
"mp3" | "pcm"
Default mp3.
number
Penggantian kecepatan bawaan penyedia.
string
Variabel lingkungan: VOLCENGINE_TTS_API_KEY atau BYTEPLUS_SEED_SPEECH_API_KEY.
string
Default seed-tts-1.0. Variabel lingkungan: VOLCENGINE_TTS_RESOURCE_ID. Gunakan seed-tts-2.0 jika proyek Anda memiliki hak akses TTS 2.0.
string
Header kunci aplikasi. Default aGjiRDfUWi. Variabel lingkungan: VOLCENGINE_TTS_APP_KEY.
string
Mengganti endpoint HTTP TTS Seed Speech. Variabel lingkungan: VOLCENGINE_TTS_BASE_URL.
string
Jenis suara. Default en_female_anna_mars_bigtts. Variabel lingkungan: VOLCENGINE_TTS_VOICE. Alias lama: voice.
number
Rasio kecepatan bawaan penyedia, 0.2..3.
string
Tag emosi bawaan penyedia.
string
usang
Bidang lama Volcengine Speech Console. Variabel lingkungan: VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (default volcano_tts).
string
Variabel lingkungan: XAI_API_KEY.
string
Default https://api.x.ai/v1. Variabel lingkungan: XAI_BASE_URL.
string
Default eve. Dengan autentikasi, openclaw infer tts voices --provider xai mengambil katalog bawaan saat ini; tanpa autentikasi, perintah tersebut mencantumkan fallback luring ara, eve, leo, rex, dan sal. ID suara khusus akun diteruskan meskipun tidak ada dalam daftar bawaan. Alias lama: voiceId.
string
Kode bahasa BCP-47 atau auto. Default en.
"mp3" | "wav" | "pcm" | "mulaw" | "alaw"
Default mp3.
number
Penggantian kecepatan bawaan penyedia, 0.7..1.5.
string
Env: XIAOMI_API_KEY.
string
Default https://api.xiaomimimo.com/v1. Env: XIAOMI_BASE_URL.
string
Default mimo-v2.5-tts. Env: XIAOMI_TTS_MODEL. Juga mendukung mimo-v2.5-tts-voicedesign.
string
Default mimo_default untuk model suara preset. Env: XIAOMI_TTS_VOICE. Alias lama: voice. Tidak dikirim untuk mimo-v2.5-tts-voicedesign.
"mp3" | "wav"
Default mp3. Env: XIAOMI_TTS_FORMAT.
string
Instruksi gaya bahasa alami opsional yang dikirim sebagai pesan pengguna; tidak diucapkan. Untuk mimo-v2.5-tts-voicedesign, ini adalah prompt desain suara; OpenClaw menyediakan nilai default jika dihilangkan.

Alat agen

Alat tts mengonversi teks menjadi ucapan dan mengembalikan lampiran audio untuk pengiriman balasan. Di Feishu, Matrix, Telegram, dan WhatsApp, audio dikirim sebagai pesan suara, bukan sebagai lampiran file. Feishu dan WhatsApp dapat mentranskode keluaran TTS non-Opus pada jalur ini ketika ffmpeg tersedia. WhatsApp mengirim audio melalui Baileys sebagai pesan suara PTT (audio dengan ptt: true) dan mengirim teks yang terlihat secara terpisah dari audio PTT karena klien tidak secara konsisten menampilkan keterangan pada pesan suara. Alat ini menerima kolom opsional channel dan timeoutMs; timeoutMs adalah batas waktu permintaan penyedia per panggilan dalam milidetik. Nilai per panggilan menggantikan messages.tts.timeoutMs; batas waktu TTS yang dikonfigurasi menggantikan nilai default penyedia yang ditentukan oleh plugin.

RPC Gateway

Tautan layanan

Terkait