chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-25 08:53:24 +00:00
parent 777f0e1b8f
commit bcc4ba3ccf
2 changed files with 220 additions and 149 deletions

View File

@ -1,35 +1,34 @@
---
read_when:
- Ви хочете використовувати моделі Xiaomi MiMo в OpenClaw
- Ви хочете моделі Xiaomi MiMo в OpenClaw
- Вам потрібно налаштувати `XIAOMI_API_KEY`
summary: Використання моделей Xiaomi MiMo з OpenClaw
summary: Використовуйте моделі Xiaomi MiMo з OpenClaw
title: Xiaomi MiMo
x-i18n:
generated_at: "2026-04-23T23:06:06Z"
generated_at: "2026-04-25T08:51:56Z"
model: gpt-5.4
provider: openai
source_hash: ae61547fa5864f0cd3e19465a8a7d6ff843f9534ab9c2dd39a86a3593cafaa8d
source_hash: 7781973c3a1d14101cdb0a8d1affe3fd076a968552ed2a8630a91a8947daeb3a
source_path: providers/xiaomi.md
workflow: 15
---
Xiaomi MiMo — це API-платформа для моделей **MiMo**. OpenClaw використовує endpoint Xiaomi,
сумісний з OpenAI, з автентифікацією через API key.
Xiaomi MiMo — це API-платформа для моделей **MiMo**. OpenClaw використовує сумісний з OpenAI endpoint Xiaomi з автентифікацією за API-ключем.
| Властивість | Значення |
| ----------- | ------------------------------- |
| Провайдер | `xiaomi` |
| Auth | `XIAOMI_API_KEY` |
| API | Сумісний з OpenAI |
| Base URL | `https://api.xiaomimimo.com/v1` |
| Властивість | Значення |
| ----------- | ------------------------------ |
| Постачальник | `xiaomi` |
| Автентифікація | `XIAOMI_API_KEY` |
| API | Сумісне з OpenAI |
| Базова URL-адреса | `https://api.xiaomimimo.com/v1` |
## Початок роботи
<Steps>
<Step title="Отримайте API key">
Створіть API key у [консолі Xiaomi MiMo](https://platform.xiaomimimo.com/#/console/api-keys).
<Step title="Отримайте API-ключ">
Створіть API-ключ у [консолі Xiaomi MiMo](https://platform.xiaomimimo.com/#/console/api-keys).
</Step>
<Step title="Запустіть onboarding">
<Step title="Запустіть онбординг">
```bash
openclaw onboard --auth-choice xiaomi-api-key
```
@ -48,19 +47,53 @@ Xiaomi MiMo — це API-платформа для моделей **MiMo**. Open
</Step>
</Steps>
## Вбудований catalog
## Вбудований каталог
| Посилання на модель | Вхід | Контекст | Макс. вивід | Reasoning | Примітки |
| ---------------------- | ----------- | --------- | ----------- | --------- | -------------- |
| `xiaomi/mimo-v2-flash` | text | 262,144 | 8,192 | Ні | Типова модель |
| `xiaomi/mimo-v2-pro` | text | 1,048,576 | 32,000 | Так | Великий контекст |
| `xiaomi/mimo-v2-omni` | text, image | 262,144 | 32,000 | Так | Мультимодальна |
| Посилання на модель | Вхідні дані | Контекст | Макс. вивід | Міркування | Примітки |
| ----------------------- | ----------- | --------- | ----------- | ---------- | ------------- |
| `xiaomi/mimo-v2-flash` | текст | 262,144 | 8,192 | Ні | Модель за замовчуванням |
| `xiaomi/mimo-v2-pro` | текст | 1,048,576 | 32,000 | Так | Великий контекст |
| `xiaomi/mimo-v2-omni` | текст, зображення | 262,144 | 32,000 | Так | Мультимодальна |
<Tip>
Типове посилання на модель — `xiaomi/mimo-v2-flash`. Провайдер автоматично додається, коли задано `XIAOMI_API_KEY` або існує auth profile.
Посилання на модель за замовчуванням — `xiaomi/mimo-v2-flash`. Постачальник додається автоматично, коли встановлено `XIAOMI_API_KEY` або існує профіль автентифікації.
</Tip>
## Приклад config
## Text-to-speech
У комплектний plugin `xiaomi` також входить реєстрація Xiaomi MiMo як постачальника мовлення для `messages.tts`. Він викликає TTS-контракт chat-completions Xiaomi з текстом як повідомленням `assistant` і необов’язковими вказівками щодо стилю як повідомленням `user`.
| Властивість | Значення |
| ----------- | -------------------------------------- |
| Ідентифікатор TTS | `xiaomi` (`mimo` alias) |
| Автентифікація | `XIAOMI_API_KEY` |
| API | `POST /v1/chat/completions` з `audio` |
| За замовчуванням | `mimo-v2.5-tts`, голос `mimo_default` |
| Вивід | MP3 за замовчуванням; WAV, якщо налаштовано |
```json5
{
messages: {
tts: {
auto: "always",
provider: "xiaomi",
providers: {
xiaomi: {
apiKey: "xiaomi_api_key",
model: "mimo-v2.5-tts",
voice: "mimo_default",
format: "mp3",
style: "Bright, natural, conversational tone.",
},
},
},
},
}
```
Серед підтримуваних вбудованих голосів: `mimo_default`, `default_zh`, `default_en`, `Mia`, `Chloe`, `Milo` і `Dean`. `mimo-v2-tts` підтримується для старіших облікових записів MiMo TTS; за замовчуванням використовується поточна модель MiMo-V2.5 TTS. Для цілей голосових повідомлень, таких як Feishu і Telegram, OpenClaw перекодовує вивід Xiaomi у 48 кГц Opus за допомогою `ffmpeg` перед доставкою.
## Приклад конфігурації
```json5
{
@ -109,27 +142,27 @@ Xiaomi MiMo — це API-платформа для моделей **MiMo**. Open
```
<AccordionGroup>
<Accordion title="Поведінка автоін’єкції">
Провайдер `xiaomi` автоматично додається, коли `XIAOMI_API_KEY` задано у вашому середовищі або існує auth profile. Вам не потрібно вручну налаштовувати провайдера, якщо тільки ви не хочете перевизначити метадані моделі або base URL.
<Accordion title="Поведінка автоматичного додавання">
Постачальник `xiaomi` додається автоматично, коли `XIAOMI_API_KEY` встановлено у вашому середовищі або існує профіль автентифікації. Вам не потрібно вручну налаштовувати постачальника, якщо тільки ви не хочете перевизначити метадані моделі або базову URL-адресу.
</Accordion>
<Accordion title="Докладніше про моделі">
- **mimo-v2-flash** — легка й швидка, ідеальна для загальних текстових завдань. Підтримка reasoning відсутня.
- **mimo-v2-pro** — підтримує reasoning з контекстним вікном на 1M токенів для роботи з довгими документами.
- **mimo-v2-omni** — мультимодальна модель із підтримкою reasoning, яка приймає і текст, і зображення.
<Accordion title="Відомості про моделі">
- **mimo-v2-flash** — легка й швидка модель, ідеальна для текстових завдань загального призначення. Підтримка міркування відсутня.
- **mimo-v2-pro** — підтримує міркування з контекстним вікном на 1M токенів для навантажень із довгими документами.
- **mimo-v2-omni** — мультимодальна модель із підтримкою міркування, яка приймає як текстові, так і графічні вхідні дані.
<Note>
Усі моделі використовують префікс `xiaomi/` (наприклад `xiaomi/mimo-v2-pro`).
Усі моделі використовують префікс `xiaomi/` (наприклад, `xiaomi/mimo-v2-pro`).
</Note>
</Accordion>
<Accordion title="Усунення проблем">
- Якщо моделі не з’являються, переконайтеся, що `XIAOMI_API_KEY` задано й він валідний.
- Коли Gateway працює як daemon, переконайтеся, що ключ доступний цьому процесу (наприклад у `~/.openclaw/.env` або через `env.shellEnv`).
<Accordion title="Усунення несправностей">
- Якщо моделі не з’являються, переконайтеся, що `XIAOMI_API_KEY` встановлено й він дійсний.
- Коли Gateway працює як демон, переконайтеся, що ключ доступний для цього процесу (наприклад, у `~/.openclaw/.env` або через `env.shellEnv`).
<Warning>
Ключі, задані лише в інтерактивному shell, не видимі процесам gateway, якими керує daemon. Для постійної доступності використовуйте `~/.openclaw/.env` або config `env.shellEnv`.
Ключі, встановлені лише у вашій інтерактивній оболонці, не видимі для процесів Gateway, якими керує демон. Для постійної доступності використовуйте `~/.openclaw/.env` або конфігурацію `env.shellEnv`.
</Warning>
</Accordion>
@ -139,12 +172,12 @@ Xiaomi MiMo — це API-платформа для моделей **MiMo**. Open
<CardGroup cols={2}>
<Card title="Вибір моделі" href="/uk/concepts/model-providers" icon="layers">
Вибір провайдерів, посилань на моделі та поведінки failover.
Вибір постачальників, посилань на моделі та поведінки резервного перемикання.
</Card>
<Card title="Довідник конфігурації" href="/uk/gateway/configuration-reference" icon="gear">
Повний довідник конфігурації OpenClaw.
</Card>
<Card title="Консоль Xiaomi MiMo" href="https://platform.xiaomimimo.com" icon="arrow-up-right-from-square">
Панель Xiaomi MiMo і керування API key.
Панель керування Xiaomi MiMo та керування API-ключами.
</Card>
</CardGroup>

View File

@ -6,44 +6,45 @@ read_when:
summary: Перетворення тексту на мовлення (TTS) для вихідних відповідей
title: Перетворення тексту на мовлення
x-i18n:
generated_at: "2026-04-25T08:32:13Z"
generated_at: "2026-04-25T08:51:54Z"
model: gpt-5.4
provider: openai
source_hash: b63be2c606754b3ed334c394fb2ea8da3698ca8bfcbe8c136a5b710cb9c52768
source_hash: 14a2d014850395add532faef86659acae7fd6a8a5757f9dd7dac606c0780d278
source_path: tools/tts.md
workflow: 15
---
OpenClaw може перетворювати вихідні відповіді на аудіо за допомогою ElevenLabs, Google Gemini, Gradium, Microsoft, MiniMax, OpenAI, Vydra або xAI.
OpenClaw може перетворювати вихідні відповіді на аудіо за допомогою ElevenLabs, Google Gemini, Gradium, Microsoft, MiniMax, OpenAI, Vydra, xAI або Xiaomi MiMo.
Це працює всюди, де OpenClaw може надсилати аудіо.
## Підтримувані сервіси
- **ElevenLabs** (основний або резервний постачальник)
- **Google Gemini** (основний або резервний постачальник; використовує Gemini API TTS)
- **Gradium** (основний або резервний постачальник; підтримує вихід у форматі голосових повідомлень і телефонії)
- **Gradium** (основний або резервний постачальник; підтримує вихід voice-note і telephony)
- **Microsoft** (основний або резервний постачальник; поточна вбудована реалізація використовує `node-edge-tts`)
- **MiniMax** (основний або резервний постачальник; використовує API T2A v2)
- **OpenAI** (основний або резервний постачальник; також використовується для зведень)
- **OpenAI** (основний або резервний постачальник; також використовується для підсумків)
- **Vydra** (основний або резервний постачальник; спільний постачальник зображень, відео та мовлення)
- **xAI** (основний або резервний постачальник; використовує xAI TTS API)
- **Xiaomi MiMo** (основний або резервний постачальник; використовує MiMo TTS через chat completions Xiaomi)
### Примітки щодо мовлення Microsoft
Поточний вбудований постачальник мовлення Microsoft використовує онлайн-службу
Поточний вбудований постачальник мовлення Microsoft використовує онлайн-сервіс
нейронного TTS Microsoft Edge через бібліотеку `node-edge-tts`. Це хостинговий сервіс (не
локальний), він використовує кінцеві точки Microsoft і не потребує API-ключа.
`node-edge-tts` надає параметри конфігурації мовлення та формати виводу, але
сервіс підтримує не всі параметри. Старі конфігурації та вхідні директиви
з `edge` усе ще працюють і нормалізуються до `microsoft`.
`node-edge-tts` надає параметри конфігурації мовлення та вихідні формати, але
сервіс підтримує не всі параметри. Застаріла конфігурація та вхідні директиви
з використанням `edge` усе ще працюють і нормалізуються до `microsoft`.
Оскільки цей шлях використовує публічний вебсервіс без опублікованої SLA або квоти,
ставтеся до нього як до best-effort. Якщо вам потрібні гарантовані ліміти й підтримка, використовуйте OpenAI
Оскільки цей шлях використовує загальнодоступний вебсервіс без опублікованих SLA або квот,
вважайте його best-effort. Якщо вам потрібні гарантовані ліміти та підтримка, використовуйте OpenAI
або ElevenLabs.
## Необов’язкові ключі
Якщо ви хочете використовувати OpenAI, ElevenLabs, Google Gemini, Gradium, MiniMax, Vydra або xAI:
Якщо ви хочете використовувати OpenAI, ElevenLabs, Google Gemini, Gradium, MiniMax, Vydra, xAI або Xiaomi MiMo:
- `ELEVENLABS_API_KEY` (або `XI_API_KEY`)
- `GEMINI_API_KEY` (або `GOOGLE_API_KEY`)
@ -52,23 +53,25 @@ OpenClaw може перетворювати вихідні відповіді
- `OPENAI_API_KEY`
- `VYDRA_API_KEY`
- `XAI_API_KEY`
- `XIAOMI_API_KEY`
Для мовлення Microsoft API-ключ **не** потрібен.
Мовлення Microsoft **не** потребує API-ключа.
Якщо налаштовано кілька постачальників, спочатку використовується вибраний постачальник, а решта слугують резервними варіантами.
Автозведення використовує налаштовану `summaryModel` (або `agents.defaults.model.primary`),
тому, якщо ви вмикаєте зведення, цей постачальник також має бути автентифікований.
Автоматичний підсумок використовує налаштований `summaryModel` (або `agents.defaults.model.primary`),
тому якщо ви вмикаєте підсумки, цей постачальник також має бути автентифікований.
## Посилання на сервіси
- [Посібник OpenAI Text-to-Speech](https://platform.openai.com/docs/guides/text-to-speech)
- [Довідник API OpenAI Audio](https://platform.openai.com/docs/api-reference/audio)
- [Довідник OpenAI Audio API](https://platform.openai.com/docs/api-reference/audio)
- [ElevenLabs Text to Speech](https://elevenlabs.io/docs/api-reference/text-to-speech)
- [Автентифікація ElevenLabs](https://elevenlabs.io/docs/api-reference/authentication)
- [Gradium](/uk/providers/gradium)
- [API MiniMax T2A v2](https://platform.minimaxi.com/document/T2A%20V2)
- [Синтез мовлення Xiaomi MiMo](/uk/providers/xiaomi#text-to-speech)
- [node-edge-tts](https://github.com/SchneeHertz/node-edge-tts)
- [Формати виводу Microsoft Speech](https://learn.microsoft.com/azure/ai-services/speech-service/rest-text-to-speech#audio-outputs)
- [Вихідні формати Microsoft Speech](https://learn.microsoft.com/azure/ai-services/speech-service/rest-text-to-speech#audio-outputs)
- [xAI Text to Speech](https://docs.x.ai/developers/rest-api-reference/inference/voice#text-to-speech-rest)
## Чи ввімкнено це за замовчуванням?
@ -76,13 +79,13 @@ OpenClaw може перетворювати вихідні відповіді
Ні. Автоматичний TTS **вимкнено** за замовчуванням. Увімкніть його в конфігурації через
`messages.tts.auto` або локально через `/tts on`.
Якщо `messages.tts.provider` не задано, OpenClaw вибирає першого налаштованого
постачальника мовлення в порядку авто-вибору реєстру.
Коли `messages.tts.provider` не задано, OpenClaw вибирає першого налаштованого
постачальника мовлення в порядку автоматичного вибору реєстру.
## Конфігурація
Конфігурація TTS розміщена в `messages.tts` у `openclaw.json`.
Повна схема наведена в [Конфігурації Gateway](/uk/gateway/configuration).
Конфігурація TTS розміщується в `messages.tts` у `openclaw.json`.
Повна схема наведена в [Конфігурація Gateway](/uk/gateway/configuration).
### Мінімальна конфігурація (увімкнення + постачальник)
@ -97,7 +100,7 @@ OpenClaw може перетворювати вихідні відповіді
}
```
### OpenAI як основний, ElevenLabs як резервний
### OpenAI як основний з ElevenLabs як резервним
```json5
{
@ -205,8 +208,8 @@ OpenClaw може перетворювати вихідні відповіді
}
```
Google Gemini TTS використовує шлях API-ключа Gemini. Ключ API Google Cloud Console,
обмежений Gemini API, тут є дійсним, і це той самий тип ключа, який використовується
Google Gemini TTS використовує шлях API-ключа Gemini. Тут дійсний API-ключ Google Cloud Console,
обмежений Gemini API, і це той самий тип ключа, який використовується
вбудованим постачальником генерації зображень Google. Порядок визначення:
`messages.tts.providers.google.apiKey` -> `models.providers.google.apiKey` ->
`GEMINI_API_KEY` -> `GOOGLE_API_KEY`.
@ -236,7 +239,35 @@ Google Gemini TTS використовує шлях API-ключа Gemini. Кл
xAI TTS використовує той самий шлях `XAI_API_KEY`, що й вбудований постачальник моделей Grok.
Порядок визначення: `messages.tts.providers.xai.apiKey` -> `XAI_API_KEY`.
Поточні доступні голоси: `ara`, `eve`, `leo`, `rex`, `sal` і `una`; `eve`
голос за замовчуванням. `language` приймає тег BCP-47 або `auto`.
значення за замовчуванням. `language` приймає тег BCP-47 або `auto`.
### Xiaomi MiMo як основний
```json5
{
messages: {
tts: {
auto: "always",
provider: "xiaomi",
providers: {
xiaomi: {
apiKey: "xiaomi_api_key",
baseUrl: "https://api.xiaomimimo.com/v1",
model: "mimo-v2.5-tts",
voice: "mimo_default",
format: "mp3",
style: "Bright, natural, conversational tone.",
},
},
},
},
}
```
Xiaomi MiMo TTS використовує той самий шлях `XIAOMI_API_KEY`, що й вбудований постачальник моделей Xiaomi.
Ідентифікатор постачальника мовлення — `xiaomi`; `mimo` також приймається як псевдонім.
Цільовий текст надсилається як повідомлення асистента відповідно до контракту TTS Xiaomi.
Необов’язковий `style` надсилається як інструкція користувача і не озвучується.
### OpenRouter як основний
@ -327,7 +358,7 @@ OpenRouter TTS використовує той самий шлях `OPENROUTER_A
}
```
### Вимкнення автозведення для довгих відповідей
### Вимкнення автоматичного підсумку для довгих відповідей
```json5
{
@ -350,46 +381,46 @@ OpenRouter TTS використовує той самий шлях `OPENROUTER_A
- `auto`: режим автоматичного TTS (`off`, `always`, `inbound`, `tagged`).
- `inbound` надсилає аудіо лише після вхідного голосового повідомлення.
- `tagged` надсилає аудіо лише тоді, коли відповідь містить директиви `[[tts:key=value]]` або блок `[[tts:text]]...[[/tts:text]]`.
- `enabled`: застарілий перемикач (doctor переносить його до `auto`).
- `enabled`: застарілий перемикач (doctor мігрує його до `auto`).
- `mode`: `"final"` (за замовчуванням) або `"all"` (включає відповіді інструментів/блоків).
- `provider`: ідентифікатор постачальника мовлення, наприклад `"elevenlabs"`, `"google"`, `"gradium"`, `"microsoft"`, `"minimax"`, `"openai"`, `"vydra"` або `"xai"` (резервне перемикання відбувається автоматично).
- Якщо `provider` **не задано**, OpenClaw використовує першого налаштованого постачальника мовлення в порядку авто-вибору реєстру.
- Застарілу конфігурацію `provider: "edge"` виправляє `openclaw doctor --fix`, переписуючи її на
`provider: "microsoft"`.
- `summaryModel`: необов’язкова недорога модель для автозведення; за замовчуванням використовується `agents.defaults.model.primary`.
- `provider`: ідентифікатор постачальника мовлення, наприклад `"elevenlabs"`, `"google"`, `"gradium"`, `"microsoft"`, `"minimax"`, `"openai"`, `"vydra"`, `"xai"` або `"xiaomi"` (резервне перемикання відбувається автоматично).
- Якщо `provider` **не задано**, OpenClaw використовує першого налаштованого постачальника мовлення в порядку автоматичного вибору реєстру.
- Застаріла конфігурація `provider: "edge"` виправляється командою `openclaw doctor --fix` і
переписується на `provider: "microsoft"`.
- `summaryModel`: необов’язкова недорога модель для автоматичного підсумку; за замовчуванням використовується `agents.defaults.model.primary`.
- Приймає `provider/model` або псевдонім налаштованої моделі.
- `modelOverrides`: дозволяє моделі видавати директиви TTS (увімкнено за замовчуванням).
- `modelOverrides`: дозволяє моделі виводити директиви TTS (увімкнено за замовчуванням).
- `allowProvider` за замовчуванням має значення `false` (перемикання постачальника вмикається явно).
- `providers.<id>`: параметри, що належать постачальнику, з ключем за ідентифікатором постачальника мовлення.
- Застарілі прямі блоки постачальників (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) виправляються через `openclaw doctor --fix`; у збереженій конфігурації слід використовувати `messages.tts.providers.<id>`.
- Застарілий `messages.tts.providers.edge` також виправляється через `openclaw doctor --fix`; у збереженій конфігурації слід використовувати `messages.tts.providers.microsoft`.
- `maxTextLength`: жорстке обмеження для вхідного тексту TTS (символи). Якщо його перевищено, `/tts audio` завершується з помилкою.
- `providers.<id>`: налаштування, що належать постачальнику, із ключем за ідентифікатором постачальника мовлення.
- Застарілі прямі блоки постачальників (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) виправляються командою `openclaw doctor --fix`; у збереженій конфігурації слід використовувати `messages.tts.providers.<id>`.
- Застарілий `messages.tts.providers.edge` також виправляється командою `openclaw doctor --fix`; у збереженій конфігурації слід використовувати `messages.tts.providers.microsoft`.
- `maxTextLength`: жорстке обмеження для вхідного тексту TTS (символи). `/tts audio` завершується помилкою, якщо ліміт перевищено.
- `timeoutMs`: тайм-аут запиту (мс).
- `prefsPath`: перевизначає локальний шлях до JSON-файлу налаштувань (постачальник/ліміт/зведення).
- Значення `apiKey` можуть братися зі змінних середовища (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `GEMINI_API_KEY`/`GOOGLE_API_KEY`, `GRADIUM_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`, `VYDRA_API_KEY`, `XAI_API_KEY`).
- `prefsPath`: перевизначає локальний шлях до JSON-файлу prefs (постачальник/ліміт/підсумок).
- Значення `apiKey` беруться з env vars (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `GEMINI_API_KEY`/`GOOGLE_API_KEY`, `GRADIUM_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`, `VYDRA_API_KEY`, `XAI_API_KEY`, `XIAOMI_API_KEY`), якщо не задані явно.
- `providers.elevenlabs.baseUrl`: перевизначає базовий URL API ElevenLabs.
- `providers.openai.baseUrl`: перевизначає кінцеву точку OpenAI TTS.
- Порядок визначення: `messages.tts.providers.openai.baseUrl` -> `OPENAI_TTS_BASE_URL` -> `https://api.openai.com/v1`
- Значення, відмінні від стандартного, розглядаються як OpenAI-сумісні кінцеві точки TTS, тому допускаються власні назви моделей і голосів.
- Значення, відмінні від типових, розглядаються як OpenAI-сумісні кінцеві точки TTS, тому допускаються власні назви моделей і голосів.
- `providers.elevenlabs.voiceSettings`:
- `stability`, `similarityBoost`, `style`: `0..1`
- `useSpeakerBoost`: `true|false`
- `speed`: `0.5..2.0` (1.0 = звичайна швидкість)
- `speed`: `0.5..2.0` (1.0 = нормально)
- `providers.elevenlabs.applyTextNormalization`: `auto|on|off`
- `providers.elevenlabs.languageCode`: дволітерний ISO 639-1 (наприклад, `en`, `de`)
- `providers.elevenlabs.seed`: ціле число `0..4294967295` (best-effort детермінізм)
- `providers.elevenlabs.languageCode`: 2-літерний ISO 639-1 (наприклад, `en`, `de`)
- `providers.elevenlabs.seed`: ціле число `0..4294967295` (best-effort determinism)
- `providers.minimax.baseUrl`: перевизначає базовий URL API MiniMax (за замовчуванням `https://api.minimax.io`, env: `MINIMAX_API_HOST`).
- `providers.minimax.model`: модель TTS (за замовчуванням `speech-2.8-hd`, env: `MINIMAX_TTS_MODEL`).
- `providers.minimax.voiceId`: ідентифікатор голосу (за замовчуванням `English_expressive_narrator`, env: `MINIMAX_TTS_VOICE_ID`).
- `providers.minimax.speed`: швидкість відтворення `0.5..2.0` (за замовчуванням 1.0).
- `providers.minimax.vol`: гучність `(0, 10]` (за замовчуванням 1.0; має бути більшою за 0).
- `providers.minimax.pitch`: ціле зміщення тону `-12..12` (за замовчуванням 0). Дробові значення обрізаються перед викликом MiniMax T2A, оскільки API відхиляє нецілі значення тону.
- `providers.minimax.pitch`: цілочисельне зміщення тону `-12..12` (за замовчуванням 0). Дробові значення відкидаються перед викликом MiniMax T2A, оскільки API не приймає нецілі значення тону.
- `providers.google.model`: модель Gemini TTS (за замовчуванням `gemini-3.1-flash-tts-preview`).
- `providers.google.voiceName`: назва вбудованого голосу Gemini (за замовчуванням `Kore`; також приймається `voice`).
- `providers.google.audioProfile`: підказка стилю природною мовою, що додається перед озвучуваним текстом.
- `providers.google.speakerName`: необов’язкова мітка мовця, яка додається перед озвучуваним текстом, коли ваш запит TTS використовує іменованого мовця.
- `providers.google.baseUrl`: перевизначає базовий URL Gemini API. Дозволено лише `https://generativelanguage.googleapis.com`.
- Якщо `messages.tts.providers.google.apiKey` пропущено, TTS може повторно використовувати `models.providers.google.apiKey` до переходу на резерв через env.
- `providers.google.audioProfile`: підказка зі стилем природною мовою, що додається перед озвучуваним текстом.
- `providers.google.speakerName`: необов’язкова мітка мовця, що додається перед озвучуваним текстом, коли ваш TTS prompt використовує іменованого мовця.
- `providers.google.baseUrl`: перевизначає базовий URL Gemini API. Приймається лише `https://generativelanguage.googleapis.com`.
- Якщо `messages.tts.providers.google.apiKey` пропущено, TTS може повторно використати `models.providers.google.apiKey` перед переходом до env.
- `providers.gradium.baseUrl`: перевизначає базовий URL API Gradium (за замовчуванням `https://api.gradium.ai`).
- `providers.gradium.voiceId`: ідентифікатор голосу Gradium (за замовчуванням Emma, `YTpq7expH9539ERJ`).
- `providers.xai.apiKey`: API-ключ xAI TTS (env: `XAI_API_KEY`).
@ -397,38 +428,44 @@ OpenRouter TTS використовує той самий шлях `OPENROUTER_A
- `providers.xai.voiceId`: ідентифікатор голосу xAI (за замовчуванням `eve`; поточні доступні голоси: `ara`, `eve`, `leo`, `rex`, `sal`, `una`).
- `providers.xai.language`: код мови BCP-47 або `auto` (за замовчуванням `en`).
- `providers.xai.responseFormat`: `mp3`, `wav`, `pcm`, `mulaw` або `alaw` (за замовчуванням `mp3`).
- `providers.xai.speed`: перевизначення швидкості, специфічне для постачальника.
- `providers.xai.speed`: перевизначення швидкості на рівні постачальника.
- `providers.xiaomi.apiKey`: API-ключ Xiaomi MiMo (env: `XIAOMI_API_KEY`).
- `providers.xiaomi.baseUrl`: перевизначає базовий URL API Xiaomi MiMo (за замовчуванням `https://api.xiaomimimo.com/v1`, env: `XIAOMI_BASE_URL`).
- `providers.xiaomi.model`: модель TTS (за замовчуванням `mimo-v2.5-tts`, env: `XIAOMI_TTS_MODEL`; також підтримується `mimo-v2-tts`).
- `providers.xiaomi.voice`: ідентифікатор голосу MiMo (за замовчуванням `mimo_default`, env: `XIAOMI_TTS_VOICE`).
- `providers.xiaomi.format`: `mp3` або `wav` (за замовчуванням `mp3`, env: `XIAOMI_TTS_FORMAT`).
- `providers.xiaomi.style`: необов’язкова інструкція щодо стилю природною мовою, яка надсилається як повідомлення користувача; вона не озвучується.
- `providers.openrouter.apiKey`: API-ключ OpenRouter (env: `OPENROUTER_API_KEY`; може повторно використовувати `models.providers.openrouter.apiKey`).
- `providers.openrouter.baseUrl`: перевизначає базовий URL OpenRouter TTS (за замовчуванням `https://openrouter.ai/api/v1`; застарілий `https://openrouter.ai/v1` нормалізується).
- `providers.openrouter.model`: ідентифікатор моделі OpenRouter TTS (за замовчуванням `hexgrad/kokoro-82m`; також приймається `modelId`).
- `providers.openrouter.voice`: ідентифікатор голосу, специфічний для постачальника (за замовчуванням `af_alloy`; також приймається `voiceId`).
- `providers.openrouter.responseFormat`: `mp3` або `pcm` (за замовчуванням `mp3`).
- `providers.openrouter.speed`: перевизначення швидкості, специфічне для постачальника.
- `providers.openrouter.speed`: перевизначення швидкості на рівні постачальника.
- `providers.microsoft.enabled`: дозволяє використання мовлення Microsoft (за замовчуванням `true`; без API-ключа).
- `providers.microsoft.voice`: назва нейронного голосу Microsoft (наприклад, `en-US-MichelleNeural`).
- `providers.microsoft.lang`: код мови (наприклад, `en-US`).
- `providers.microsoft.outputFormat`: формат виводу Microsoft (наприклад, `audio-24khz-48kbitrate-mono-mp3`).
- Дійсні значення див. у форматах виводу Microsoft Speech; не всі формати підтримуються вбудованим транспортом на базі Edge.
- `providers.microsoft.rate` / `providers.microsoft.pitch` / `providers.microsoft.volume`: рядки з відсотками (наприклад, `+10%`, `-5%`).
- `providers.microsoft.outputFormat`: вихідний формат Microsoft (наприклад, `audio-24khz-48kbitrate-mono-mp3`).
- Дійсні значення див. у Microsoft Speech output formats; не всі формати підтримуються вбудованим транспортом на базі Edge.
- `providers.microsoft.rate` / `providers.microsoft.pitch` / `providers.microsoft.volume`: рядки у відсотках (наприклад, `+10%`, `-5%`).
- `providers.microsoft.saveSubtitles`: записує JSON-субтитри поруч з аудіофайлом.
- `providers.microsoft.proxy`: URL проксі для запитів мовлення Microsoft.
- `providers.microsoft.proxy`: URL проксі для запитів до мовлення Microsoft.
- `providers.microsoft.timeoutMs`: перевизначення тайм-ауту запиту (мс).
- `edge.*`: застарілий псевдонім для тих самих параметрів Microsoft. Виконайте
- `edge.*`: застарілий псевдонім для тих самих налаштувань Microsoft. Виконайте
`openclaw doctor --fix`, щоб переписати збережену конфігурацію на `providers.microsoft`.
## Керовані моделлю перевизначення (увімкнено за замовчуванням)
## Перевизначення, керовані моделлю (увімкнено за замовчуванням)
За замовчуванням модель **може** видавати директиви TTS для однієї відповіді.
За замовчуванням модель **може** виводити директиви TTS для однієї відповіді.
Коли `messages.tts.auto` має значення `tagged`, ці директиви потрібні для запуску аудіо.
Коли це ввімкнено, модель може видавати директиви `[[tts:...]]` для перевизначення голосу
Коли цю функцію ввімкнено, модель може виводити директиви `[[tts:...]]` для перевизначення голосу
для однієї відповіді, а також необов’язковий блок `[[tts:text]]...[[/tts:text]]`, щоб
надати виразні теги (сміх, підказки для співу тощо), які мають з’являтися лише в
додати виразні теги (сміх, підказки для співу тощо), які мають з’являтися лише в
аудіо.
Директиви `provider=...` ігноруються, якщо не задано `modelOverrides.allowProvider: true`.
Директиви `provider=...` ігноруються, якщо `modelOverrides.allowProvider: true` не встановлено.
Приклад корисного навантаження відповіді:
Приклад payload відповіді:
```
Here you go.
@ -439,17 +476,17 @@ Here you go.
Доступні ключі директив (коли ввімкнено):
- `provider` (ідентифікатор зареєстрованого постачальника мовлення, наприклад `openai`, `elevenlabs`, `google`, `gradium`, `minimax`, `microsoft`, `vydra` або `xai`; потребує `allowProvider: true`)
- `voice` (голос OpenAI або Gradium), `voiceName` / `voice_name` / `google_voice` (голос Google) або `voiceId` (ElevenLabs / Gradium / MiniMax / xAI)
- `model` (модель OpenAI TTS, ідентифікатор моделі ElevenLabs або модель MiniMax) або `google_model` (модель Google TTS)
- `provider` (ідентифікатор зареєстрованого постачальника мовлення, наприклад `openai`, `elevenlabs`, `google`, `gradium`, `minimax`, `microsoft`, `vydra`, `xai` або `xiaomi`; потребує `allowProvider: true`)
- `voice` (голос OpenAI, Gradium або Xiaomi), `voiceName` / `voice_name` / `google_voice` (голос Google) або `voiceId` (ElevenLabs / Gradium / MiniMax / xAI)
- `model` (модель OpenAI TTS, ідентифікатор моделі ElevenLabs, модель MiniMax або модель Xiaomi MiMo TTS) або `google_model` (модель Google TTS)
- `stability`, `similarityBoost`, `style`, `speed`, `useSpeakerBoost`
- `vol` / `volume` (гучність MiniMax, 0-10)
- `pitch` (цілий тон MiniMax, від -12 до 12; дробові значення обрізаються перед запитом до MiniMax)
- `pitch` (цілочисельний тон MiniMax, від -12 до 12; дробові значення відкидаються перед запитом MiniMax)
- `applyTextNormalization` (`auto|on|off`)
- `languageCode` (ISO 639-1)
- `seed`
Вимкнення всіх перевизначень моделі:
Вимкнути всі перевизначення моделі:
```json5
{
@ -463,7 +500,7 @@ Here you go.
}
```
Необов’язковий список дозволів (увімкнення перемикання постачальника зі збереженням можливості налаштовувати інші параметри):
Необов’язковий allowlist (увімкнути перемикання постачальника, зберігши можливість налаштовувати інші параметри):
```json5
{
@ -479,79 +516,80 @@ Here you go.
}
```
## Налаштування для окремого користувача
## Налаштування для окремих користувачів
Команди зі слешем записують локальні перевизначення до `prefsPath` (за замовчуванням:
`~/.openclaw/settings/tts.json`, можна перевизначити через `OPENCLAW_TTS_PREFS` або
`messages.tts.prefsPath`).
Збережені поля:
Поля, що зберігаються:
- `enabled`
- `provider`
- `maxLength` (поріг зведення; за замовчуванням 1500 символів)
- `maxLength` (поріг підсумку; за замовчуванням 1500 символів)
- `summarize` (за замовчуванням `true`)
Вони перевизначають `messages.tts.*` для цього хоста.
## Формати виводу (фіксовані)
## Вихідні формати (фіксовані)
- **Feishu / Matrix / Telegram / WhatsApp**: відповіді голосовими повідомленнями віддають перевагу Opus (`opus_48000_64` від ElevenLabs, `opus` від OpenAI).
- **Feishu / Matrix / Telegram / WhatsApp**: для відповідей voice-note перевага надається Opus (`opus_48000_64` від ElevenLabs, `opus` від OpenAI).
- 48 кГц / 64 кбіт/с — хороший компроміс для голосових повідомлень.
- **Feishu**: коли відповідь голосовим повідомленням створюється як MP3/WAV/M4A або в іншому
імовірному форматі аудіофайлу, плагін Feishu перекодовує її в 48 кГц Ogg/Opus за допомогою
- **Feishu**: коли відповідь voice-note створюється як MP3/WAV/M4A або інший
імовірний аудіофайл, плагін Feishu перекодовує її в 48 кГц Ogg/Opus за допомогою
`ffmpeg` перед надсиланням нативної бульбашки `audio`. Якщо перетворення не вдається, Feishu
отримує оригінальний файл як вкладення.
- **Інші канали**: MP3 (`mp3_44100_128` від ElevenLabs, `mp3` від OpenAI).
- 44,1 кГц / 128 кбіт/с — стандартний баланс для чіткості мовлення.
- **MiniMax**: MP3 (модель `speech-2.8-hd`, частота дискретизації 32 кГц) для звичайних аудіовкладень. Для цілей голосових повідомлень, таких як Feishu і Telegram, OpenClaw перекодовує MP3 від MiniMax у 48 кГц Opus за допомогою `ffmpeg` перед доставкою.
- **Google Gemini**: Gemini API TTS повертає необроблений 24 кГц PCM. OpenClaw обгортає його у WAV для аудіовкладень і повертає PCM напряму для Talk/телефонії. Нативний формат голосових повідомлень Opus цим шляхом не підтримується.
- **Gradium**: WAV для аудіовкладень, Opus для цілей голосових повідомлень і `ulaw_8000` на 8 кГц для телефонії.
- **xAI**: MP3 за замовчуванням; `responseFormat` може бути `mp3`, `wav`, `pcm`, `mulaw` або `alaw`. OpenClaw використовує пакетну REST-кінцеву точку xAI TTS і повертає завершене аудіовкладення; потоковий TTS WebSocket xAI цим шляхом постачальника не використовується. Нативний формат голосових повідомлень Opus цим шляхом не підтримується.
- 44,1 кГц / 128 кбіт/с — типовий баланс для чіткості мовлення.
- **MiniMax**: MP3 (модель `speech-2.8-hd`, частота дискретизації 32 кГц) для звичайних аудіовкладень. Для цілей voice-note, таких як Feishu і Telegram, OpenClaw перекодовує MP3 від MiniMax у 48 кГц Opus за допомогою `ffmpeg` перед доставленням.
- **Xiaomi MiMo**: MP3 за замовчуванням або WAV, якщо налаштовано. Для цілей voice-note, таких як Feishu і Telegram, OpenClaw перекодовує вихід Xiaomi у 48 кГц Opus за допомогою `ffmpeg` перед доставленням.
- **Google Gemini**: Gemini API TTS повертає необроблений PCM 24 кГц. OpenClaw обгортає його у WAV для аудіовкладень і повертає PCM безпосередньо для Talk/telephony. Нативний формат voice-note Opus цим шляхом не підтримується.
- **Gradium**: WAV для аудіовкладень, Opus для цілей voice-note і `ulaw_8000` на 8 кГц для telephony.
- **xAI**: MP3 за замовчуванням; `responseFormat` може бути `mp3`, `wav`, `pcm`, `mulaw` або `alaw`. OpenClaw використовує пакетну REST-кінцеву точку TTS від xAI і повертає завершене аудіовкладення; потоковий TTS WebSocket від xAI не використовується цим шляхом постачальника. Нативний формат voice-note Opus цим шляхом не підтримується.
- **Microsoft**: використовує `microsoft.outputFormat` (за замовчуванням `audio-24khz-48kbitrate-mono-mp3`).
- Вбудований транспорт приймає `outputFormat`, але сервіс підтримує не всі формати.
- Значення формату виводу відповідають форматам виводу Microsoft Speech (включно з Ogg/WebM Opus).
- Значення вихідного формату відповідають Microsoft Speech output formats (включно з Ogg/WebM Opus).
- Telegram `sendVoice` приймає OGG/MP3/M4A; використовуйте OpenAI/ElevenLabs, якщо вам
потрібні гарантовані голосові повідомлення Opus.
- Якщо налаштований формат виводу Microsoft не спрацьовує, OpenClaw повторює спробу з MP3.
- Якщо налаштований вихідний формат Microsoft не спрацьовує, OpenClaw повторює спробу з MP3.
Формати виводу OpenAI/ElevenLabs фіксовані для кожного каналу (див. вище).
Вихідні формати OpenAI/ElevenLabs фіксовані для кожного каналу (див. вище).
## Поведінка автоматичного TTS
Коли цю функцію ввімкнено, OpenClaw:
Коли функцію ввімкнено, OpenClaw:
- пропускає TTS, якщо відповідь уже містить медіа або директиву `MEDIA:`.
- пропускає дуже короткі відповіді (< 10 символів).
- створює зведення для довгих відповідей, якщо це ввімкнено, за допомогою `agents.defaults.model.primary` (або `summaryModel`).
- підсумовує довгі відповіді, коли це ввімкнено, за допомогою `agents.defaults.model.primary` (або `summaryModel`).
- додає згенероване аудіо до відповіді.
Якщо відповідь перевищує `maxLength`, а зведення вимкнене (або немає API-ключа для
моделі зведення), аудіо
пропускається і надсилається звичайна текстова відповідь.
Якщо відповідь перевищує `maxLength`, а підсумок вимкнено (або немає API-ключа для
моделі підсумку), аудіо
пропускається, і надсилається звичайна текстова відповідь.
## Схема потоку
```
Reply -> TTS enabled?
no -> send text
yes -> has media / MEDIA: / short?
yes -> send text
no -> length > limit?
no -> TTS -> attach audio
yes -> summary enabled?
no -> send text
yes -> summarize (summaryModel or agents.defaults.model.primary)
-> TTS -> attach audio
Відповідь -> TTS увімкнено?
ні -> надіслати текст
так -> є медіа / MEDIA: / коротко?
так -> надіслати текст
ні -> довжина > ліміт?
ні -> TTS -> прикріпити аудіо
так -> підсумок увімкнено?
ні -> надіслати текст
так -> підсумувати (`summaryModel` або `agents.defaults.model.primary`)
-> TTS -> прикріпити аудіо
```
## Використання команд зі слешем
Є одна команда: `/tts`.
Докладніше про ввімкнення див. у [Командах зі слешем](/uk/tools/slash-commands).
Деталі ввімкнення див. у [Команди зі слешем](/uk/tools/slash-commands).
Примітка для Discord: `/tts` — це вбудована команда Discord, тому OpenClaw реєструє
там `/voice` як нативну команду. Текстовий формат `/tts ...` усе одно працює.
Примітка щодо Discord: `/tts` — це вбудована команда Discord, тому OpenClaw реєструє
там `/voice` як нативну команду. Текстова команда `/tts ...` усе одно працює.
```
/tts off
@ -565,28 +603,28 @@ Reply -> TTS enabled?
Примітки:
- Команди вимагають авторизованого відправника (правила allowlist/owner усе ще застосовуються).
- Команди потребують авторизованого відправника (правила allowlist/owner також застосовуються).
- Має бути ввімкнено `commands.text` або реєстрацію нативних команд.
- Конфігурація `messages.tts.auto` приймає `off|always|inbound|tagged`.
- `/tts on` записує локальну перевагу TTS як `always`; `/tts off` записує її як `off`.
- Використовуйте конфігурацію, якщо вам потрібні типові значення `inbound` або `tagged`.
- `limit` і `summary` зберігаються в локальних налаштуваннях, а не в основній конфігурації.
- `/tts on` записує локальне налаштування TTS як `always`; `/tts off` записує його як `off`.
- Використовуйте конфігурацію, якщо потрібні типові значення `inbound` або `tagged`.
- `limit` і `summary` зберігаються в локальних prefs, а не в основній конфігурації.
- `/tts audio` генерує одноразову аудіовідповідь (не вмикає TTS).
- `/tts status` містить інформацію про резервне перемикання для останньої спроби:
- `/tts status` містить видимість резервного перемикання для останньої спроби:
- успішне резервне перемикання: `Fallback: <primary> -> <used>` плюс `Attempts: ...`
- помилка: `Error: ...` плюс `Attempts: ...`
- докладна діагностика: `Attempt details: provider:outcome(reasonCode) latency`
- Збої API OpenAI та ElevenLabs тепер включають розібрані деталі помилки постачальника та ідентифікатор запиту (коли його повертає постачальник), що відображається в помилках/журналах TTS.
- детальна діагностика: `Attempt details: provider:outcome(reasonCode) latency`
- Збої API OpenAI і ElevenLabs тепер включають розібрані деталі помилки постачальника та request id (коли постачальник його повертає), які відображаються в помилках/журналах TTS.
## Інструмент агента
Інструмент `tts` перетворює текст на мовлення і повертає аудіовкладення для
доставки у відповіді. Коли канал — це Feishu, Matrix, Telegram або WhatsApp,
аудіо доставляється як голосове повідомлення, а не як вкладення файлу.
Feishu може перекодовувати не-Opus вивід TTS на цьому шляху, якщо доступний
Інструмент `tts` перетворює текст на мовлення та повертає аудіовкладення для
доставлення у відповіді. Коли каналом є Feishu, Matrix, Telegram або WhatsApp,
аудіо доставляється як голосове повідомлення, а не як файлове вкладення.
Feishu може перекодовувати не-Opus вихід TTS на цьому шляху, коли доступний
`ffmpeg`.
Він приймає необов’язкові поля `channel` і `timeoutMs`; `timeoutMs`
це тайм-аут запиту до постачальника для одного виклику в мілісекундах.
Він приймає необов’язкові поля `channel` і `timeoutMs`; `timeoutMs` це
тайм-аут запиту до постачальника для окремого виклику в мілісекундах.
## Gateway RPC