stt-tts у Talk. Провайдер-нативні
сеанси Talk realtime синтезують мовлення всередині realtime-провайдера замість
виклику цього TTS-шляху, тоді як сеанси transcription не синтезують
голосову відповідь асистента.
Швидкий старт
Pick a provider
OpenAI і ElevenLabs — найнадійніші хостингові варіанти. Microsoft і
Local CLI працюють без API-ключа. Повний список див. у матриці провайдерів.
Set the API key
Експортуйте env var для свого провайдера (наприклад
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Microsoft і Local CLI не потребують ключа.Авто-TTS за замовчуванням вимкнено. Коли
messages.tts.provider не задано,
OpenClaw вибирає першого налаштованого провайдера в порядку автовибору реєстру.
Вбудований агентський інструмент tts працює лише за явним наміром: звичайний чат лишається
текстовим, якщо користувач не попросить аудіо, не використає /tts або не ввімкне авто-TTS/директивне
мовлення.Підтримувані провайдери
| Провайдер | Автентифікація | Примітки |
|---|---|---|
| Azure Speech | AZURE_SPEECH_KEY + AZURE_SPEECH_REGION (також AZURE_SPEECH_API_KEY, SPEECH_KEY, SPEECH_REGION) | Нативний вивід голосових нотаток Ogg/Opus і телефонія. |
| DeepInfra | DEEPINFRA_API_KEY | TTS, сумісний з OpenAI. За замовчуванням hexgrad/Kokoro-82M. |
| ElevenLabs | ELEVENLABS_API_KEY або XI_API_KEY | Клонування голосу, багатомовність, детермінованість через seed; потокове відтворення для голосу Discord. |
| Google Gemini | GEMINI_API_KEY або GOOGLE_API_KEY | Пакетний TTS через Gemini API; з урахуванням персони через promptTemplate: "audio-profile-v1". |
| Gradium | GRADIUM_API_KEY | Вивід голосових нотаток і телефонія. |
| Inworld | INWORLD_API_KEY | Потоковий TTS API. Нативні голосові нотатки Opus і PCM-телефонія. |
| Local CLI | немає | Запускає налаштовану локальну TTS-команду. |
| Microsoft | немає | Публічний нейронний TTS Edge через node-edge-tts. За принципом best-effort, без SLA. |
| MiniMax | MINIMAX_API_KEY (або Token Plan: MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY) | T2A v2 API. За замовчуванням speech-2.8-hd. |
| OpenAI | OPENAI_API_KEY | Також використовується для автозведення; підтримує persona instructions. |
| OpenRouter | OPENROUTER_API_KEY (може повторно використовувати models.providers.openrouter.apiKey) | Модель за замовчуванням hexgrad/kokoro-82m. |
| Volcengine | VOLCENGINE_TTS_API_KEY або BYTEPLUS_SEED_SPEECH_API_KEY (legacy AppID/token: VOLCENGINE_TTS_APPID/_TOKEN) | BytePlus Seed Speech HTTP API. |
| Vydra | VYDRA_API_KEY | Спільний провайдер зображень, відео та мовлення. |
| xAI | XAI_API_KEY | Пакетний TTS xAI. Нативна голосова нотатка Opus не підтримується. |
| Xiaomi MiMo | XIAOMI_API_KEY | MiMo TTS через чат-завершення Xiaomi. |
summaryModel (або
agents.defaults.model.primary), тому цей провайдер також має бути автентифікований,
якщо ви залишаєте зведення ввімкненими.
Конфігурація
Конфігурація TTS міститься вmessages.tts у ~/.openclaw/openclaw.json. Виберіть
пресет і адаптуйте блок провайдера:
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- Local CLI
- Microsoft (no key)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
mimo-v2.5-tts-voicedesign опустіть speakerVoice і встановіть style у
prompt для дизайну голосу. OpenClaw надсилає цей prompt як TTS-повідомлення user
і не надсилає audio.voice для моделі voicedesign.
Перевизначення голосу для окремого агента
Використовуйтеagents.list[].tts, коли один агент має говорити з іншим провайдером,
голосом, моделлю, персоною або режимом автоматичного TTS. Блок агента виконує глибоке злиття поверх
messages.tts, тому облікові дані провайдера можуть залишатися в глобальній конфігурації провайдера:
agents.list[].tts.persona поруч із конфігурацією
провайдера — це перевизначає глобальне messages.tts.persona лише для цього агента.
Порядок пріоритету для автоматичних відповідей, /tts audio, /tts status і
інструмента агента tts:
messages.tts- активне
agents.list[].tts - перевизначення каналу, коли канал підтримує
channels.<channel>.tts - перевизначення облікового запису, коли канал передає
channels.<channel>.accounts.<id>.tts - локальні налаштування
/ttsдля цього хоста - вбудовані директиви
[[tts:...]], коли ввімкнено перевизначення моделлю
messages.tts, і
виконують глибоке злиття поверх попередніх шарів, тому спільні облікові дані провайдера можуть залишатися в
messages.tts, тоді як канал або обліковий запис бота змінює лише голос мовця, модель, персону
або автоматичний режим:
Персони
Персона — це стабільна мовна ідентичність, яку можна детерміновано застосовувати між провайдерами. Вона може надавати перевагу одному провайдеру, визначати нейтральний до провайдера намір промпта та містити прив’язки для конкретних провайдерів для голосів, моделей, шаблонів промптів, seed і налаштувань голосу.Мінімальна персона
Повна персона (нейтральний до провайдера промпт)
Визначення персони
Активна персона вибирається детерміновано:- Локальне налаштування
/tts persona <id>, якщо задано. messages.tts.persona, якщо задано.- Без персони.
- Прямі перевизначення (CLI, Gateway, Talk, дозволені директиви TTS).
- Локальне налаштування
/tts provider <id>. providerактивної персони.messages.tts.provider.- Автовибір із реєстру.
messages.tts.providers.<id>messages.tts.personas.<persona>.providers.<id>- Довірені перевизначення запиту
- Дозволені перевизначення директив TTS, згенерованих моделлю
Як провайдери використовують промпти персони
Поля промпта персони (profile, scene, sampleContext, style, accent,
pacing, constraints) є нейтральними до провайдера. Кожен провайдер вирішує, як
їх використовувати:
Google Gemini
Google Gemini
Обгортає поля промпта персони в структуру промпта Gemini TTS лише коли
ефективна конфігурація провайдера Google задає
promptTemplate: "audio-profile-v1"
або personaPrompt. Старіші поля audioProfile і speakerName усе ще додаються
на початок як специфічний для Google текст промпта. Вбудовані аудіотеги, як-от
[whispers] або [laughs] усередині блока [[tts:text]], зберігаються
всередині транскрипта Gemini; OpenClaw не генерує ці теги.OpenAI
OpenAI
Відображає поля промпта персони в поле запиту
instructions лише коли
явні OpenAI instructions не налаштовані. Явні instructions
завжди мають пріоритет.Інші провайдери
Інші провайдери
Використовують лише специфічні для провайдера прив’язки персони в
personas.<id>.providers.<provider>. Поля промпта персони ігноруються,
якщо провайдер не реалізує власне відображення промпта персони.Політика резервного переходу
fallbackPolicy керує поведінкою, коли персона не має прив’язки для
провайдера, що пробується:
| Політика | Поведінка |
|---|---|
preserve-persona | Типово. Нейтральні до провайдера поля промпта залишаються доступними; провайдер може використовувати їх або ігнорувати. |
provider-defaults | Персона пропускається під час підготовки промпта для цієї спроби; провайдер використовує свої нейтральні типові значення, доки триває резервний перехід до інших провайдерів. |
fail | Пропустити цю спробу провайдера з reasonCode: "not_configured" і personaBinding: "missing". Резервні провайдери все одно пробуються. |
talk.catalog та передавати
їх через сеанс Talk або запит передавання. Відкриття голосового сеансу не повинно
змінювати messages.tts або глобальні типові значення провайдера Talk.
Директиви, керовані моделлю
Типово асистент може видавати директиви[[tts:...]], щоб перевизначити
голос, модель або швидкість для однієї відповіді, а також необов’язковий
блок [[tts:text]]...[[/tts:text]] для виразних підказок, які мають з’являтися
лише в аудіо:
messages.tts.auto має значення "tagged", директиви обов’язкові для запуску
аудіо. Потокова доставка блоків вилучає директиви з видимого тексту до того, як
канал їх побачить, навіть якщо вони розділені між сусідніми блоками.
provider=... ігнорується, якщо modelOverrides.allowProvider: true не задано. Коли
відповідь оголошує provider=..., інші ключі в цій директиві аналізуються
лише цим провайдером; непідтримувані ключі вилучаються та повідомляються як попередження
директив TTS.
Доступні ключі директив:
provider(ідентифікатор зареєстрованого провайдера; потребуєallowProvider: true)speakerVoice/speakerVoiceId(застарілі псевдоніми:voice,voiceName,voice_name,google_voice,voiceId)model/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/volume(гучність MiniMax, 0–10)pitch(цілочисельна висота тону MiniMax, −12 до 12; дробові значення обрізаються)emotion(тег емоції Volcengine)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Slash-команди
Одна команда/tts. У Discord OpenClaw також реєструє /voice, тому що
/tts є вбудованою командою Discord — текстова /tts ... усе ще працює.
Команди потребують авторизованого відправника (застосовуються правила allowlist/власника), а також має бути ввімкнено
commands.text або нативну реєстрацію команд./tts onзаписує локальне налаштування TTS уalways;/tts offзаписує його вoff./tts chat on|off|defaultзаписує перевизначення автоматичного TTS з областю дії сеансу для поточного чату./tts persona <id>записує локальне налаштування персони;/tts persona offочищає його./tts latestчитає останню відповідь асистента з транскрипта поточного сеансу та надсилає її як аудіо один раз. Вона зберігає лише хеш цієї відповіді в записі сеансу, щоб пригнічувати дубльовані голосові надсилання./tts audioгенерує одноразову аудіовідповідь (не вмикає TTS).limitіsummaryзберігаються в локальних налаштуваннях, а не в основній конфігурації./tts statusмістить діагностику резервного переходу для останньої спроби —Fallback: <primary> -> <used>,Attempts: ...і деталі для кожної спроби (provider:outcome(reasonCode) latency)./statusпоказує активний режим TTS, а також налаштовані провайдер, модель, голос і очищені метадані користувацької кінцевої точки, коли TTS увімкнено.
Налаштування для кожного користувача
Slash-команди записують локальні перевизначення вprefsPath. Типове значення —
~/.openclaw/settings/tts.json; перевизначте його змінною середовища OPENCLAW_TTS_PREFS
або messages.tts.prefsPath.
| Збережене поле | Ефект |
|---|---|
auto | Локальне перевизначення auto-TTS (always, off, …) |
provider | Локальне перевизначення основного провайдера |
persona | Локальне перевизначення персони |
maxLength | Поріг підсумку (типово 1500 символів) |
summarize | Перемикач підсумку (типово true) |
messages.tts плюс активний
блок agents.list[].tts для цього хоста.
Формати виводу (фіксовані)
Доставка голосу TTS керується можливостями каналу. Plugins каналів оголошують, чи має TTS у стилі голосового повідомлення запитувати в провайдерів нативну цільvoice-note, чи
зберігати звичайний синтез audio-file і лише позначати сумісний вивід для голосової
доставки.
- Канали з підтримкою голосових нотаток: відповіді голосовими нотатками надають перевагу Opus (
opus_48000_64від ElevenLabs,opusвід OpenAI).- 48 кГц / 64 кбіт/с — вдалий компроміс для голосових повідомлень.
- Feishu / WhatsApp: коли відповідь голосовою нотаткою створюється як MP3/WebM/WAV/M4A
або інший імовірний аудіофайл, Plugin каналу транскодує її у 48 кГц
Ogg/Opus за допомогою
ffmpegперед надсиланням нативного голосового повідомлення. WhatsApp надсилає результат через payloadaudioBaileys ізptt: trueтаaudio/ogg; codecs=opus. Якщо конвертація завершується невдало, Feishu отримує оригінальний файл як вкладення; надсилання WhatsApp завершується помилкою, замість публікації несумісного PTT payload. - Інші канали: MP3 (
mp3_44100_128від ElevenLabs,mp3від OpenAI).- 44,1 кГц / 128 кбіт/с — стандартний баланс для чіткості мовлення.
- MiniMax: MP3 (модель
speech-2.8-hd, частота дискретизації 32 кГц) для звичайних аудіовкладень. Для цілей голосових нотаток, оголошених каналом, OpenClaw транскодує MiniMax MP3 у 48 кГц Opus за допомогоюffmpegперед доставкою, коли канал оголошує транскодування. - Xiaomi MiMo: MP3 за замовчуванням або WAV, якщо налаштовано. Для цілей голосових нотаток, оголошених каналом, OpenClaw транскодує вивід Xiaomi у 48 кГц Opus за допомогою
ffmpegперед доставкою, коли канал оголошує транскодування. - Локальний CLI: використовує налаштований
outputFormat. Цілі голосових нотаток конвертуються в Ogg/Opus, а телефонний вивід конвертується в сирий моно PCM 16 кГц за допомогоюffmpeg. - Google Gemini: Gemini API TTS повертає сирий PCM 24 кГц. OpenClaw обгортає його як WAV для аудіовкладень, транскодує його у 48 кГц Opus для цілей голосових нотаток і повертає PCM напряму для Talk/телефонії.
- Gradium: WAV для аудіовкладень, Opus для цілей голосових нотаток і
ulaw_8000на 8 кГц для телефонії. - Inworld: MP3 для звичайних аудіовкладень, нативний
OGG_OPUSдля цілей голосових нотаток і сирийPCMна 22050 Гц для Talk/телефонії. - xAI: MP3 за замовчуванням;
responseFormatможе бутиmp3,wav,pcm,mulawабоalaw. OpenClaw використовує batch REST TTS endpoint xAI і повертає повне аудіовкладення; streaming TTS WebSocket xAI не використовується цим шляхом провайдера. Нативний формат голосових нотаток Opus не підтримується цим шляхом. - Microsoft: використовує
microsoft.outputFormat(за замовчуваннямaudio-24khz-48kbitrate-mono-mp3).- Вбудований транспорт приймає
outputFormat, але сервіс надає не всі формати. - Значення формату виводу відповідають форматам виводу Microsoft Speech (зокрема Ogg/WebM Opus).
- Telegram
sendVoiceприймає OGG/MP3/M4A; використовуйте OpenAI/ElevenLabs, якщо вам потрібні гарантовані голосові повідомлення Opus. - Якщо налаштований формат виводу Microsoft завершується помилкою, OpenClaw повторює спробу з MP3.
- Вбудований транспорт приймає
Поведінка Auto-TTS
Колиmessages.tts.auto увімкнено, OpenClaw:
- Пропускає TTS, якщо відповідь уже містить структуровані медіа.
- Пропускає дуже короткі відповіді (менше 10 символів).
- Узагальнює довгі відповіді, коли узагальнення ввімкнено, використовуючи
summaryModel(абоagents.defaults.model.primary). - Додає згенероване аудіо до відповіді.
- У
mode: "final"все одно надсилає аудіо-only TTS для потокових фінальних відповідей після завершення текстового потоку; згенеровані медіа проходять ту саму нормалізацію медіа каналу, що й звичайні вкладення відповіді.
maxLength, а узагальнення вимкнено (або немає API-ключа для
моделі узагальнення), аудіо пропускається, і надсилається звичайна текстова відповідь.
Формати виводу за каналами
| Ціль | Формат |
|---|---|
| Feishu / Matrix / Telegram / WhatsApp | Відповіді голосовими нотатками віддають перевагу Opus (opus_48000_64 від ElevenLabs, opus від OpenAI). 48 кГц / 64 кбіт/с балансує чіткість і розмір. |
| Інші канали | MP3 (mp3_44100_128 від ElevenLabs, mp3 від OpenAI). 44,1 кГц / 128 кбіт/с за замовчуванням для мовлення. |
| Talk / телефонія | Нативний для провайдера PCM (Inworld 22050 Гц, Google 24 кГц) або ulaw_8000 від Gradium для телефонії. |
- Транскодування Feishu / WhatsApp: Коли відповідь голосовою нотаткою надходить як MP3/WebM/WAV/M4A, Plugin каналу транскодує її в 48 кГц Ogg/Opus за допомогою
ffmpeg. WhatsApp надсилає через Baileys зptt: trueіaudio/ogg; codecs=opus. Якщо конвертація не вдається: Feishu повертається до прикріплення оригінального файлу; надсилання WhatsApp завершується помилкою замість публікації несумісного PTT-вмісту. - MiniMax / Xiaomi MiMo: MP3 за замовчуванням (32 кГц для MiniMax
speech-2.8-hd); транскодується в 48 кГц Opus для цілей голосових нотаток черезffmpeg. - Локальний CLI: Використовує налаштований
outputFormat. Цілі голосових нотаток конвертуються в Ogg/Opus, а телефонний вихід — у сирий моно PCM 16 кГц. - Google Gemini: Повертає сирий PCM 24 кГц. OpenClaw обгортає його як WAV для вкладень, транскодує в 48 кГц Opus для цілей голосових нотаток, повертає PCM напряму для Talk/телефонії.
- Inworld: MP3-вкладення, нативний
OGG_OPUSдля голосових нотаток, сирийPCM22050 Гц для Talk/телефонії. - xAI: MP3 за замовчуванням;
responseFormatможе бутиmp3|wav|pcm|mulaw|alaw. Використовує пакетний REST-ендпоінт xAI — потоковий WebSocket TTS не використовується. Нативний формат голосових нотаток Opus не підтримується. - Microsoft: Використовує
microsoft.outputFormat(за замовчуваннямaudio-24khz-48kbitrate-mono-mp3). TelegramsendVoiceприймає OGG/MP3/M4A; використовуйте OpenAI/ElevenLabs, якщо вам потрібні гарантовані голосові повідомлення Opus. Якщо налаштований формат Microsoft дає збій, OpenClaw повторює спробу з MP3.
Довідник полів
Верхньорівневі messages.tts.*
Верхньорівневі messages.tts.*
Режим Auto-TTS.
inbound надсилає аудіо лише після вхідного голосового повідомлення; tagged надсилає аудіо лише тоді, коли відповідь містить директиви [[tts:...]] або блок [[tts:text]].Застарілий перемикач.
openclaw doctor --fix мігрує це в auto."all" включає відповіді інструментів/блоків на додачу до фінальних відповідей.Ідентифікатор провайдера мовлення. Якщо не задано, OpenClaw використовує першого налаштованого провайдера в порядку автоматичного вибору реєстру. Застаріле
provider: "edge" переписується в "microsoft" командою openclaw doctor --fix.Ідентифікатор активної персони з
personas. Нормалізується до нижнього регістру.Стабільна мовна ідентичність. Поля:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Див. Персони.Дешева модель для автоматичного підсумку; за замовчуванням
agents.defaults.model.primary. Приймає provider/model або налаштований псевдонім моделі.Дозволяє моделі видавати TTS-директиви.
enabled за замовчуванням дорівнює true; allowProvider за замовчуванням дорівнює false.Налаштування, що належать провайдеру, з ключами за ідентифікатором провайдера мовлення. Застарілі прямі блоки (
messages.tts.openai, .elevenlabs, .microsoft, .edge) переписуються командою openclaw doctor --fix; комітьте лише messages.tts.providers.<id>.Жорстке обмеження на кількість символів у вхідних даних TTS.
/tts audio завершується помилкою, якщо його перевищено.Тайм-аут запиту в мілісекундах.
Перевизначає локальний шлях JSON налаштувань (provider/limit/summary). За замовчуванням
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
Змінні середовища:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY або SPEECH_KEY.Регіон Azure Speech (наприклад,
eastus). Змінні середовища: AZURE_SPEECH_REGION або SPEECH_REGION.Необов’язкове перевизначення ендпоінта Azure Speech (псевдонім
baseUrl).ShortName голосу Azure. За замовчуванням
en-US-JennyNeural. Застарілий псевдонім: voice.Код мови SSML. За замовчуванням
en-US.Azure
X-Microsoft-OutputFormat для стандартного аудіо. За замовчуванням audio-24khz-48kbitrate-mono-mp3.Azure
X-Microsoft-OutputFormat для виводу голосових нотаток. За замовчуванням ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
Повертається до
ELEVENLABS_API_KEY або XI_API_KEY.Ідентифікатор моделі (наприклад,
eleven_multilingual_v2, eleven_v3).Ідентифікатор голосу ElevenLabs. Застарілий псевдонім:
voiceId.stability, similarityBoost, style (кожне 0..1), useSpeakerBoost (true|false), speed (0.5..2.0, 1.0 = нормальна).Режим нормалізації тексту.
2-літерний ISO 639-1 (наприклад,
en, de).Ціле число
0..4294967295 для детермінізму за принципом best-effort.Перевизначити базову URL-адресу API ElevenLabs.
Google Gemini
Google Gemini
Повертається до
GEMINI_API_KEY / GOOGLE_API_KEY. Якщо пропущено, TTS може повторно використати models.providers.google.apiKey перед fallback до змінних середовища.Модель Gemini TTS. За замовчуванням
gemini-3.1-flash-tts-preview.Назва готового голосу Gemini. За замовчуванням
Kore. Застарілі псевдоніми: voiceName, voice.Підказка стилю природною мовою, що додається перед озвучуваним текстом.
Необов’язкова мітка мовця, що додається перед озвучуваним текстом, коли ваша підказка використовує іменованого мовця.
Установіть
audio-profile-v1, щоб обгорнути поля підказки активної персони в детерміновану структуру підказки Gemini TTS.Додатковий текст підказки персони, специфічний для Google, що додається до Director’s Notes шаблону.
Приймається лише
https://generativelanguage.googleapis.com.Gradium
Gradium
Inworld
Inworld
Основний Inworld
Змінна середовища:
INWORLD_API_KEY.За замовчуванням
https://api.inworld.ai.За замовчуванням
inworld-tts-1.5-max. Також: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.За замовчуванням
Sarah. Застарілий псевдонім: voiceId.Температура семплювання
0..2.Локальний CLI (tts-local-cli)
Локальний CLI (tts-local-cli)
Локальний виконуваний файл або рядок команди для CLI TTS.
Аргументи команди. Підтримує заповнювачі
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.Очікуваний формат виводу CLI. За замовчуванням
mp3 для аудіовкладень.Час очікування команди в мілісекундах. За замовчуванням
120000.Необов’язковий робочий каталог команди.
Необов’язкові перевизначення середовища для команди.
Microsoft (без ключа API)
Microsoft (без ключа API)
Дозволити використання мовлення Microsoft.
Назва нейронного голосу Microsoft (наприклад,
en-US-MichelleNeural). Застарілий псевдонім: voice.Код мови (наприклад,
en-US).Формат виводу Microsoft. За замовчуванням
audio-24khz-48kbitrate-mono-mp3. Не всі формати підтримуються вбудованим транспортом на основі Edge.Відсоткові рядки (наприклад,
+10%, -5%).Записувати субтитри JSON поруч з аудіофайлом.
URL проксі для запитів мовлення Microsoft.
Перевизначення часу очікування запиту (мс).
Застарілий псевдонім. Запустіть
openclaw doctor --fix, щоб переписати збережену конфігурацію в providers.microsoft.MiniMax
MiniMax
Відступає до
MINIMAX_API_KEY. Автентифікація Token Plan через MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY або MINIMAX_CODING_API_KEY.За замовчуванням
https://api.minimax.io. Змінна середовища: MINIMAX_API_HOST.За замовчуванням
speech-2.8-hd. Змінна середовища: MINIMAX_TTS_MODEL.За замовчуванням
English_expressive_narrator. Змінна середовища: MINIMAX_TTS_VOICE_ID. Застарілий псевдонім: voiceId.0.5..2.0. За замовчуванням 1.0.(0, 10]. За замовчуванням 1.0.Ціле число
-12..12. За замовчуванням 0. Дробові значення обрізаються перед запитом.OpenAI
OpenAI
Відступає до
OPENAI_API_KEY.Ідентифікатор моделі OpenAI TTS (наприклад,
gpt-4o-mini-tts).Назва голосу (наприклад,
alloy, cedar). Застарілий псевдонім: voice.Явне поле OpenAI
instructions. Коли задано, поля промпту персони не відображаються автоматично.Додаткові поля JSON, що об’єднуються в тіла запитів
/audio/speech після згенерованих полів OpenAI TTS. Використовуйте це для сумісних з OpenAI кінцевих точок, таких як Kokoro, які потребують специфічних для провайдера ключів, як-от lang; небезпечні ключі прототипів ігноруються.Перевизначає кінцеву точку OpenAI TTS. Порядок визначення: конфігурація →
OPENAI_TTS_BASE_URL → https://api.openai.com/v1. Нестандартні значення вважаються сумісними з OpenAI кінцевими точками TTS, тому користувацькі назви моделей і голосів приймаються.OpenRouter
OpenRouter
Змінна середовища:
OPENROUTER_API_KEY. Може повторно використовувати models.providers.openrouter.apiKey.За замовчуванням
https://openrouter.ai/api/v1. Застарілий https://openrouter.ai/v1 нормалізується.За замовчуванням
hexgrad/kokoro-82m. Псевдонім: modelId.За замовчуванням
af_alloy. Застарілі псевдоніми: voice, voiceId.За замовчуванням
mp3.Перевизначення швидкості, рідне для провайдера.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
Змінна середовища:
VOLCENGINE_TTS_API_KEY або BYTEPLUS_SEED_SPEECH_API_KEY.За замовчуванням
seed-tts-1.0. Змінна середовища: VOLCENGINE_TTS_RESOURCE_ID. Використовуйте seed-tts-2.0, коли ваш проєкт має право на TTS 2.0.Заголовок ключа застосунку. За замовчуванням
aGjiRDfUWi. Змінна середовища: VOLCENGINE_TTS_APP_KEY.Перевизначає HTTP-кінцеву точку Seed Speech TTS. Змінна середовища:
VOLCENGINE_TTS_BASE_URL.Тип голосу. За замовчуванням
en_female_anna_mars_bigtts. Змінна середовища: VOLCENGINE_TTS_VOICE. Застарілий псевдонім: voice.Коефіцієнт швидкості, рідний для провайдера.
Тег емоції, рідний для провайдера.
Застарілі поля консолі Volcengine Speech. Змінні середовища:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (за замовчуванням volcano_tts).xAI
xAI
Змінна середовища:
XAI_API_KEY.За замовчуванням
https://api.x.ai/v1. Змінна середовища: XAI_BASE_URL.За замовчуванням
eve. Доступні голоси: ara, eve, leo, rex, sal, una. Застарілий псевдонім: voiceId.Код мови BCP-47 або
auto. За замовчуванням en.За замовчуванням
mp3.Перевизначення швидкості, рідне для провайдера.
Xiaomi MiMo
Xiaomi MiMo
Змінна середовища:
XIAOMI_API_KEY.За замовчуванням
https://api.xiaomimimo.com/v1. Змінна середовища: XIAOMI_BASE_URL.За замовчуванням
mimo-v2.5-tts. Змінна середовища: XIAOMI_TTS_MODEL. Також підтримує mimo-v2-tts і mimo-v2.5-tts-voicedesign.За замовчуванням
mimo_default для моделей із попередньо заданим голосом. Змінна середовища: XIAOMI_TTS_VOICE. Застарілий псевдонім: voice. Не надсилається для mimo-v2.5-tts-voicedesign.За замовчуванням
mp3. Змінна середовища: XIAOMI_TTS_FORMAT.Необов’язкова інструкція стилю природною мовою, що надсилається як повідомлення користувача; не озвучується. Для
mimo-v2.5-tts-voicedesign це промпт дизайну голосу; OpenClaw надає значення за замовчуванням, якщо його пропущено.Інструмент агента
Інструментtts перетворює текст на мовлення та повертає аудіовкладення для
доставки відповіді. У Feishu, Matrix, Telegram і WhatsApp аудіо
доставляється як голосове повідомлення, а не як файлове вкладення. Feishu і
WhatsApp можуть транскодувати вивід TTS не у форматі Opus на цьому шляху, коли
доступний ffmpeg.
WhatsApp надсилає аудіо через Baileys як голосову нотатку PTT (audio з
ptt: true) і надсилає видимий текст окремо від аудіо PTT, оскільки
клієнти не завжди стабільно відображають підписи до голосових нотаток.
Інструмент приймає необов’язкові поля channel і timeoutMs; timeoutMs — це
час очікування запиту до провайдера для окремого виклику в мілісекундах.
Значення для окремого виклику перевизначають messages.tts.timeoutMs;
налаштовані часи очікування TTS перевизначають будь-яке стандартне значення
провайдера, задане Plugin.
Gateway RPC
| Метод | Призначення |
|---|---|
tts.status | Читати поточний стан TTS і останню спробу. |
tts.enable | Установити локальну автоматичну перевагу на always. |
tts.disable | Установити локальну автоматичну перевагу на off. |
tts.convert | Одноразове перетворення текст → аудіо. |
tts.setProvider | Установити локальну перевагу провайдера. |
tts.setPersona | Установити локальну перевагу персони. |
tts.providers | Перелічити налаштованих провайдерів і статус. |
Посилання на сервіси
- Посібник OpenAI з перетворення тексту на мовлення
- Довідник OpenAI Audio API
- Azure Speech REST для перетворення тексту на мовлення
- Провайдер Azure Speech
- ElevenLabs Text to Speech
- Автентифікація ElevenLabs
- Gradium
- Inworld TTS API
- MiniMax T2A v2 API
- Volcengine TTS HTTP API
- Синтез мовлення Xiaomi MiMo
- node-edge-tts
- Формати виводу Microsoft Speech
- xAI перетворення тексту на мовлення