stt-tts (talk.speak використовує
той самий шлях синтезу). Нативні для постачальника сеанси Talk realtime синтезують
мовлення всередині постачальника реального часу; сеанси transcription ніколи
не синтезують голосову відповідь асистента.
Швидкий початок
1
Виберіть постачальника
OpenAI та ElevenLabs — найнадійніші хостингові варіанти. Microsoft і
локальний CLI працюють без ключа API. Повний список наведено в матриці постачальників.
2
Установіть ключ API
Експортуйте змінну середовища для свого постачальника (наприклад,
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Для Microsoft і локального CLI ключ не потрібен.3
Увімкніть у конфігурації
Установіть
messages.tts.auto: "always" та messages.tts.provider:4
Спробуйте в чаті
/tts status показує поточний стан. /tts audio Hello from OpenClaw
надсилає одноразову аудіовідповідь.Автоматичний TTS за замовчуванням вимкнено. Якщо
messages.tts.provider не задано,
OpenClaw вибирає першого налаштованого постачальника відповідно до порядку автоматичного вибору в реєстрі.
Вбудований інструмент агента tts використовується лише за явним наміром: звичайний чат залишається
текстовим, якщо користувач не попросить аудіо, не використає /tts або не ввімкне автоматичний TTS чи
мовлення за директивою.Підтримувані постачальники
Якщо налаштовано кількох постачальників, спочатку використовується вибраний, а
решта слугують резервними варіантами. Автоматичне підсумовування використовує
summaryModel (або
agents.defaults.model.primary), тому для цього постачальника також потрібно налаштувати автентифікацію,
якщо підсумовування залишається ввімкненим.
Конфігурація
Конфігурація TTS міститься вmessages.tts у файлі ~/.openclaw/openclaw.json. Виберіть
готовий набір і адаптуйте блок постачальника. Показані нижче поля speakerVoice/speakerVoiceId
є канонічними; власні назви полів voice/voiceId/
voiceName кожного постачальника досі працюють як застарілі псевдоніми.
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- Локальний CLI
- Microsoft (без ключа)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
mimo-v2.5-tts-voicedesign не вказуйте speakerVoice і задайте для style
підказку для проєктування голосу. OpenClaw надсилає цю підказку як повідомлення 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, тоді як канал або обліковий запис бота змінює лише голос мовця, модель, персону
або автоматичний режим:
Персони
Персона — це стабільна голосова ідентичність, яку можна детерміновано застосовувати до різних провайдерів. Вона може надавати перевагу одному провайдеру, визначати незалежний від провайдера задум підказки та містити прив’язки до конкретних провайдерів для голосів, моделей, шаблонів підказок, початкових значень і налаштувань голосу.Мінімальна персона
Повна персона (незалежна від провайдера підказка)
Визначення персони
Активна персона вибирається детерміновано:- Локальне налаштування
/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 керує поведінкою, коли персона не має прив’язки для
провайдера, що випробовується:
Увесь запит TTS завершується невдало, лише коли кожного випробуваного провайдера пропущено
або кожна спроба завершилася невдало.
Вибір провайдера сеансу Talk діє в межах сеансу. Клієнт Talk має вибирати
ідентифікатори провайдерів, моделей, голосів і локалі з
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
Команди зі скісною рискою
Єдина команда/tts. У Discord OpenClaw також реєструє /voice, оскільки
/tts є вбудованою командою Discord — текстова команда /tts ... усе ще працює.
Команди потребують авторизованого відправника (застосовуються правила списку дозволених користувачів/власника), а також має бути ввімкнено
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)./tts limit <chars>приймає значення 100–4096 (4096 — максимальна довжина підпису/повідомлення Telegram); значення поза цим діапазоном відхиляються.limitіsummaryзберігаються в локальних налаштуваннях, а не в основній конфігурації./tts statusмістить діагностику резервних переходів для останньої спроби —Fallback: <primary> -> <used>,Attempts: ...і відомості про кожну спробу (provider:outcome(reasonCode) latency)./statusпоказує активний режим TTS, а також налаштовані провайдер, модель, голос і очищені метадані власної кінцевої точки, коли TTS увімкнено.
Налаштування окремих користувачів
Команди зі скісною рискою записують локальні перевизначення доprefsPath. Типовим значенням є
~/.openclaw/settings/tts.json; перевизначте його за допомогою змінної середовища OPENCLAW_TTS_PREFS
або messages.tts.prefsPath.
Вони перевизначають чинну конфігурацію з
messages.tts разом з активним
блоком agents.list[].tts для цього хоста.
Формати виведення
Передавання голосового TTS визначається можливостями каналу. Плагіни каналів повідомляють, чи має голосовий TTS запитувати в провайдерів нативний цільовий форматvoice-note або
зберігати звичайний синтез audio-file, а також чи перекодовує канал
ненативний результат перед надсиланням.
Примітки щодо провайдерів:
- Перекодування Feishu / WhatsApp: коли відповідь у вигляді голосового повідомлення надходить як MP3/WebM/WAV/M4A або інший імовірний аудіофайл, плагін каналу перед надсиланням нативного голосового повідомлення перекодовує його в Ogg/Opus із частотою 48 кГц за допомогою
ffmpeg(libopus, 64 кбіт/с). WhatsApp надсилає результат через корисне навантаження Baileysaudioзptt: trueіaudio/ogg; codecs=opus. У разі помилки перекодування Feishu перехоплює помилку й надсилає вихідний файл як звичайне вкладення; WhatsApp не має резервного варіанта, тому саме надсилання завершується помилкою замість публікації несумісного корисного навантаження PTT. - MiniMax: MP3 (модель
speech-2.8-hd, частота дискретизації 32 кГц) для звичайних аудіовкладень; перекодування в Opus із частотою 48 кГц за допомогоюffmpegдля цільових форматів голосових повідомлень, оголошених каналом. - Xiaomi MiMo: MP3 за замовчуванням або WAV, якщо це налаштовано; перекодування в Opus із частотою 48 кГц за допомогою
ffmpegдля цільових форматів голосових повідомлень, оголошених каналом. - Локальний CLI: використовує налаштований
outputFormat. Цільові формати голосових повідомлень перетворюються на Ogg/Opus, а вихідні дані для телефонії — на необроблений монофонічний PCM із частотою 16 кГц за допомогоюffmpeg. - Google Gemini: повертає необроблений PCM із частотою 24 кГц. OpenClaw обгортає його у WAV для аудіовкладень, перекодовує в Opus із частотою 48 кГц для цільових форматів голосових повідомлень і повертає PCM безпосередньо для Talk/телефонії.
- Gradium: WAV для аудіовкладень, Opus для цільових форматів голосових повідомлень і
ulaw_8000із частотою 8 кГц для телефонії. - Inworld: MP3 для звичайних аудіовкладень, нативний
OGG_OPUSдля цільових форматів голосових повідомлень і необробленийPCMіз частотою 22050 Гц для Talk/телефонії. - xAI: MP3 за замовчуванням; для синтезу аудіофайлів можна використовувати
mp3,wav,pcm,mulawабоalawяк для буферизованого, так і для потокового виведення. Для цільових форматів голосових повідомлень використовується MP3 під час потокового виведення та як резервний варіант буферизованого виведення, оскільки результатиpcm,mulawіalawвід xAI є необробленим аудіо без заголовків. Буферизований синтез використовує пакетну REST-кінцеву точку xAI/v1/tts;textToSpeechStreamвикористовує нативнийwss://api.x.ai/v1/tts. Це не контракт голосового зв’язку в реальному часі. Нативний формат голосових повідомлень 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.
- Якщо явне перевизначення голосу не задано й використовується стандартний англійський голос, OpenClaw автоматично перемикається на китайський нейронний голос (
zh-CN-XiaoxiaoNeural, локальzh-CN), якщо в тексті відповіді переважають символи CJK.
- Вбудований транспорт приймає
Поведінка автоматичного TTS
Колиmessages.tts.auto увімкнено, OpenClaw:
- Пропускає TTS, якщо відповідь уже містить структуровані медіадані.
- Пропускає дуже короткі відповіді (менше ніж 10 символів).
- Підсумовує довгі відповіді, коли підсумовування ввімкнено, використовуючи
summaryModel(абоagents.defaults.model.primary). - Додає згенероване аудіо до відповіді.
- У
mode: "final"усе одно надсилає лише аудіо TTS для фінальних потокових відповідей після завершення текстового потоку; згенеровані медіадані проходять ту саму нормалізацію медіаданих каналу, що й звичайні вкладення відповіді.
maxLength, OpenClaw ніколи не пропускає аудіо повністю:
- Підсумовування ввімкнено (за замовчуванням) і модель підсумовування доступна: підсумовує
текст приблизно до
maxLengthсимволів, а потім синтезує підсумок. - Підсумовування вимкнено, підсумовування завершується помилкою або для
моделі підсумовування немає ключа API: скорочує текст до
maxLengthсимволів і синтезує скорочений текст.
Довідник полів
Верхньорівневі messages.tts.*
Верхньорівневі messages.tts.*
"off" | "always" | "inbound" | "tagged"
Режим автоматичного TTS.
inbound надсилає аудіо лише після вхідного голосового повідомлення; tagged надсилає аудіо лише тоді, коли відповідь містить директиви [[tts:...]] або блок [[tts:text]].boolean
застаріло
Застарілий перемикач.
openclaw doctor --fix переносить його до auto."final" | "all"
за замовчуванням:"final"
"all" включає відповіді інструментів/блоків на додачу до фінальних відповідей.string
Ідентифікатор провайдера мовлення. Якщо його не задано, OpenClaw використовує першого налаштованого провайдера відповідно до порядку автоматичного вибору в реєстрі. Застарілий
provider: "edge" замінюється на "microsoft" за допомогою openclaw doctor --fix.string
Ідентифікатор активної персони з
personas. Нормалізується до нижнього регістру.object
Стабільна голосова ідентичність. Поля:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Див. Персони.string
Недорога модель для автоматичного підсумовування; за замовчуванням
agents.defaults.model.primary. Приймає provider/model або налаштований псевдонім моделі.object
Дозволяє моделі створювати директиви TTS. Значення
enabled за замовчуванням — true; значення allowProvider за замовчуванням — false.object
Налаштування, якими керує провайдер і які індексуються за ідентифікатором провайдера мовлення. Застарілі безпосередні блоки (
messages.tts.openai, .elevenlabs, .microsoft, .edge) переписуються за допомогою openclaw doctor --fix; зберігайте лише messages.tts.providers.<id>.number
за замовчуванням:"4096"
Жорстке обмеження кількості символів у вхідних даних TTS.
/tts audio, tts.convert і tts.speak завершуються помилкою в разі перевищення.number
за замовчуванням:"30000"
Час очікування запиту в мілісекундах. Значення
timeoutMs для окремого виклику (інструмент агента, Gateway) має пріоритет, якщо його задано; інакше явно налаштоване messages.tts.timeoutMs має пріоритет над будь-яким стандартним значенням провайдера, заданим плагіном.string
Перевизначає локальний шлях до JSON налаштувань (провайдер/обмеження/підсумовування). За замовчуванням
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
string
Змінна середовища:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY або SPEECH_KEY.string
Регіон Azure Speech (наприклад,
eastus). Змінна середовища: AZURE_SPEECH_REGION або SPEECH_REGION.string
Необов’язкове перевизначення кінцевої точки Azure Speech (псевдонім
baseUrl).string
ShortName голосу Azure. За замовчуванням
en-US-JennyNeural. Застарілий псевдонім: voice.string
Код мови SSML. За замовчуванням
en-US.string
Azure
X-Microsoft-OutputFormat для стандартного аудіо. За замовчуванням audio-24khz-48kbitrate-mono-mp3.string
Azure
X-Microsoft-OutputFormat для виведення голосових повідомлень. За замовчуванням ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
string
Як резерв використовує
ELEVENLABS_API_KEY або XI_API_KEY.string
Ідентифікатор моделі. За замовчуванням
eleven_multilingual_v2. Застарілі ідентифікатори eleven_turbo_v2_5/eleven_turbo_v2 нормалізуються до відповідної моделі flash.string
Ідентифікатор голосу ElevenLabs. За замовчуванням
pMsXgVXv3BLzUgSXRplE. Застарілий псевдонім: voiceId.object
stability, similarityBoost, style (кожне 0..1, стандартні значення 0.5/0.75/0), useSpeakerBoost (true|false, стандартне значення true), speed (0.5..2.0, стандартне значення 1.0)."auto" | "on" | "off"
Режим нормалізації тексту.
string
Дволітерний код ISO 639-1 (наприклад,
en, de).number
Ціле число
0..4294967295 для детермінованості за принципом докладання максимальних зусиль.string
Перевизначає базову URL-адресу API ElevenLabs.
Google Gemini
Google Gemini
string
Якщо значення не задано, використовуються
GEMINI_API_KEY / GOOGLE_API_KEY. Якщо параметр пропущено, TTS може повторно використати models.providers.google.apiKey перед використанням змінної середовища.string
Модель Gemini TTS. Типове значення —
gemini-3.1-flash-tts-preview.string
Назва готового голосу Gemini. Типове значення —
Kore. Застарілі псевдоніми: voiceName, voice.string
Опис стилю природною мовою, який додається перед озвучуваним текстом.
string
Необов’язкова позначка мовця, яка додається перед озвучуваним текстом, якщо у запиті використовується іменований мовець.
"audio-profile-v1"
Установіть значення
audio-profile-v1, щоб обгорнути активні поля запиту персони в детерміновану структуру запиту Gemini TTS.string
Додатковий текст запиту персони для Google, який додається до режисерських приміток шаблону.
string
Приймається лише
https://generativelanguage.googleapis.com.Gradium
Gradium
Inworld
Inworld
Основний Inworld
string
Змінна середовища:
INWORLD_API_KEY.string
Типове значення —
https://api.inworld.ai.string
Типове значення —
inworld-tts-1.5-max. Також: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.string
Типове значення —
Sarah. Застарілий псевдонім: voiceId.number
Температура вибірки
0..2 (за винятком 0).Локальний CLI (tts-local-cli)
Локальний CLI (tts-local-cli)
string
Локальний виконуваний файл або рядок команди для TTS через CLI.
string[]
Аргументи команди. Підтримує заповнювачі
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}."mp3" | "opus" | "wav"
Очікуваний формат виведення CLI. Типове значення для аудіовкладень —
mp3.number
Час очікування команди в мілісекундах. Типове значення —
120000.string
Необов’язковий робочий каталог команди.
Record<string, string>
Необов’язкові перевизначення змінних середовища для команди.
Microsoft (без ключа API)
Microsoft (без ключа API)
boolean
за замовчуванням:"true"
Дозволити використання синтезу мовлення Microsoft.
string
Назва нейронного голосу Microsoft (наприклад,
en-US-MichelleNeural). Застарілий псевдонім: voice. Якщо використовується типовий англійський голос, а в тексті відповіді переважають символи CJK, OpenClaw автоматично перемикається на zh-CN-XiaoxiaoNeural.string
Код мови (наприклад,
en-US).string
Формат виведення Microsoft. Типове значення —
audio-24khz-48kbitrate-mono-mp3. Вбудований транспорт на основі Edge підтримує не всі формати.string
Рядки з відсотковими значеннями (наприклад,
+10%, -5%).boolean
Записувати субтитри JSON поруч з аудіофайлом.
string
URL-адреса проксі для запитів синтезу мовлення Microsoft.
number
Перевизначення часу очікування запиту (мс).
object
застаріло
Застарілий псевдонім. Запустіть
openclaw doctor --fix, щоб переписати збережену конфігурацію на providers.microsoft.MiniMax
MiniMax
string
Якщо значення не задано, використовується
MINIMAX_API_KEY. Автентифікація Token Plan через MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY або MINIMAX_CODING_API_KEY.string
Типове значення —
https://api.minimax.io. Змінна середовища: MINIMAX_API_HOST.string
Типове значення —
speech-2.8-hd. Змінна середовища: MINIMAX_TTS_MODEL.string
Типове значення —
English_expressive_narrator. Змінна середовища: MINIMAX_TTS_VOICE_ID. Застарілий псевдонім: voiceId.number
0.5..2.0. Типове значення — 1.0.number
(0, 10]. Типове значення — 1.0.number
Ціле число
-12..12. Типове значення — 0. Дробові значення перед запитом відкидаються.OpenAI
OpenAI
string
Якщо значення не задано, використовується
OPENAI_API_KEY.string
Ідентифікатор моделі OpenAI TTS. Типове значення —
gpt-4o-mini-tts.string
Назва голосу (наприклад,
alloy, cedar). Типове значення — coral. Застарілий псевдонім: voice.string
Явне поле OpenAI
instructions. Якщо його задано, поля запиту персони не зіставляються автоматично.Record<string, unknown>
Додаткові поля JSON, які об’єднуються з тілами запитів
/audio/speech після згенерованих полів OpenAI TTS. Використовуйте це для сумісних з OpenAI кінцевих точок, як-от Kokoro, що потребують специфічних для постачальника ключів на кшталт lang; небезпечні ключі прототипів ігноруються.string
Перевизначає кінцеву точку OpenAI TTS. Порядок визначення: конфігурація →
OPENAI_TTS_BASE_URL → https://api.openai.com/v1. Нетипові значення розглядаються як сумісні з OpenAI кінцеві точки TTS, тому приймаються власні назви моделей і голосів, а для speed вимикається перевірка діапазону 0.25..4.0.OpenRouter
OpenRouter
string
Змінна середовища:
OPENROUTER_API_KEY. Може повторно використовувати models.providers.openrouter.apiKey.string
Типове значення —
https://openrouter.ai/api/v1. Застаріле значення https://openrouter.ai/v1 нормалізується.string
Типове значення —
hexgrad/kokoro-82m. Псевдонім: modelId.string
Типове значення —
af_alloy. Застарілі псевдоніми: voice, voiceId."mp3" | "pcm"
Типове значення —
mp3.number
Власне перевизначення швидкості постачальника.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
string
Змінна середовища:
VOLCENGINE_TTS_API_KEY або BYTEPLUS_SEED_SPEECH_API_KEY.string
Типове значення —
seed-tts-1.0. Змінна середовища: VOLCENGINE_TTS_RESOURCE_ID. Використовуйте seed-tts-2.0, якщо ваш проєкт має право на TTS 2.0.string
Заголовок ключа застосунку. Типове значення —
aGjiRDfUWi. Змінна середовища: VOLCENGINE_TTS_APP_KEY.string
Перевизначає кінцеву точку HTTP для Seed Speech TTS. Змінна середовища:
VOLCENGINE_TTS_BASE_URL.string
Тип голосу. Типове значення —
en_female_anna_mars_bigtts. Змінна середовища: VOLCENGINE_TTS_VOICE. Застарілий псевдонім: voice.number
Власний коефіцієнт швидкості постачальника,
0.2..3.string
Власна позначка емоції постачальника.
string
застаріло
Застарілі поля Volcengine Speech Console. Змінні середовища:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (типове значення — volcano_tts).xAI
xAI
string
Змінна середовища:
XAI_API_KEY.string
Типове значення —
https://api.x.ai/v1. Змінна середовища: XAI_BASE_URL.string
Типове значення —
eve. За наявності автентифікації openclaw infer tts voices --provider xai отримує поточний вбудований каталог; без автентифікації виводить автономні резервні варіанти ara, eve, leo, rex і sal. Власні ідентифікатори голосів облікового запису передаються далі, навіть якщо їх немає у вбудованому списку. Застарілий псевдонім: voiceId.string
Код мови BCP-47 або
auto. Типове значення — en."mp3" | "wav" | "pcm" | "mulaw" | "alaw"
Типове значення —
mp3.number
Власне перевизначення швидкості постачальника,
0.7..1.5.Xiaomi MiMo
Xiaomi MiMo
string
Змінна середовища:
XIAOMI_API_KEY.string
Типове значення —
https://api.xiaomimimo.com/v1. Змінна середовища: XIAOMI_BASE_URL.string
Типове значення —
mimo-v2.5-tts. Змінна середовища: XIAOMI_TTS_MODEL. Також підтримує mimo-v2-tts і mimo-v2.5-tts-voicedesign.string
Типове значення для моделей із попередньо заданими голосами —
mimo_default. Змінна середовища: XIAOMI_TTS_VOICE. Застарілий псевдонім: voice. Не надсилається для mimo-v2.5-tts-voicedesign."mp3" | "wav"
Типове значення —
mp3. Змінна середовища: XIAOMI_TTS_FORMAT.string
Необов’язкова інструкція щодо стилю природною мовою, яка надсилається як повідомлення користувача, але не озвучується. Для
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 перевизначають будь-яке типове значення
постачальника, задане плагіном.
RPC Gateway
Посилання на сервіси
- Посібник OpenAI із синтезу мовлення з тексту
- Довідник OpenAI Audio API
- Синтез мовлення з тексту через Azure Speech REST
- Постачальник Azure Speech
- Синтез мовлення з тексту ElevenLabs
- Автентифікація ElevenLabs
- Gradium
- API TTS Inworld
- API MiniMax T2A v2
- HTTP API TTS Volcengine
- Синтез мовлення Xiaomi MiMo
- node-edge-tts
- Формати виведення Microsoft Speech
- Синтез мовлення з тексту xAI