stt-tts trong Talk. Các phiên Talk
realtime gốc của nhà cung cấp tổng hợp giọng nói bên trong nhà cung cấp realtime
thay vì gọi đường dẫn TTS này, còn các phiên transcription không tổng hợp phản hồi
bằng giọng nói của trợ lý.
Bắt đầu nhanh
Chọn nhà cung cấp
OpenAI và ElevenLabs là các tùy chọn được lưu trữ đáng tin cậy nhất. Microsoft và
Local CLI hoạt động mà không cần khóa API. Xem ma trận nhà cung cấp
để biết danh sách đầy đủ.
Đặt khóa API
Xuất biến môi trường cho nhà cung cấp của bạn (ví dụ
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Microsoft và Local CLI không cần khóa.Auto-TTS tắt theo mặc định. Khi chưa đặt
messages.tts.provider,
OpenClaw chọn nhà cung cấp đã cấu hình đầu tiên theo thứ tự tự động chọn của registry.
Công cụ agent tts tích hợp chỉ dành cho ý định rõ ràng: chat thông thường vẫn là
văn bản trừ khi người dùng yêu cầu âm thanh, dùng /tts, hoặc bật giọng nói
Auto-TTS/directive.Nhà cung cấp được hỗ trợ
| Nhà cung cấp | Xác thực | Ghi chú |
|---|---|---|
| Azure Speech | AZURE_SPEECH_KEY + AZURE_SPEECH_REGION (cũng có AZURE_SPEECH_API_KEY, SPEECH_KEY, SPEECH_REGION) | Đầu ra ghi chú thoại Ogg/Opus gốc và điện thoại. |
| DeepInfra | DEEPINFRA_API_KEY | TTS tương thích OpenAI. Mặc định là hexgrad/Kokoro-82M. |
| ElevenLabs | ELEVENLABS_API_KEY hoặc XI_API_KEY | Nhân bản giọng nói, đa ngôn ngữ, xác định được qua seed; phát luồng cho phát lại giọng nói Discord. |
| Google Gemini | GEMINI_API_KEY hoặc GOOGLE_API_KEY | TTS batch qua Gemini API; nhận biết persona qua promptTemplate: "audio-profile-v1". |
| Gradium | GRADIUM_API_KEY | Đầu ra ghi chú thoại và điện thoại. |
| Inworld | INWORLD_API_KEY | API TTS phát luồng. Ghi chú thoại Opus gốc và PCM cho điện thoại. |
| Local CLI | không có | Chạy lệnh TTS cục bộ đã cấu hình. |
| Microsoft | không có | TTS neural Edge công khai qua node-edge-tts. Nỗ lực tối đa, không có SLA. |
| MiniMax | MINIMAX_API_KEY (hoặc Token Plan: MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY) | API T2A v2. Mặc định là speech-2.8-hd. |
| OpenAI | OPENAI_API_KEY | Cũng được dùng cho tự động tóm tắt; hỗ trợ persona instructions. |
| OpenRouter | OPENROUTER_API_KEY (có thể dùng lại models.providers.openrouter.apiKey) | Mô hình mặc định hexgrad/kokoro-82m. |
| Volcengine | VOLCENGINE_TTS_API_KEY hoặc BYTEPLUS_SEED_SPEECH_API_KEY (AppID/token cũ: VOLCENGINE_TTS_APPID/_TOKEN) | API HTTP BytePlus Seed Speech. |
| Vydra | VYDRA_API_KEY | Nhà cung cấp chung cho hình ảnh, video và giọng nói. |
| xAI | XAI_API_KEY | TTS batch xAI. Ghi chú thoại Opus gốc không được hỗ trợ. |
| Xiaomi MiMo | XIAOMI_API_KEY | MiMo TTS thông qua hoàn tất chat của Xiaomi. |
summaryModel (hoặc
agents.defaults.model.primary), vì vậy nhà cung cấp đó cũng phải được xác thực
nếu bạn giữ bật tóm tắt.
Cấu hình
Cấu hình TTS nằm dướimessages.tts trong ~/.openclaw/openclaw.json. Chọn một
preset và điều chỉnh khối nhà cung cấp:
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- Local CLI
- Microsoft (không cần khóa)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
mimo-v2.5-tts-voicedesign, bỏ qua speakerVoice và đặt style thành
prompt thiết kế giọng nói. OpenClaw gửi prompt đó dưới dạng thông điệp TTS user
và không gửi audio.voice cho mô hình voicedesign.
Ghi đè giọng nói theo từng agent
Sử dụngagents.list[].tts khi một agent cần nói bằng nhà cung cấp,
giọng, mô hình, chân dung giọng nói hoặc chế độ TTS tự động khác. Khối agent sẽ deep-merge lên trên
messages.tts, nên thông tin xác thực của nhà cung cấp có thể nằm trong cấu hình nhà cung cấp toàn cục:
agents.list[].tts.persona cùng với cấu hình
nhà cung cấp — nó chỉ ghi đè messages.tts.persona toàn cục cho agent đó.
Thứ tự ưu tiên cho trả lời tự động, /tts audio, /tts status và công cụ agent
tts:
messages.ttsagents.list[].ttsđang hoạt động- ghi đè kênh, khi kênh hỗ trợ
channels.<channel>.tts - ghi đè tài khoản, khi kênh truyền
channels.<channel>.accounts.<id>.tts - tùy chọn
/ttscục bộ cho máy chủ này - chỉ thị nội tuyến
[[tts:...]]khi bật ghi đè theo mô hình
messages.tts và
deep-merge lên các lớp trước đó, nên thông tin xác thực nhà cung cấp dùng chung có thể nằm trong
messages.tts trong khi một kênh hoặc tài khoản bot chỉ thay đổi giọng người nói, mô hình, chân dung giọng nói
hoặc chế độ tự động:
Chân dung giọng nói
Một chân dung giọng nói là danh tính lời nói ổn định có thể được áp dụng một cách xác định trên nhiều nhà cung cấp. Nó có thể ưu tiên một nhà cung cấp, định nghĩa ý định lời nhắc trung lập với nhà cung cấp và mang các liên kết riêng cho từng nhà cung cấp đối với giọng, mô hình, mẫu lời nhắc, seed và thiết lập giọng.Chân dung giọng nói tối thiểu
Chân dung giọng nói đầy đủ (lời nhắc trung lập với nhà cung cấp)
Phân giải chân dung giọng nói
Chân dung giọng nói đang hoạt động được chọn một cách xác định:- tùy chọn cục bộ
/tts persona <id>, nếu được đặt. messages.tts.persona, nếu được đặt.- Không có chân dung giọng nói.
- Ghi đè trực tiếp (CLI, Gateway, Talk, các chỉ thị TTS được phép).
- tùy chọn cục bộ
/tts provider <id>. providercủa chân dung giọng nói đang hoạt động.messages.tts.provider.- Tự động chọn từ registry.
messages.tts.providers.<id>messages.tts.personas.<persona>.providers.<id>- Ghi đè yêu cầu đáng tin cậy
- Ghi đè chỉ thị TTS do mô hình phát ra và được phép
Cách nhà cung cấp dùng lời nhắc chân dung giọng nói
Các trường lời nhắc chân dung giọng nói (profile, scene, sampleContext, style, accent,
pacing, constraints) là trung lập với nhà cung cấp. Mỗi nhà cung cấp quyết định cách
sử dụng chúng:
Google Gemini
Google Gemini
Bọc các trường lời nhắc chân dung giọng nói trong cấu trúc lời nhắc Gemini TTS chỉ khi
cấu hình nhà cung cấp Google hiệu lực đặt
promptTemplate: "audio-profile-v1"
hoặc personaPrompt. Các trường cũ hơn audioProfile và speakerName vẫn được
thêm vào đầu dưới dạng văn bản lời nhắc riêng của Google. Các thẻ âm thanh nội tuyến như
[whispers] hoặc [laughs] bên trong khối [[tts:text]] được giữ nguyên
trong bản chép lời Gemini; OpenClaw không tạo các thẻ này.OpenAI
OpenAI
Ánh xạ các trường lời nhắc chân dung giọng nói sang trường yêu cầu
instructions chỉ khi
không có instructions OpenAI rõ ràng nào được cấu hình. instructions rõ ràng
luôn thắng.Nhà cung cấp khác
Nhà cung cấp khác
Chỉ dùng các liên kết chân dung giọng nói riêng cho nhà cung cấp dưới
personas.<id>.providers.<provider>. Các trường lời nhắc chân dung giọng nói bị bỏ qua
trừ khi nhà cung cấp triển khai ánh xạ lời nhắc chân dung giọng nói riêng.Chính sách dự phòng
fallbackPolicy kiểm soát hành vi khi một chân dung giọng nói không có liên kết cho
nhà cung cấp được thử:
| Chính sách | Hành vi |
|---|---|
preserve-persona | Mặc định. Các trường lời nhắc trung lập với nhà cung cấp vẫn khả dụng; nhà cung cấp có thể dùng hoặc bỏ qua chúng. |
provider-defaults | Chân dung giọng nói bị bỏ qua trong bước chuẩn bị lời nhắc cho lần thử đó; nhà cung cấp dùng mặc định trung lập của mình trong khi tiếp tục dự phòng sang nhà cung cấp khác. |
fail | Bỏ qua lần thử nhà cung cấp đó với reasonCode: "not_configured" và personaBinding: "missing". Các nhà cung cấp dự phòng vẫn được thử. |
talk.catalog rồi truyền
chúng qua phiên Talk hoặc yêu cầu bàn giao. Việc mở phiên thoại không nên
thay đổi messages.tts hoặc mặc định nhà cung cấp Talk toàn cục.
Chỉ thị do mô hình điều khiển
Theo mặc định, trợ lý có thể phát ra chỉ thị[[tts:...]] để ghi đè
giọng, mô hình hoặc tốc độ cho một trả lời duy nhất, cùng một khối tùy chọn
[[tts:text]]...[[/tts:text]] cho các gợi ý biểu cảm chỉ nên xuất hiện trong
âm thanh:
messages.tts.auto là "tagged", bắt buộc có chỉ thị để kích hoạt
âm thanh. Cơ chế gửi khối streaming loại bỏ chỉ thị khỏi văn bản hiển thị trước khi
kênh nhìn thấy chúng, kể cả khi bị tách qua các khối liền kề.
provider=... bị bỏ qua trừ khi modelOverrides.allowProvider: true. Khi một
trả lời khai báo provider=..., các khóa khác trong chỉ thị đó chỉ được phân tích
bởi nhà cung cấp đó; các khóa không được hỗ trợ bị loại bỏ và được báo cáo dưới dạng cảnh báo
chỉ thị TTS.
Các khóa chỉ thị khả dụng:
provider(id nhà cung cấp đã đăng ký; yêu cầuallowProvider: true)speakerVoice/speakerVoiceId(bí danh cũ:voice,voiceName,voice_name,google_voice,voiceId)model/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/volume(âm lượng MiniMax, 0–10)pitch(cao độ số nguyên MiniMax, −12 đến 12; giá trị thập phân bị cắt bỏ phần lẻ)emotion(thẻ cảm xúc Volcengine)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Lệnh gạch chéo
Một lệnh duy nhất/tts. Trên Discord, OpenClaw cũng đăng ký /voice vì
/tts là lệnh tích hợp sẵn của Discord — văn bản /tts ... vẫn hoạt động.
Lệnh yêu cầu người gửi được ủy quyền (áp dụng quy tắc allowlist/chủ sở hữu) và phải bật
commands.text hoặc đăng ký lệnh native./tts onghi tùy chọn TTS cục bộ thànhalways;/tts offghi nó thànhoff./tts chat on|off|defaultghi một ghi đè auto-TTS theo phạm vi phiên cho cuộc trò chuyện hiện tại./tts persona <id>ghi tùy chọn chân dung giọng nói cục bộ;/tts persona offxóa tùy chọn đó./tts latestđọc trả lời trợ lý mới nhất từ transcript phiên hiện tại và gửi nó dưới dạng âm thanh một lần. Nó chỉ lưu hash của trả lời đó trên mục phiên để ngăn gửi giọng nói trùng lặp./tts audiotạo một trả lời âm thanh dùng một lần (không bật TTS).limitvàsummaryđược lưu trong tùy chọn cục bộ, không phải cấu hình chính./tts statusbao gồm chẩn đoán dự phòng cho lần thử mới nhất —Fallback: <primary> -> <used>,Attempts: ...và chi tiết từng lần thử (provider:outcome(reasonCode) latency)./statushiển thị chế độ TTS đang hoạt động cùng nhà cung cấp, mô hình, giọng đã cấu hình và siêu dữ liệu endpoint tùy chỉnh đã được làm sạch khi TTS được bật.
Tùy chọn theo người dùng
Lệnh gạch chéo ghi các ghi đè cục bộ vàoprefsPath. Mặc định là
~/.openclaw/settings/tts.json; ghi đè bằng biến môi trường OPENCLAW_TTS_PREFS
hoặc messages.tts.prefsPath.
| Trường đã lưu | Tác dụng |
|---|---|
auto | Ghi đè auto-TTS cục bộ (always, off, …) |
provider | Ghi đè nhà cung cấp chính cục bộ |
persona | Ghi đè chân dung giọng nói cục bộ |
maxLength | Ngưỡng tóm tắt (mặc định 1500 ký tự) |
summarize | Bật/tắt tóm tắt (mặc định true) |
messages.tts cộng với khối
agents.list[].tts đang hoạt động cho máy chủ đó.
Định dạng đầu ra (cố định)
Việc gửi giọng TTS phụ thuộc vào khả năng của kênh. Plugin kênh quảng bá liệu TTS kiểu tin nhắn thoại nên yêu cầu nhà cung cấp tạo đíchvoice-note native hay
giữ tổng hợp audio-file bình thường và chỉ đánh dấu đầu ra tương thích cho việc gửi
bằng giọng nói.
- Các kênh hỗ trợ ghi chú thoại: phản hồi dạng ghi chú thoại ưu tiên Opus (
opus_48000_64từ ElevenLabs,opustừ OpenAI).- 48kHz / 64kbps là sự cân bằng tốt cho tin nhắn thoại.
- Feishu / WhatsApp: khi phản hồi dạng ghi chú thoại được tạo dưới dạng MP3/WebM/WAV/M4A
hoặc một tệp có khả năng là âm thanh khác, Plugin kênh chuyển mã tệp đó sang
Ogg/Opus 48kHz bằng
ffmpegtrước khi gửi tin nhắn thoại gốc. WhatsApp gửi kết quả qua tải trọngaudiocủa Baileys vớiptt: truevàaudio/ogg; codecs=opus. Nếu chuyển đổi thất bại, Feishu nhận tệp gốc dưới dạng tệp đính kèm; lượt gửi WhatsApp sẽ thất bại thay vì đăng một tải trọng PTT không tương thích. - Các kênh khác: MP3 (
mp3_44100_128từ ElevenLabs,mp3từ OpenAI).- 44.1kHz / 128kbps là mức cân bằng mặc định cho độ rõ của giọng nói.
- MiniMax: MP3 (mô hình
speech-2.8-hd, tốc độ lấy mẫu 32kHz) cho tệp đính kèm âm thanh thông thường. Với các đích ghi chú thoại được kênh quảng bá, OpenClaw chuyển mã MP3 của MiniMax sang Opus 48kHz bằngffmpegtrước khi phân phối khi kênh quảng bá khả năng chuyển mã. - Xiaomi MiMo: mặc định là MP3, hoặc WAV khi được cấu hình. Với các đích ghi chú thoại được kênh quảng bá, OpenClaw chuyển mã đầu ra Xiaomi sang Opus 48kHz bằng
ffmpegtrước khi phân phối khi kênh quảng bá khả năng chuyển mã. - CLI cục bộ: sử dụng
outputFormatđã cấu hình. Các đích ghi chú thoại được chuyển đổi sang Ogg/Opus và đầu ra thoại điện thoại được chuyển đổi sang PCM mono 16 kHz thô bằngffmpeg. - Google Gemini: TTS của Gemini API trả về PCM 24kHz thô. OpenClaw bọc nó dưới dạng WAV cho tệp đính kèm âm thanh, chuyển mã nó sang Opus 48kHz cho các đích ghi chú thoại, và trả về PCM trực tiếp cho Talk/thoại điện thoại.
- Gradium: WAV cho tệp đính kèm âm thanh, Opus cho các đích ghi chú thoại, và
ulaw_8000ở 8 kHz cho thoại điện thoại. - Inworld: MP3 cho tệp đính kèm âm thanh thông thường,
OGG_OPUSgốc cho các đích ghi chú thoại, vàPCMthô ở 22050 Hz cho Talk/thoại điện thoại. - xAI: mặc định là MP3;
responseFormatcó thể làmp3,wav,pcm,mulaw, hoặcalaw. OpenClaw sử dụng điểm cuối TTS REST theo lô của xAI và trả về một tệp đính kèm âm thanh hoàn chỉnh; WebSocket TTS phát trực tuyến của xAI không được dùng bởi đường dẫn nhà cung cấp này. Định dạng ghi chú thoại Opus gốc không được đường dẫn này hỗ trợ. - Microsoft: sử dụng
microsoft.outputFormat(mặc địnhaudio-24khz-48kbitrate-mono-mp3).- Transport đi kèm chấp nhận
outputFormat, nhưng không phải mọi định dạng đều có sẵn từ dịch vụ. - Giá trị định dạng đầu ra tuân theo các định dạng đầu ra Microsoft Speech (bao gồm Ogg/WebM Opus).
sendVoicecủa Telegram chấp nhận OGG/MP3/M4A; hãy dùng OpenAI/ElevenLabs nếu bạn cần tin nhắn thoại Opus được bảo đảm.- Nếu định dạng đầu ra Microsoft đã cấu hình thất bại, OpenClaw thử lại bằng MP3.
- Transport đi kèm chấp nhận
Hành vi Auto-TTS
Khimessages.tts.auto được bật, OpenClaw:
- Bỏ qua TTS nếu phản hồi đã chứa phương tiện có cấu trúc.
- Bỏ qua các phản hồi rất ngắn (dưới 10 ký tự).
- Tóm tắt các phản hồi dài khi tính năng tóm tắt được bật, bằng
summaryModel(hoặcagents.defaults.model.primary). - Đính kèm âm thanh đã tạo vào phản hồi.
- Trong
mode: "final", vẫn gửi TTS chỉ có âm thanh cho các phản hồi cuối cùng được phát trực tuyến sau khi luồng văn bản hoàn tất; phương tiện đã tạo đi qua cùng quy trình chuẩn hóa phương tiện kênh như các tệp đính kèm phản hồi thông thường.
maxLength và tính năng tóm tắt đang tắt (hoặc không có khóa API cho
mô hình tóm tắt), âm thanh bị bỏ qua và phản hồi văn bản thông thường được gửi.
Định dạng đầu ra theo kênh
| Mục tiêu | Định dạng |
|---|---|
| Feishu / Matrix / Telegram / WhatsApp | Trả lời bằng ghi chú thoại ưu tiên Opus (opus_48000_64 từ ElevenLabs, opus từ OpenAI). 48 kHz / 64 kbps cân bằng độ rõ và kích thước. |
| Các kênh khác | MP3 (mp3_44100_128 từ ElevenLabs, mp3 từ OpenAI). 44.1 kHz / 128 kbps là mặc định cho giọng nói. |
| Talk / điện thoại | PCM gốc của nhà cung cấp (Inworld 22050 Hz, Google 24 kHz), hoặc ulaw_8000 từ Gradium cho điện thoại. |
- Chuyển mã Feishu / WhatsApp: Khi một trả lời bằng ghi chú thoại được nhận dưới dạng MP3/WebM/WAV/M4A, Plugin kênh sẽ chuyển mã sang Ogg/Opus 48 kHz bằng
ffmpeg. WhatsApp gửi qua Baileys vớiptt: truevàaudio/ogg; codecs=opus. Nếu chuyển đổi thất bại: Feishu quay về đính kèm tệp gốc; WhatsApp gửi thất bại thay vì đăng một tải trọng PTT không tương thích. - MiniMax / Xiaomi MiMo: MP3 mặc định (32 kHz cho MiniMax
speech-2.8-hd); được chuyển mã sang Opus 48 kHz cho các mục tiêu ghi chú thoại quaffmpeg. - CLI cục bộ: Sử dụng
outputFormatđã cấu hình. Các mục tiêu ghi chú thoại được chuyển đổi sang Ogg/Opus và đầu ra điện thoại sang PCM mono 16 kHz thô. - Google Gemini: Trả về PCM 24 kHz thô. OpenClaw bọc thành WAV cho tệp đính kèm, chuyển mã sang Opus 48 kHz cho các mục tiêu ghi chú thoại, trả về PCM trực tiếp cho Talk/điện thoại.
- Inworld: Tệp đính kèm MP3, ghi chú thoại
OGG_OPUSgốc,PCM22050 Hz thô cho Talk/điện thoại. - xAI: MP3 theo mặc định;
responseFormatcó thể làmp3|wav|pcm|mulaw|alaw. Sử dụng endpoint REST hàng loạt của xAI — TTS WebSocket phát trực tuyến không được dùng. Định dạng ghi chú thoại Opus gốc không được hỗ trợ. - Microsoft: Sử dụng
microsoft.outputFormat(mặc địnhaudio-24khz-48kbitrate-mono-mp3). TelegramsendVoicechấp nhận OGG/MP3/M4A; dùng OpenAI/ElevenLabs nếu bạn cần bảo đảm tin nhắn thoại Opus. Nếu định dạng Microsoft đã cấu hình thất bại, OpenClaw thử lại bằng MP3.
Tham chiếu trường
messages.tts.* cấp cao nhất
messages.tts.* cấp cao nhất
Chế độ Auto-TTS.
inbound chỉ gửi âm thanh sau một tin nhắn thoại đến; tagged chỉ gửi âm thanh khi trả lời bao gồm các chỉ thị [[tts:...]] hoặc một khối [[tts:text]].Công tắc cũ.
openclaw doctor --fix di chuyển giá trị này sang auto."all" bao gồm các trả lời công cụ/khối ngoài các trả lời cuối cùng.ID nhà cung cấp giọng nói. Khi chưa đặt, OpenClaw dùng nhà cung cấp đầu tiên đã cấu hình theo thứ tự tự động chọn của sổ đăng ký.
provider: "edge" cũ được openclaw doctor --fix ghi lại thành "microsoft".ID persona đang hoạt động từ
personas. Được chuẩn hóa thành chữ thường.Danh tính nói ổn định. Các trường:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Xem Personas.Mô hình rẻ cho tự động tóm tắt; mặc định là
agents.defaults.model.primary. Chấp nhận provider/model hoặc bí danh mô hình đã cấu hình.Cho phép mô hình phát ra chỉ thị TTS.
enabled mặc định là true; allowProvider mặc định là false.Cài đặt do nhà cung cấp sở hữu, được khóa theo ID nhà cung cấp giọng nói. Các khối trực tiếp cũ (
messages.tts.openai, .elevenlabs, .microsoft, .edge) được openclaw doctor --fix ghi lại; chỉ commit messages.tts.providers.<id>.Giới hạn cứng cho số ký tự đầu vào TTS.
/tts audio thất bại nếu vượt quá.Thời gian chờ yêu cầu tính bằng mili giây.
Ghi đè đường dẫn JSON tùy chọn cục bộ (nhà cung cấp/giới hạn/tóm tắt). Mặc định
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
Env:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY, hoặc SPEECH_KEY.Vùng Azure Speech (ví dụ
eastus). Env: AZURE_SPEECH_REGION hoặc SPEECH_REGION.Ghi đè endpoint Azure Speech tùy chọn (bí danh
baseUrl).ShortName giọng nói Azure. Mặc định
en-US-JennyNeural. Bí danh cũ: voice.Mã ngôn ngữ SSML. Mặc định
en-US.Azure
X-Microsoft-OutputFormat cho âm thanh tiêu chuẩn. Mặc định audio-24khz-48kbitrate-mono-mp3.Azure
X-Microsoft-OutputFormat cho đầu ra ghi chú thoại. Mặc định ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
Quay về
ELEVENLABS_API_KEY hoặc XI_API_KEY.ID mô hình (ví dụ
eleven_multilingual_v2, eleven_v3).ID giọng nói ElevenLabs. Bí danh cũ:
voiceId.stability, similarityBoost, style (mỗi giá trị 0..1), useSpeakerBoost (true|false), speed (0.5..2.0, 1.0 = bình thường).Chế độ chuẩn hóa văn bản.
ISO 639-1 gồm 2 chữ cái (ví dụ
en, de).Số nguyên
0..4294967295 cho tính xác định theo khả năng tốt nhất.Ghi đè URL cơ sở API ElevenLabs.
Google Gemini
Google Gemini
Quay về
GEMINI_API_KEY / GOOGLE_API_KEY. Nếu bỏ qua, TTS có thể dùng lại models.providers.google.apiKey trước khi quay về env.Mô hình TTS Gemini. Mặc định
gemini-3.1-flash-tts-preview.Tên giọng nói dựng sẵn của Gemini. Mặc định
Kore. Bí danh cũ: voiceName, voice.Lời nhắc phong cách bằng ngôn ngữ tự nhiên được thêm trước văn bản nói.
Nhãn người nói tùy chọn được thêm trước văn bản nói khi lời nhắc của bạn dùng một người nói có tên.
Đặt thành
audio-profile-v1 để bọc các trường lời nhắc persona đang hoạt động trong một cấu trúc lời nhắc TTS Gemini xác định.Văn bản lời nhắc persona bổ sung riêng cho Google được nối vào Ghi chú của Đạo diễn trong mẫu.
Chỉ chấp nhận
https://generativelanguage.googleapis.com.Gradium
Gradium
Inworld
Inworld
Inworld chính
Biến môi trường:
INWORLD_API_KEY.Mặc định
https://api.inworld.ai.Mặc định
inworld-tts-1.5-max. Cũng có: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.Mặc định
Sarah. Bí danh cũ: voiceId.Nhiệt độ lấy mẫu
0..2.Local CLI (tts-local-cli)
Local CLI (tts-local-cli)
Tệp thực thi cục bộ hoặc chuỗi lệnh cho CLI TTS.
Đối số lệnh. Hỗ trợ các placeholder
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.Định dạng đầu ra CLI dự kiến. Mặc định
mp3 cho tệp đính kèm âm thanh.Thời gian chờ lệnh tính bằng mili giây. Mặc định
120000.Thư mục làm việc tùy chọn cho lệnh.
Ghi đè môi trường tùy chọn cho lệnh.
Microsoft (no API key)
Microsoft (no API key)
Cho phép sử dụng giọng nói Microsoft.
Tên giọng neural của Microsoft (ví dụ
en-US-MichelleNeural). Bí danh cũ: voice.Mã ngôn ngữ (ví dụ
en-US).Định dạng đầu ra Microsoft. Mặc định
audio-24khz-48kbitrate-mono-mp3. Không phải mọi định dạng đều được transport dựa trên Edge đi kèm hỗ trợ.Chuỗi phần trăm (ví dụ
+10%, -5%).Ghi phụ đề JSON cạnh tệp âm thanh.
URL proxy cho yêu cầu giọng nói Microsoft.
Ghi đè thời gian chờ yêu cầu (ms).
Bí danh cũ. Chạy
openclaw doctor --fix để ghi lại cấu hình đã lưu thành providers.microsoft.MiniMax
MiniMax
Dự phòng sang
MINIMAX_API_KEY. Xác thực Token Plan qua MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, hoặc MINIMAX_CODING_API_KEY.Mặc định
https://api.minimax.io. Biến môi trường: MINIMAX_API_HOST.Mặc định
speech-2.8-hd. Biến môi trường: MINIMAX_TTS_MODEL.Mặc định
English_expressive_narrator. Biến môi trường: MINIMAX_TTS_VOICE_ID. Bí danh cũ: voiceId.0.5..2.0. Mặc định 1.0.(0, 10]. Mặc định 1.0.Số nguyên
-12..12. Mặc định 0. Giá trị phân số bị cắt bớt trước yêu cầu.OpenAI
OpenAI
Dự phòng sang
OPENAI_API_KEY.ID mô hình TTS của OpenAI (ví dụ
gpt-4o-mini-tts).Tên giọng (ví dụ
alloy, cedar). Bí danh cũ: voice.Trường OpenAI
instructions tường minh. Khi được đặt, các trường lời nhắc persona không được tự động ánh xạ.Các trường JSON bổ sung được hợp nhất vào thân yêu cầu
/audio/speech sau các trường OpenAI TTS đã tạo. Dùng mục này cho các endpoint tương thích OpenAI như Kokoro cần khóa riêng của nhà cung cấp như lang; các khóa prototype không an toàn sẽ bị bỏ qua.Ghi đè endpoint OpenAI TTS. Thứ tự phân giải: cấu hình →
OPENAI_TTS_BASE_URL → https://api.openai.com/v1. Các giá trị không mặc định được xem là endpoint TTS tương thích OpenAI, nên tên mô hình và tên giọng tùy chỉnh được chấp nhận.OpenRouter
OpenRouter
Biến môi trường:
OPENROUTER_API_KEY. Có thể tái sử dụng models.providers.openrouter.apiKey.Mặc định
https://openrouter.ai/api/v1. https://openrouter.ai/v1 cũ được chuẩn hóa.Mặc định
hexgrad/kokoro-82m. Bí danh: modelId.Mặc định
af_alloy. Bí danh cũ: voice, voiceId.Mặc định
mp3.Ghi đè tốc độ gốc của nhà cung cấp.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
Biến môi trường:
VOLCENGINE_TTS_API_KEY hoặc BYTEPLUS_SEED_SPEECH_API_KEY.Mặc định
seed-tts-1.0. Biến môi trường: VOLCENGINE_TTS_RESOURCE_ID. Dùng seed-tts-2.0 khi dự án của bạn có quyền dùng TTS 2.0.Header khóa ứng dụng. Mặc định
aGjiRDfUWi. Biến môi trường: VOLCENGINE_TTS_APP_KEY.Ghi đè endpoint HTTP Seed Speech TTS. Biến môi trường:
VOLCENGINE_TTS_BASE_URL.Loại giọng. Mặc định
en_female_anna_mars_bigtts. Biến môi trường: VOLCENGINE_TTS_VOICE. Bí danh cũ: voice.Tỷ lệ tốc độ gốc của nhà cung cấp.
Thẻ cảm xúc gốc của nhà cung cấp.
Các trường Volcengine Speech Console cũ. Biến môi trường:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (mặc định volcano_tts).xAI
xAI
Biến môi trường:
XAI_API_KEY.Mặc định
https://api.x.ai/v1. Biến môi trường: XAI_BASE_URL.Mặc định
eve. Các giọng trực tiếp: ara, eve, leo, rex, sal, una. Bí danh cũ: voiceId.Mã ngôn ngữ BCP-47 hoặc
auto. Mặc định en.Mặc định
mp3.Ghi đè tốc độ gốc của nhà cung cấp.
Xiaomi MiMo
Xiaomi MiMo
Biến môi trường:
XIAOMI_API_KEY.Mặc định
https://api.xiaomimimo.com/v1. Biến môi trường: XIAOMI_BASE_URL.Mặc định
mimo-v2.5-tts. Biến môi trường: XIAOMI_TTS_MODEL. Cũng hỗ trợ mimo-v2-tts và mimo-v2.5-tts-voicedesign.Mặc định
mimo_default cho các mô hình giọng cài sẵn. Biến môi trường: XIAOMI_TTS_VOICE. Bí danh cũ: voice. Không gửi cho mimo-v2.5-tts-voicedesign.Mặc định
mp3. Biến môi trường: XIAOMI_TTS_FORMAT.Chỉ dẫn phong cách bằng ngôn ngữ tự nhiên tùy chọn, được gửi dưới dạng tin nhắn người dùng; không được đọc thành tiếng. Với
mimo-v2.5-tts-voicedesign, đây là lời nhắc thiết kế giọng; OpenClaw cung cấp giá trị mặc định khi bỏ qua.Công cụ agent
Công cụtts chuyển văn bản thành giọng nói và trả về tệp đính kèm âm thanh để
gửi phản hồi. Trên Feishu, Matrix, Telegram và WhatsApp, âm thanh được
gửi dưới dạng tin nhắn thoại thay vì tệp đính kèm. Feishu và
WhatsApp có thể chuyển mã đầu ra TTS không phải Opus trên đường dẫn này khi có
ffmpeg.
WhatsApp gửi âm thanh qua Baileys dưới dạng ghi chú thoại PTT (audio với
ptt: true) và gửi văn bản hiển thị riêng biệt với âm thanh PTT vì
các ứng dụng khách không luôn hiển thị chú thích trên ghi chú thoại.
Công cụ chấp nhận các trường channel và timeoutMs tùy chọn; timeoutMs là
thời gian chờ yêu cầu nhà cung cấp theo từng lệnh gọi, tính bằng mili giây. Giá trị theo từng lệnh gọi ghi đè
messages.tts.timeoutMs; thời gian chờ TTS đã cấu hình ghi đè mọi giá trị mặc định
của nhà cung cấp do Plugin tạo.
Gateway RPC
| Phương thức | Mục đích |
|---|---|
tts.status | Đọc trạng thái TTS hiện tại và lần thử gần nhất. |
tts.enable | Đặt tùy chọn tự động cục bộ thành always. |
tts.disable | Đặt tùy chọn tự động cục bộ thành off. |
tts.convert | Chuyển văn bản một lần → âm thanh. |
tts.setProvider | Đặt tùy chọn nhà cung cấp cục bộ. |
tts.setPersona | Đặt tùy chọn persona cục bộ. |
tts.providers | Liệt kê các nhà cung cấp đã cấu hình và trạng thái. |
Liên kết dịch vụ
- Hướng dẫn chuyển văn bản thành giọng nói của OpenAI
- Tham chiếu OpenAI Audio API
- Chuyển văn bản thành giọng nói bằng Azure Speech REST
- Nhà cung cấp Azure Speech
- ElevenLabs Text to Speech
- Xác thực ElevenLabs
- Gradium
- Inworld TTS API
- MiniMax T2A v2 API
- Volcengine TTS HTTP API
- Tổng hợp giọng nói Xiaomi MiMo
- node-edge-tts
- Định dạng đầu ra Microsoft Speech
- xAI chuyển văn bản thành giọng nói