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.
Konfigurasi
Konfigurasi TTS berada di bawahmessages.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.
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- CLI Lokal
- Microsoft (tanpa kunci)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
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
Gunakanagents.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:
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:
messages.ttsagents.list[].ttsaktif- penggantian saluran, ketika saluran mendukung
channels.<channel>.tts - penggantian akun, ketika saluran meneruskan
channels.<channel>.accounts.<id>.tts - preferensi
/ttslokal untuk host ini - direktif
[[tts:...]]sebaris ketika penggantian model diaktifkan
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:- Preferensi lokal
/tts persona <id>, jika diatur. messages.tts.persona, jika diatur.- Tanpa persona.
- Penggantian langsung (CLI, Gateway, Talk, direktif TTS yang diizinkan).
- Preferensi lokal
/tts provider <id>. providermilik persona aktif.messages.tts.provider.- Pemilihan otomatis dari registri.
messages.tts.providers.<id>messages.tts.personas.<persona>.providers.<id>- Penggantian permintaan tepercaya
- 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:
Google Gemini
Google Gemini
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.OpenAI
OpenAI
Memetakan bidang prompt persona ke bidang permintaan
instructions hanya ketika
tidak ada instructions OpenAI eksplisit yang dikonfigurasi. instructions eksplisit
selalu diutamakan.Penyedia lain
Penyedia lain
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:
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; memerlukanallowProvider: true)speakerVoice/speakerVoiceId(alias lama:voice,voiceName,voice_name,google_voice,voiceId)model/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/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
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./tts onmenulis preferensi TTS lokal kealways;/tts offmenulisnya keoff./tts chat on|off|defaultmenulis penggantian TTS otomatis dengan cakupan sesi untuk percakapan saat ini./tts persona <id>menulis preferensi persona lokal;/tts persona offmenghapusnya./tts latestmembaca 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 audiomenghasilkan 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.limitdansummarydisimpan dalam preferensi lokal, bukan konfigurasi utama./tts statusmenyertakan diagnostik fallback untuk percobaan terbaru —Fallback: <primary> -> <used>,Attempts: ..., dan detail per percobaan (provider:outcome(reasonCode) latency)./statusmenampilkan 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 keprefsPath. 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 targetvoice-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 payloadaudioBaileys denganptt: truedanaudio/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 denganffmpeguntuk target pesan suara yang diiklankan kanal. - Xiaomi MiMo: MP3 secara bawaan, atau WAV jika dikonfigurasi; ditranskode menjadi Opus 48 kHz dengan
ffmpeguntuk target pesan suara yang diiklankan kanal. - CLI lokal: menggunakan
outputFormatyang dikonfigurasi. Target pesan suara dikonversi menjadi Ogg/Opus dan keluaran telefoni dikonversi menjadi PCM mono mentah 16 kHz denganffmpeg. - 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_8000pada 8 kHz untuk telefoni. - Inworld: MP3 untuk lampiran audio normal,
OGG_OPUSnative untuk target pesan suara, danPCMmentah pada 22050 Hz untuk Percakapan/telefoni. - xAI: MP3 secara bawaan; sintesis berkas audio dapat menggunakan
mp3,wav,pcm,mulaw, ataualawuntuk keluaran dengan buffering maupun streaming. Target pesan suara menggunakan MP3 untuk streaming dan fallback dengan buffering karena keluaranpcm,mulaw, danalawxAI merupakan audio mentah tanpa header. Sintesis dengan buffering menggunakan endpoint/v1/ttsREST batch xAI;textToSpeechStreammenggunakanwss://api.x.ai/v1/ttsnative. Ini bukan kontrak suara waktu nyata. Format pesan suara Opus native tidak didukung. - Microsoft: menggunakan
microsoft.outputFormat(bawaanaudio-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
sendVoicemenerima 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, lokalzh-CN) jika teks balasan didominasi CJK.
- Transport terpaket menerima
Perilaku TTS otomatis
Saatmessages.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(atauagents.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.
maxLength, OpenClaw tidak pernah melewati audio sepenuhnya:
- Ringkasan aktif (bawaan) dan model ringkasan tersedia: meringkas
teks menjadi sekitar
maxLengthkarakter, lalu menyintesis ringkasan tersebut. - Ringkasan nonaktif, peringkasan gagal, atau tidak tersedia kunci API untuk
model ringkasan: memotong teks menjadi
maxLengthkarakter dan menyintesis teks yang telah dipotong.
Referensi bidang
messages.tts.* tingkat teratas
messages.tts.* tingkat teratas
"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.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.Azure Speech
Azure Speech
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.ElevenLabs
ElevenLabs
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.
Google Gemini
Google Gemini
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.Gradium
Gradium
Inworld
Inworld
CLI Lokal (tts-local-cli)
CLI Lokal (tts-local-cli)
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.
Microsoft (tanpa kunci API)
Microsoft (tanpa kunci API)
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.MiniMax
MiniMax
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.OpenAI
OpenAI
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_URL → https://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.OpenRouter
OpenRouter
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.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
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).xAI
xAI
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.Xiaomi MiMo
Xiaomi MiMo
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
Alattts 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
- Panduan teks ke ucapan OpenAI
- Referensi API Audio OpenAI
- Teks ke ucapan REST Azure Speech
- Penyedia Azure Speech
- Teks ke Ucapan ElevenLabs
- Autentikasi ElevenLabs
- Gradium
- API TTS Inworld
- API MiniMax T2A v2
- API HTTP TTS Volcengine
- Sintesis ucapan Xiaomi MiMo
- node-edge-tts
- Format keluaran Microsoft Speech
- Teks ke ucapan xAI