OpenClaw може перетворювати вихідні відповіді на аудіо через 14 постачальників мовлення і надсилати нативні голосові повідомлення у Feishu, Matrix, Telegram і WhatsApp, аудіовкладення всюди деінде, а також потоки PCM/Ulaw для телефонії та Talk. TTS — це половина виведення мовлення в режиміDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
stt-tts Talk. Нативні для постачальника
realtime сеанси Talk синтезують мовлення всередині постачальника realtime замість
виклику цього шляху TTS, тоді як сеанси transcription не синтезують
голосову відповідь асистента.
Швидкий старт
Pick a provider
OpenAI та ElevenLabs — найнадійніші розміщені варіанти. Microsoft і
локальний CLI працюють без ключа API. Повний список дивіться у матриці постачальників.
Set the API key
Експортуйте змінну середовища для вашого постачальника (наприклад
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Microsoft і локальний CLI не потребують ключа.Auto-TTS за замовчуванням вимкнено. Коли
messages.tts.provider не задано,
OpenClaw вибирає першого налаштованого постачальника в порядку автоматичного вибору реєстру.
Вбудований агентський інструмент tts працює лише за явним наміром: звичайний чат залишається
текстовим, якщо користувач не попросить аудіо, не використає /tts або не ввімкне мовлення
Auto-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 API Gemini; враховує персону через promptTemplate: "audio-profile-v1". |
| Gradium | GRADIUM_API_KEY | Вихід голосових нотаток і телефонії. |
| Inworld | INWORLD_API_KEY | Потоковий TTS API. Нативні голосові нотатки Opus і телефонія PCM. |
| Локальний CLI | немає | Запускає налаштовану локальну команду TTS. |
| Microsoft | немає | Публічний нейронний TTS Edge через node-edge-tts. Найкраще зусилля, без 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 | Також використовується для автоматичного підсумку; підтримує персону instructions. |
| OpenRouter | OPENROUTER_API_KEY (може повторно використовувати models.providers.openrouter.apiKey) | Модель за замовчуванням hexgrad/kokoro-82m. |
| Volcengine | VOLCENGINE_TTS_API_KEY або BYTEPLUS_SEED_SPEECH_API_KEY (застарілі AppID/токен: VOLCENGINE_TTS_APPID/_TOKEN) | HTTP API BytePlus Seed Speech. |
| 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. Виберіть
preset і адаптуйте блок постачальника:
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- Local CLI
- Microsoft (no key)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
Перевизначення голосу для окремого агента
Використовуйтеagents.list[].tts, коли один агент має говорити з іншим постачальником,
голосом, моделлю, персоною або режимом Auto-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, а канал або обліковий запис бота змінює лише голос, модель, персону або автоматичний режим:
Персони
Персона — це стабільна мовлена ідентичність, яку можна детерміновано застосовувати між провайдерами. Вона може надавати перевагу одному провайдеру, визначати провайдерно-нейтральний намір промпта та містити прив’язки для конкретних провайдерів: голоси, моделі, шаблони промптів, зерна та налаштування голосу.Мінімальна персона
Повна персона (провайдерно-нейтральний промпт)
Розв’язання персони
Активна персона вибирається детерміновано:- локальне налаштування
/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 або запит handoff. Відкриття голосової сесії не повинно змінювати messages.tts або глобальні стандартні налаштування провайдера Talk.
Директиви, керовані моделлю
За замовчуванням асистент може надсилати директиви[[tts:...]], щоб перевизначити голос, модель або швидкість для однієї відповіді, а також необов’язковий блок [[tts:text]]...[[/tts:text]] для виразних підказок, які мають з’являтися лише в аудіо:
messages.tts.auto має значення "tagged", директиви обов’язкові, щоб запустити аудіо. Потокове доставлення блоків вилучає директиви з видимого тексту до того, як канал їх побачить, навіть якщо вони розділені між сусідніми блоками.
provider=... ігнорується, якщо не задано modelOverrides.allowProvider: true. Коли відповідь оголошує provider=..., інші ключі в цій директиві обробляються лише цим провайдером; непідтримувані ключі вилучаються і повідомляються як попередження директив TTS.
Доступні ключі директив:
provider(ідентифікатор зареєстрованого провайдера; потребуєallowProvider: true)voice/voiceName/voice_name/google_voice/voiceIdmodel/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записує перевизначення auto-TTS, обмежене сесією, для поточного чату./tts persona <id>записує локальне налаштування персони;/tts persona offочищує його./tts latestчитає останню відповідь асистента з поточного транскрипта сесії та один раз надсилає її як аудіо. Він зберігає лише хеш цієї відповіді в записі сесії, щоб пригнічувати дублікати голосових надсилань./tts audioгенерує одноразову аудіовідповідь (це не вмикає TTS).limitіsummaryзберігаються в локальних налаштуваннях, а не в основній конфігурації./tts statusмістить діагностику fallback для останньої спроби —Fallback: <primary> -> <used>,Attempts: ...і деталі для кожної спроби (provider:outcome(reasonCode) latency)./statusпоказує активний режим TTS, а також налаштовані провайдер, модель, голос і очищені метадані користувацького endpoint, коли 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 каналів оголошують, чи має voice-style 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 завершується помилкою замість публікації несумісного payload PTT. - Інші канали: 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, а телефонний вивід конвертується в сирий 16 кГц mono PCM за допомогоюffmpeg. - Google Gemini: Gemini API TTS повертає сирий 24 кГц PCM. 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, якщо відповідь уже містить медіа або директиву
MEDIA:. - Пропускає дуже короткі відповіді (менше 10 символів).
- Підсумовує довгі відповіді, коли підсумки ввімкнені, використовуючи
summaryModel(абоagents.defaults.model.primary). - Додає згенероване аудіо до відповіді.
- У
mode: "final"все одно надсилає audio-only TTS для потокових фінальних відповідей після завершення текстового потоку; згенероване медіа проходить ту саму нормалізацію медіа каналу, що й звичайні вкладення відповіді.
maxLength і підсумок вимкнено (або немає API key для
моделі підсумку), аудіо пропускається, а надсилається звичайна текстова відповідь.
Формати виводу за каналом
| Ціль | Формат |
|---|---|
| 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 завершується помилкою замість публікації несумісного payload PTT. - MiniMax / Xiaomi MiMo: MP3 за замовчуванням (32 кГц для MiniMax
speech-2.8-hd); перекодовується у 48 кГц Opus для цілей голосових нотаток черезffmpeg. - Локальний CLI: Використовує налаштований
outputFormat. Цілі голосових нотаток конвертуються в Ogg/Opus, а телефонний вивід — у сирий 16 кГц mono PCM. - Google Gemini: Повертає сирий 24 кГц PCM. OpenClaw обгортає як WAV для вкладень, перекодовує у 48 кГц Opus для цілей голосових нотаток, повертає PCM напряму для Talk/телефонії.
- Inworld: MP3-вкладення, нативна голосова нотатка
OGG_OPUS, сирийPCM22050 Гц для Talk/телефонії. - xAI: MP3 за замовчуванням;
responseFormatможе бутиmp3|wav|pcm|mulaw|alaw. Використовує batch REST endpoint xAI — streaming WebSocket TTS не використовується. Нативний формат голосових нотаток Opus не підтримується. - Microsoft: Використовує
microsoft.outputFormat(за замовчуваннямaudio-24khz-48kbitrate-mono-mp3). TelegramsendVoiceприймає OGG/MP3/M4A; використовуйте OpenAI/ElevenLabs, якщо вам потрібні гарантовані голосові повідомлення Opus. Якщо налаштований формат Microsoft не спрацьовує, OpenClaw повторює спробу з MP3.
Довідник полів
Top-level messages.tts.*
Top-level messages.tts.*
Режим Auto-TTS.
inbound надсилає аудіо лише після вхідного голосового повідомлення; tagged надсилає аудіо лише тоді, коли відповідь містить директиви [[tts:...]] або блок [[tts:text]].Застарілий перемикач.
openclaw doctor --fix переносить це в auto."all" включає відповіді tool/block на додачу до фінальних відповідей.Ідентифікатор мовленнєвого провайдера. Якщо не задано, OpenClaw використовує першого налаштованого провайдера в порядку автоматичного вибору registry. Застаріле
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 prefs (провайдер/ліміт/підсумок). За замовчуванням
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
Env:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY або SPEECH_KEY.Регіон Azure Speech (наприклад,
eastus). Env: AZURE_SPEECH_REGION або SPEECH_REGION.Необов’язкове перевизначення endpoint Azure Speech (псевдонім
baseUrl).ShortName голосу Azure. За замовчуванням
en-US-JennyNeural.Код мови 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.
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 ElevenLabs API.
Google Gemini
Google Gemini
Повертається до
GEMINI_API_KEY / GOOGLE_API_KEY. Якщо пропущено, TTS може повторно використати models.providers.google.apiKey перед fallback до env.Модель Gemini TTS. За замовчуванням
gemini-3.1-flash-tts-preview.Назва готового голосу Gemini. За замовчуванням
Kore. Псевдонім: voice.Підказка стилю природною мовою, додана перед вимовленим текстом.
Необов’язкова мітка мовця, додана перед вимовленим текстом, коли ваша підказка використовує іменованого мовця.
Установіть
audio-profile-v1, щоб обгорнути активні поля підказки персони в детерміновану структуру підказки Gemini TTS.Додатковий текст підказки персони, специфічний для Google, доданий до Director’s Notes шаблону.
Приймається лише
https://generativelanguage.googleapis.com.Gradium
Gradium
Inworld
Inworld
Основний Inworld
Env:
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.Температура семплювання
0..2.Local CLI (tts-local-cli)
Local CLI (tts-local-cli)
Локальний виконуваний файл або рядок команди для CLI TTS.
Аргументи команди. Підтримує заповнювачі
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.Очікуваний формат виводу CLI. Типове значення
mp3 для аудіовкладень.Час очікування команди в мілісекундах. Типове значення
120000.Необов’язковий робочий каталог команди.
Необов’язкові перевизначення середовища для команди.
Microsoft (no API key)
Microsoft (no API key)
Дозволити використання мовлення Microsoft.
Назва нейронного голосу Microsoft (наприклад,
en-US-MichelleNeural).Код мови (наприклад,
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. Env: MINIMAX_API_HOST.Типове значення
speech-2.8-hd. Env: MINIMAX_TTS_MODEL.Типове значення
English_expressive_narrator. Env: MINIMAX_TTS_VOICE_ID.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).Явне поле 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
Env:
OPENROUTER_API_KEY. Може повторно використовувати models.providers.openrouter.apiKey.Типове значення
https://openrouter.ai/api/v1. Застаріле https://openrouter.ai/v1 нормалізується.Типове значення
hexgrad/kokoro-82m. Псевдонім: modelId.Типове значення
af_alloy. Псевдонім: voiceId.Типове значення
mp3.Нативне для провайдера перевизначення швидкості.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
Env:
VOLCENGINE_TTS_API_KEY або BYTEPLUS_SEED_SPEECH_API_KEY.Типове значення
seed-tts-1.0. Env: VOLCENGINE_TTS_RESOURCE_ID. Використовуйте seed-tts-2.0, якщо ваш проєкт має право на TTS 2.0.Заголовок ключа застосунку. Типове значення
aGjiRDfUWi. Env: VOLCENGINE_TTS_APP_KEY.Перевизначає HTTP-кінцеву точку Seed Speech TTS. Env:
VOLCENGINE_TTS_BASE_URL.Тип голосу. Типове значення
en_female_anna_mars_bigtts. Env: VOLCENGINE_TTS_VOICE.Нативний для провайдера коефіцієнт швидкості.
Нативний для провайдера тег емоції.
Застарілі поля Volcengine Speech Console. Env:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (типове значення volcano_tts).xAI
xAI
Env:
XAI_API_KEY.Типове значення
https://api.x.ai/v1. Env: XAI_BASE_URL.Типове значення
eve. Живі голоси: ara, eve, leo, rex, sal, una.Код мови BCP-47 або
auto. Типове значення en.Типове значення
mp3.Нативне для провайдера перевизначення швидкості.
Xiaomi MiMo
Xiaomi MiMo
Env:
XIAOMI_API_KEY.Типове значення
https://api.xiaomimimo.com/v1. Env: XIAOMI_BASE_URL.Типове значення
mimo-v2.5-tts. Env: XIAOMI_TTS_MODEL. Також підтримує mimo-v2-tts.Типове значення
mimo_default. Env: XIAOMI_TTS_VOICE.Типове значення
mp3. Env: XIAOMI_TTS_FORMAT.Необов’язкова інструкція стилю природною мовою, що надсилається як повідомлення користувача; не озвучується.
Інструмент агента
Інструментtts перетворює текст на мовлення та повертає аудіовкладення для
доставки відповіді. У Feishu, Matrix, Telegram і WhatsApp аудіо
доставляється як голосове повідомлення, а не як файлове вкладення. Feishu і
WhatsApp можуть перекодувати вивід TTS не у форматі Opus на цьому шляху, коли ffmpeg
доступний.
WhatsApp надсилає аудіо через Baileys як голосову нотатку PTT (audio з
ptt: true) і надсилає видимий текст окремо від PTT-аудіо, оскільки
клієнти не завжди стабільно відображають підписи до голосових нотаток.
Інструмент приймає необов’язкові поля channel і timeoutMs; timeoutMs — це
час очікування запиту до провайдера для кожного виклику в мілісекундах.
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
- Автентифікація ElevenLabs
- Gradium
- Inworld TTS API
- MiniMax T2A v2 API
- Volcengine TTS HTTP API
- Синтез мовлення Xiaomi MiMo
- node-edge-tts
- Формати виводу Microsoft Speech
- Перетворення тексту на мовлення xAI