From 6c038d2f7ee14f2c7329331fdd4daeed2325b953 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Thu, 16 Apr 2026 06:27:21 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/providers/google.md | 178 +++++++++++++++++----------- docs/uk/tools/tts.md | 229 +++++++++++++++++++++--------------- 2 files changed, 243 insertions(+), 164 deletions(-) diff --git a/docs/uk/providers/google.md b/docs/uk/providers/google.md index 001cdab0e..87e4e475d 100644 --- a/docs/uk/providers/google.md +++ b/docs/uk/providers/google.md @@ -1,22 +1,22 @@ --- read_when: - Ви хочете використовувати моделі Google Gemini з OpenClaw - - Вам потрібен API key або потік автентифікації OAuth -summary: Налаштування Google Gemini (API key + OAuth, генерація зображень, розуміння медіа, вебпошук) + - Вам потрібен ключ API або потік автентифікації OAuth +summary: Налаштування Google Gemini (ключ API + OAuth, генерація зображень, розуміння медіа, TTS, вебпошук) title: Google (Gemini) x-i18n: - generated_at: "2026-04-12T10:03:22Z" + generated_at: "2026-04-16T06:26:12Z" model: gpt-5.4 provider: openai - source_hash: 64b848add89061b208a5d6b19d206c433cace5216a0ca4b63d56496aecbde452 + source_hash: ec2d62855f5e80efda758aad71bcaa95c38b1e41761fa1100d47a06c62881419 source_path: providers/google.md workflow: 15 --- # Google (Gemini) -Plugin Google надає доступ до моделей Gemini через Google AI Studio, а також -генерацію зображень, розуміння медіа (зображення/аудіо/відео) і вебпошук через +Плагін Google надає доступ до моделей Gemini через Google AI Studio, а також до +генерації зображень, розуміння медіа (зображення/аудіо/відео), перетворення тексту на мовлення та вебпошуку через Gemini Grounding. - Провайдер: `google` @@ -26,14 +26,14 @@ Gemini Grounding. ## Початок роботи -Виберіть бажаний спосіб автентифікації та виконайте кроки налаштування. +Оберіть бажаний спосіб автентифікації та виконайте кроки налаштування. - **Найкраще підходить для:** стандартного доступу до Gemini API через Google AI Studio. + **Найкраще для:** стандартного доступу до Gemini API через Google AI Studio. - + ```bash openclaw onboard --auth-choice gemini-api-key ``` @@ -47,7 +47,7 @@ Gemini Grounding. --gemini-api-key "$GEMINI_API_KEY" ``` - + ```json5 { agents: { @@ -58,7 +58,7 @@ Gemini Grounding. } ``` - + ```bash openclaw models list --provider google ``` @@ -66,21 +66,21 @@ Gemini Grounding. - Змінні середовища `GEMINI_API_KEY` і `GOOGLE_API_KEY` обидві підтримуються. Використовуйте ту, яка у вас уже налаштована. + Змінні середовища `GEMINI_API_KEY` і `GOOGLE_API_KEY` обидві підтримуються. Використовуйте ту, яку вже налаштовано у вас. - **Найкраще підходить для:** повторного використання наявного входу Gemini CLI через PKCE OAuth замість окремого API key. + **Найкраще для:** повторного використання наявного входу Gemini CLI через PKCE OAuth замість окремого ключа API. Провайдер `google-gemini-cli` є неофіційною інтеграцією. Деякі користувачі - повідомляють про обмеження акаунта при використанні OAuth у такий спосіб. Використовуйте на власний ризик. + повідомляють про обмеження облікового запису під час використання OAuth у такий спосіб. Використовуйте на власний ризик. - + Локальна команда `gemini` має бути доступною в `PATH`. ```bash @@ -92,14 +92,14 @@ Gemini Grounding. ``` OpenClaw підтримує як встановлення через Homebrew, так і глобальні встановлення npm, зокрема - типові Windows/npm-розкладки. + поширені схеми Windows/npm. - + ```bash openclaw models auth login --provider google-gemini-cli --set-default ``` - + ```bash openclaw models list --provider google-gemini-cli ``` @@ -107,7 +107,7 @@ Gemini Grounding. - Модель за замовчуванням: `google-gemini-cli/gemini-3-flash-preview` - - Аліас: `gemini-cli` + - Псевдонім: `gemini-cli` **Змінні середовища:** @@ -117,39 +117,41 @@ Gemini Grounding. (Або варіанти `GEMINI_CLI_*`.) - Якщо OAuth-запити Gemini CLI не вдаються після входу, установіть `GOOGLE_CLOUD_PROJECT` або + Якщо запити Gemini CLI OAuth не вдаються після входу, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості Gateway і повторіть спробу. - Якщо вхід не вдається до запуску потоку в браузері, переконайтеся, що локальна команда `gemini` - установлена й доступна в `PATH`. + Якщо вхід не вдається до початку потоку в браузері, переконайтеся, що локальну команду `gemini` + встановлено та додано до `PATH`. - Провайдер `google-gemini-cli`, що підтримує лише OAuth, є окремою - поверхнею текстового інференсу. Генерація зображень, розуміння медіа та Gemini Grounding залишаються на ідентифікаторі провайдера `google`. + Провайдер `google-gemini-cli`, який підтримує лише OAuth, є окремою + поверхнею текстового інференсу. Генерація зображень, розуміння медіа та Gemini Grounding залишаються на + ідентифікаторі провайдера `google`. ## Можливості -| Можливість | Підтримується | -| ----------------------- | ----------------- | -| Чат-комплішени | Так | -| Генерація зображень | Так | -| Генерація музики | Так | -| Розуміння зображень | Так | -| Транскрипція аудіо | Так | -| Розуміння відео | Так | -| Вебпошук (Grounding) | Так | -| Thinking/reasoning | Так (Gemini 3.1+) | -| Моделі Gemma 4 | Так | +| Можливість | Підтримка | +| ---------------------- | ------------------ | +| Завершення чату | Так | +| Генерація зображень | Так | +| Генерація музики | Так | +| Перетворення тексту на мовлення | Так | +| Розуміння зображень | Так | +| Транскрипція аудіо | Так | +| Розуміння відео | Так | +| Вебпошук (Grounding) | Так | +| Мислення/міркування | Так (Gemini 3.1+) | +| Моделі Gemma 4 | Так | -Моделі Gemma 4 (наприклад, `gemma-4-26b-a4b-it`) підтримують режим thinking. OpenClaw +Моделі Gemma 4 (наприклад, `gemma-4-26b-a4b-it`) підтримують режим мислення. OpenClaw перезаписує `thinkingBudget` у підтримуваний Google `thinkingLevel` для Gemma 4. -Установлення thinking у `off` зберігає вимкнений thinking замість зіставлення з +Встановлення мислення в `off` зберігає вимкнений стан мислення замість зіставлення з `MINIMAL`. @@ -163,7 +165,7 @@ Gemini Grounding. - Режим редагування: увімкнено, до 5 вхідних зображень - Керування геометрією: `size`, `aspectRatio` і `resolution` -Щоб використовувати Google як провайдер зображень за замовчуванням: +Щоб використовувати Google як провайдера зображень за замовчуванням: ```json5 { @@ -178,20 +180,20 @@ Gemini Grounding. ``` -Див. [Генерація зображень](/uk/tools/image-generation) щодо спільних параметрів інструмента, вибору провайдера та поведінки failover. +Див. [Генерація зображень](/uk/tools/image-generation), щоб дізнатися про спільні параметри інструмента, вибір провайдера та поведінку перемикання при збоях. ## Генерація відео -Вбудований Plugin `google` також реєструє генерацію відео через спільний +Вбудований плагін `google` також реєструє генерацію відео через спільний інструмент `video_generate`. - Модель відео за замовчуванням: `google/veo-3.1-fast-generate-preview` -- Режими: text-to-video, image-to-video і потоки з посиланням на одне відео +- Режими: text-to-video, image-to-video та потоки з одним опорним відео - Підтримує `aspectRatio`, `resolution` і `audio` - Поточне обмеження тривалості: **від 4 до 8 секунд** -Щоб використовувати Google як провайдер відео за замовчуванням: +Щоб використовувати Google як провайдера відео за замовчуванням: ```json5 { @@ -206,22 +208,22 @@ Gemini Grounding. ``` -Див. [Генерація відео](/uk/tools/video-generation) щодо спільних параметрів інструмента, вибору провайдера та поведінки failover. +Див. [Генерація відео](/uk/tools/video-generation), щоб дізнатися про спільні параметри інструмента, вибір провайдера та поведінку перемикання при збоях. ## Генерація музики -Вбудований Plugin `google` також реєструє генерацію музики через спільний +Вбудований плагін `google` також реєструє генерацію музики через спільний інструмент `music_generate`. - Модель музики за замовчуванням: `google/lyria-3-clip-preview` - Також підтримує `google/lyria-3-pro-preview` - Керування запитом: `lyrics` і `instrumental` - Формат виводу: `mp3` за замовчуванням, а також `wav` у `google/lyria-3-pro-preview` -- Вхідні дані-посилання: до 10 зображень -- Запуски з підтримкою сесій відокремлюються через спільний потік task/status, включно з `action: "status"` +- Опорні вхідні дані: до 10 зображень +- Запуски з підтримкою сесій відокремлюються через спільний потік задачі/статусу, зокрема `action: "status"` -Щоб використовувати Google як провайдер музики за замовчуванням: +Щоб використовувати Google як провайдера музики за замовчуванням: ```json5 { @@ -236,22 +238,66 @@ Gemini Grounding. ``` -Див. [Генерація музики](/uk/tools/music-generation) щодо спільних параметрів інструмента, вибору провайдера та поведінки failover. +Див. [Генерація музики](/uk/tools/music-generation), щоб дізнатися про спільні параметри інструмента, вибір провайдера та поведінку перемикання при збоях. + + +## Перетворення тексту на мовлення + +Вбудований мовленнєвий провайдер `google` використовує шлях Gemini API TTS з +`gemini-3.1-flash-tts-preview`. + +- Голос за замовчуванням: `Kore` +- Автентифікація: `messages.tts.providers.google.apiKey`, `models.providers.google.apiKey`, `GEMINI_API_KEY` або `GOOGLE_API_KEY` +- Вивід: WAV для звичайних TTS-вкладень, PCM для Talk/телефонії +- Нативний вивід голосових нотаток: не підтримується в цьому шляху Gemini API, оскільки API повертає PCM, а не Opus + +Щоб використовувати Google як TTS-провайдера за замовчуванням: + +```json5 +{ + messages: { + tts: { + auto: "always", + provider: "google", + providers: { + google: { + model: "gemini-3.1-flash-tts-preview", + voiceName: "Kore", + }, + }, + }, + }, +} +``` + +Gemini API TTS приймає виразні квадратні аудіотеги в тексті, наприклад +`[whispers]` або `[laughs]`. Щоб приховати теги з видимої відповіді в чаті, але +надсилати їх до TTS, помістіть їх у блок `[[tts:text]]...[[/tts:text]]`: + +```text +Ось чистий текст відповіді. + +[[tts:text]][whispers] Ось озвучена версія.[[/tts:text]] +``` + + +Ключ API Google Cloud Console, обмежений Gemini API, є дійсним для цього +провайдера. Це не окремий шлях Cloud Text-to-Speech API. ## Розширене налаштування - - Для прямих запусків Gemini API (`api: "google-generative-ai"`), OpenClaw - передає налаштований дескриптор `cachedContent` у запити до Gemini. + + Для прямих запусків Gemini API (`api: "google-generative-ai"`) OpenClaw + передає налаштований дескриптор `cachedContent` у запити Gemini. - - Налаштовуйте параметри для окремої моделі або глобальні параметри через - `cachedContent` або застарілий `cached_content` - - Якщо присутні обидва, перевага надається `cachedContent` + - Налаштовуйте параметри для окремої моделі або глобально за допомогою + `cachedContent` або застарілого `cached_content` + - Якщо присутні обидва, `cachedContent` має пріоритет - Приклад значення: `cachedContents/prebuilt-context` - - Використання Gemini cache-hit нормалізується в OpenClaw `cacheRead` із - висхідного `cachedContentTokenCount` + - Використання влучення кешу Gemini нормалізується в OpenClaw `cacheRead` з + вихідного `cachedContentTokenCount` ```json5 { @@ -271,19 +317,19 @@ Gemini Grounding. - - Під час використання OAuth-провайдера `google-gemini-cli`, OpenClaw нормалізує + + Під час використання OAuth-провайдера `google-gemini-cli` OpenClaw нормалізує JSON-вивід CLI таким чином: - Текст відповіді береться з поля CLI JSON `response`. - - Використання повертається до `stats`, коли CLI залишає `usage` порожнім. + - Використання повертається до `stats`, якщо CLI залишає `usage` порожнім. - `stats.cached` нормалізується в OpenClaw `cacheRead`. - - Якщо `stats.input` відсутній, OpenClaw обчислює вхідні токени з + - Якщо `stats.input` відсутній, OpenClaw виводить кількість вхідних токенів із `stats.input_tokens - stats.cached`. - + Якщо Gateway працює як демон (launchd/systemd), переконайтеся, що `GEMINI_API_KEY` доступний цьому процесу (наприклад, у `~/.openclaw/.env` або через `env.shellEnv`). @@ -293,16 +339,16 @@ Gemini Grounding. ## Пов’язане - - Вибір провайдерів, посилань на моделі та поведінки failover. + + Вибір провайдерів, посилань на моделі та поведінки перемикання при збоях. - + Спільні параметри інструмента зображень і вибір провайдера. - + Спільні параметри інструмента відео і вибір провайдера. - + Спільні параметри інструмента музики і вибір провайдера. diff --git a/docs/uk/tools/tts.md b/docs/uk/tools/tts.md index 9ff6a9578..d4637d9fd 100644 --- a/docs/uk/tools/tts.md +++ b/docs/uk/tools/tts.md @@ -1,80 +1,82 @@ --- read_when: - - Увімкнення синтезу мовлення для відповідей + - Увімкнення перетворення тексту на мовлення для відповідей - Налаштування провайдерів TTS або обмежень - - Використання команд /tts -summary: Синтез мовлення (TTS) для вихідних відповідей -title: Синтез мовлення + - Використання команд `/tts` +summary: Перетворення тексту на мовлення (TTS) для вихідних відповідей +title: Text-to-Speech x-i18n: - generated_at: "2026-04-12T22:42:43Z" + generated_at: "2026-04-16T06:26:13Z" model: gpt-5.4 provider: openai - source_hash: ad79a6be34879347dc73fdab1bd219823cd7c6aa8504e3e4c73e1a0554c837c5 + source_hash: de7c1dc8831c1ba307596afd48cb4d36f844724887a13b17e35f41ef5174a86f source_path: tools/tts.md workflow: 15 --- -# Синтез мовлення (TTS) +# Перетворення тексту на мовлення (TTS) -OpenClaw може перетворювати вихідні відповіді на аудіо за допомогою ElevenLabs, Microsoft, MiniMax або OpenAI. +OpenClaw може перетворювати вихідні відповіді на аудіо за допомогою ElevenLabs, Google Gemini, Microsoft, MiniMax або OpenAI. Це працює всюди, де OpenClaw може надсилати аудіо. ## Підтримувані сервіси - **ElevenLabs** (основний або резервний провайдер) +- **Google Gemini** (основний або резервний провайдер; використовує Gemini API TTS) - **Microsoft** (основний або резервний провайдер; поточна вбудована реалізація використовує `node-edge-tts`) - **MiniMax** (основний або резервний провайдер; використовує API T2A v2) -- **OpenAI** (основний або резервний провайдер; також використовується для зведень) +- **OpenAI** (основний або резервний провайдер; також використовується для підсумків) -### Примітки щодо Microsoft speech +### Примітки щодо мовлення Microsoft -Вбудований провайдер Microsoft speech наразі використовує онлайн-сервіс +Вбудований провайдер мовлення Microsoft наразі використовує онлайн-сервіс нейронного TTS Microsoft Edge через бібліотеку `node-edge-tts`. Це хостований сервіс (не локальний), він використовує кінцеві точки Microsoft і не потребує API-ключа. -`node-edge-tts` надає параметри налаштування мовлення та вихідні формати, але -сервіс підтримує не всі параметри. Застаріла конфігурація та вхідні дані директив -із `edge` усе ще працюють і нормалізуються до `microsoft`. +`node-edge-tts` надає параметри конфігурації мовлення та вихідні формати, але +не всі параметри підтримуються сервісом. Застаріла конфігурація та введення директив +із використанням `edge` усе ще працюють і нормалізуються до `microsoft`. Оскільки цей шлях використовує публічний вебсервіс без опублікованих SLA або квот, -вважайте його best-effort. Якщо вам потрібні гарантовані ліміти та підтримка, використовуйте OpenAI +вважайте його рішенням із найкращими можливими зусиллями. Якщо вам потрібні гарантовані ліміти та підтримка, використовуйте OpenAI або ElevenLabs. ## Необов’язкові ключі -Якщо ви хочете використовувати OpenAI, ElevenLabs або MiniMax: +Якщо ви хочете використовувати OpenAI, ElevenLabs, Google Gemini або MiniMax: - `ELEVENLABS_API_KEY` (або `XI_API_KEY`) +- `GEMINI_API_KEY` (або `GOOGLE_API_KEY`) - `MINIMAX_API_KEY` - `OPENAI_API_KEY` -Microsoft speech **не** потребує 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 Text-to-Speech](https://platform.openai.com/docs/guides/text-to-speech) +- [Довідка API Audio OpenAI](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) -- [API MiniMax T2A v2](https://platform.minimaxi.com/document/T2A%20V2) +- [MiniMax T2A v2 API](https://platform.minimaxi.com/document/T2A%20V2) - [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) ## Чи ввімкнено це за замовчуванням? Ні. Автоматичний TTS **вимкнено** за замовчуванням. Увімкніть його в конфігурації через -`messages.tts.auto` або локально через `/tts on`. +`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). ### Мінімальна конфігурація (увімкнення + провайдер) @@ -177,7 +179,33 @@ Microsoft speech **не** потребує API-ключа. } ``` -### Вимкнути Microsoft speech +### Google Gemini як основний + +```json5 +{ + messages: { + tts: { + auto: "always", + provider: "google", + providers: { + google: { + apiKey: "gemini_api_key", + model: "gemini-3.1-flash-tts-preview", + voiceName: "Kore", + }, + }, + }, + }, +} +``` + +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`. + +### Вимкнення мовлення Microsoft ```json5 { @@ -208,7 +236,7 @@ Microsoft speech **не** потребує API-ключа. } ``` -### Відповідати аудіо лише після вхідного голосового повідомлення +### Відповідати лише аудіо після вхідного голосового повідомлення ```json5 { @@ -220,7 +248,7 @@ Microsoft speech **не** потребує API-ключа. } ``` -### Вимкнути автоматичне зведення для довгих відповідей +### Вимкнення автоматичного підсумку для довгих відповідей ```json5 { @@ -243,83 +271,87 @@ Microsoft speech **не** потребує API-ключа. - `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"`, `"microsoft"`, `"minimax"` або `"openai"` (резервний вибір відбувається автоматично). -- Якщо `provider` **не задано**, OpenClaw використовує перший налаштований провайдер мовлення в порядку автоматичного вибору реєстру. -- Застарілий `provider: "edge"` усе ще працює і нормалізується до `microsoft`. -- `summaryModel`: необов’язкова недорога модель для автоматичного зведення; типово `agents.defaults.model.primary`. - - Приймає `provider/model` або псевдонім налаштованої моделі. -- `modelOverrides`: дозволяє моделі виводити директиви TTS (увімкнено за замовчуванням). +- `provider`: ідентифікатор провайдера мовлення, наприклад `"elevenlabs"`, `"google"`, `"microsoft"`, `"minimax"` або `"openai"` (резервне перемикання відбувається автоматично). +- Якщо `provider` **не задано**, OpenClaw використовує першого налаштованого провайдера мовлення в порядку автоматичного вибору реєстру. +- Застарілий `provider: "edge"` усе ще працює та нормалізується до `microsoft`. +- `summaryModel`: необов’язкова недорога модель для автоматичного підсумку; типово використовується `agents.defaults.model.primary`. + - Приймає `provider/model` або налаштований псевдонім моделі. +- `modelOverrides`: дозволяє моделі видавати директиви TTS (типово ввімкнено). - `allowProvider` типово має значення `false` (перемикання провайдера вмикається явно). -- `providers.`: налаштування провайдера, що належать провайдеру мовлення, із ключем за його ідентифікатором. -- Застарілі прямі блоки провайдерів (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) автоматично переносяться до `messages.tts.providers.` під час завантаження. -- `maxTextLength`: жорстке обмеження для вхідного тексту TTS (символи). `/tts audio` завершується помилкою, якщо ліміт перевищено. +- `providers.`: налаштування, що належать провайдеру, із ключем за ідентифікатором провайдера мовлення. +- Застарілі прямі блоки провайдерів (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) автоматично мігруються до `messages.tts.providers.` під час завантаження. +- `maxTextLength`: жорстке обмеження для вхідного тексту TTS (символи). `/tts audio` завершується помилкою, якщо його перевищено. - `timeoutMs`: тайм-аут запиту (мс). -- `prefsPath`: перевизначає шлях до локального JSON-файла prefs (провайдер/ліміт/зведення). -- Значення `apiKey` беруться з env vars як запасний варіант (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`). -- `providers.elevenlabs.baseUrl`: перевизначає базовий URL API ElevenLabs. +- `prefsPath`: перевизначає локальний шлях до JSON-файлу prefs (провайдер/ліміт/підсумок). +- Значення `apiKey` резервно беруться зі змінних середовища (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `GEMINI_API_KEY`/`GOOGLE_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_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`: 2-літерний ISO 639-1 (наприклад, `en`, `de`) -- `providers.elevenlabs.seed`: ціле число `0..4294967295` (детермінізм у межах можливого) -- `providers.minimax.baseUrl`: перевизначає базовий URL API MiniMax (типово `https://api.minimax.io`, env: `MINIMAX_API_HOST`). +- `providers.elevenlabs.seed`: ціле число `0..4294967295` (детермінованість у межах найкращих можливих зусиль) +- `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). -- `providers.microsoft.enabled`: дозволяє використання Microsoft speech (типово `true`; без API-ключа). +- `providers.minimax.pitch`: зміщення тону `-12..12` (типово 0). +- `providers.google.model`: модель Gemini TTS (типово `gemini-3.1-flash-tts-preview`). +- `providers.google.voiceName`: назва вбудованого голосу Gemini (типово `Kore`; також приймається `voice`). +- `providers.google.baseUrl`: перевизначає базову URL-адресу Gemini API. Приймається лише `https://generativelanguage.googleapis.com`. + - Якщо `messages.tts.providers.google.apiKey` пропущено, TTS може повторно використати `models.providers.google.apiKey` перед резервним переходом до env. +- `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%`). + - Дивіться вихідні формати Microsoft Speech для допустимих значень; не всі формати підтримуються вбудованим транспортом на основі Edge. +- `providers.microsoft.rate` / `providers.microsoft.pitch` / `providers.microsoft.volume`: рядки у відсотках (наприклад, `+10%`, `-5%`). - `providers.microsoft.saveSubtitles`: записує JSON-субтитри поруч з аудіофайлом. -- `providers.microsoft.proxy`: URL проксі для запитів Microsoft speech. +- `providers.microsoft.proxy`: URL-адреса проксі для запитів мовлення Microsoft. - `providers.microsoft.timeoutMs`: перевизначення тайм-ауту запиту (мс). - `edge.*`: застарілий псевдонім для тих самих налаштувань Microsoft. -## Перевизначення, керовані моделлю (типово увімкнено) +## Перевизначення, керовані моделлю (типово ввімкнено) -За замовчуванням модель **може** виводити директиви TTS для однієї відповіді. +Типово модель **може** видавати директиви TTS для однієї відповіді. Коли `messages.tts.auto` має значення `tagged`, ці директиви потрібні для запуску аудіо. -Коли це ввімкнено, модель може виводити директиви `[[tts:...]]`, щоб перевизначити голос -для однієї відповіді, а також необов’язковий блок `[[tts:text]]...[[/tts:text]]`, щоб -додати виразні теги (сміх, підказки для співу тощо), які мають з’являтися +Коли це ввімкнено, модель може видавати директиви `[[tts:...]]` для перевизначення голосу +для однієї відповіді, а також необов’язковий блок `[[tts:text]]...[[/tts:text]]` для +додавання виразних тегів (сміх, підказки для співу тощо), які мають з’являтися лише в аудіо. Директиви `provider=...` ігноруються, якщо не встановлено `modelOverrides.allowProvider: true`. -Приклад payload відповіді: +Приклад корисного навантаження відповіді: ``` -Ось. +Here you go. [[tts:voiceId=pMsXgVXv3BLzUgSXRplE model=eleven_v3 speed=1.1]] -[[tts:text]](сміється) Прочитай пісню ще раз.[[/tts:text]] +[[tts:text]](laughs) Read the song once more.[[/tts:text]] ``` Доступні ключі директив (коли ввімкнено): -- `provider` (ідентифікатор зареєстрованого провайдера мовлення, наприклад `openai`, `elevenlabs`, `minimax` або `microsoft`; потребує `allowProvider: true`) -- `voice` (голос OpenAI) або `voiceId` (ElevenLabs / MiniMax) -- `model` (модель OpenAI TTS, ідентифікатор моделі ElevenLabs або модель MiniMax) +- `provider` (ідентифікатор зареєстрованого провайдера мовлення, наприклад `openai`, `elevenlabs`, `google`, `minimax` або `microsoft`; потребує `allowProvider: true`) +- `voice` (голос OpenAI), `voiceName` / `voice_name` / `google_voice` (голос Google) або `voiceId` (ElevenLabs / MiniMax) +- `model` (модель OpenAI TTS, ідентифікатор моделі ElevenLabs або модель MiniMax) або `google_model` (модель Google TTS) - `stability`, `similarityBoost`, `style`, `speed`, `useSpeakerBoost` - `vol` / `volume` (гучність MiniMax, 0-10) -- `pitch` (висота тону MiniMax, від -12 до 12) +- `pitch` (тон MiniMax, від -12 до 12) - `applyTextNormalization` (`auto|on|off`) - `languageCode` (ISO 639-1) - `seed` -Вимкнути всі перевизначення моделі: +Вимкнення всіх перевизначень моделі: ```json5 { @@ -333,7 +365,7 @@ Microsoft speech **не** потребує API-ключа. } ``` -Необов’язковий allowlist (увімкнути перемикання провайдера, зберігши можливість налаштовувати інші параметри): +Необов’язковий allowlist (увімкнення перемикання провайдера зі збереженням можливості налаштовувати інші параметри): ```json5 { @@ -349,17 +381,17 @@ Microsoft speech **не** потребує API-ключа. } ``` -## Налаштування для окремого користувача +## Налаштування для окремих користувачів -Слеш-команди записують локальні перевизначення до `prefsPath` (типово: -`~/.openclaw/settings/tts.json`, можна перевизначити через `OPENCLAW_TTS_PREFS` або +Команди зі слешем записують локальні перевизначення в `prefsPath` (типово: +`~/.openclaw/settings/tts.json`, перевизначається через `OPENCLAW_TTS_PREFS` або `messages.tts.prefsPath`). Збережені поля: - `enabled` - `provider` -- `maxLength` (поріг для зведення; типово 1500 символів) +- `maxLength` (поріг підсумку; типово 1500 символів) - `summarize` (типово `true`) Вони перевизначають `messages.tts.*` для цього хоста. @@ -367,54 +399,55 @@ Microsoft speech **не** потребує API-ключа. ## Вихідні формати (фіксовані) - **Feishu / Matrix / Telegram / WhatsApp**: голосове повідомлення Opus (`opus_48000_64` від ElevenLabs, `opus` від OpenAI). - - 48 кГц / 64 кбіт/с — це вдалий компроміс для голосових повідомлень. + - 48 кГц / 64 кбіт/с — це хороший компроміс для голосових повідомлень. - **Інші канали**: MP3 (`mp3_44100_128` від ElevenLabs, `mp3` від OpenAI). - 44,1 кГц / 128 кбіт/с — типовий баланс для чіткості мовлення. - **MiniMax**: MP3 (модель `speech-2.8-hd`, частота дискретизації 32 кГц). Формат голосових нотаток нативно не підтримується; використовуйте OpenAI або ElevenLabs, якщо вам потрібні гарантовані голосові повідомлення Opus. +- **Google Gemini**: Gemini API TTS повертає необроблений PCM 24 кГц. OpenClaw обгортає його у WAV для аудіовкладень і повертає PCM напряму для Talk/телефонії. Нативний формат голосових нотаток Opus у цьому шляху не підтримується. - **Microsoft**: використовує `microsoft.outputFormat` (типово `audio-24khz-48kbitrate-mono-mp3`). - - Вбудований транспорт приймає `outputFormat`, але сервіс підтримує не всі формати. - - Значення вихідного формату відповідають вихідним форматам Microsoft Speech (зокрема Ogg/WebM Opus). + - Вбудований транспорт приймає `outputFormat`, але не всі формати доступні в сервісі. + - Значення вихідного формату відповідають вихідним форматам Microsoft Speech (включно з Ogg/WebM Opus). - Telegram `sendVoice` приймає OGG/MP3/M4A; використовуйте OpenAI/ElevenLabs, якщо вам потрібні гарантовані голосові повідомлення Opus. - Якщо налаштований вихідний формат 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-ключа для +моделі підсумку), аудіо пропускається, і надсилається звичайна текстова відповідь. ## Діаграма потоку ``` -Відповідь -> TTS увімкнено? - ні -> надіслати текст - так -> є медіа / MEDIA: / коротка? - так -> надіслати текст - ні -> довжина > ліміт? - ні -> TTS -> прикріпити аудіо - так -> зведення увімкнено? - ні -> надіслати текст - так -> зробити зведення (`summaryModel` або `agents.defaults.model.primary`) - -> TTS -> прикріпити аудіо +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`. -Докладніше про ввімкнення див. у [Слеш-команди](/uk/tools/slash-commands). +Докладніше про ввімкнення див. у [Команди зі слешем](/uk/tools/slash-commands). Примітка для Discord: `/tts` — це вбудована команда Discord, тому OpenClaw реєструє -`/voice` як нативну команду. Текстова команда `/tts ...` усе ще працює. +`/voice` як нативну команду там. Текстова команда `/tts ...` усе ще працює. ``` /tts off @@ -430,22 +463,22 @@ Microsoft speech **не** потребує API-ключа. - Команди потребують авторизованого відправника (правила allowlist/owner усе ще застосовуються). - Має бути ввімкнено `commands.text` або реєстрацію нативних команд. -- Конфігурація `messages.tts.auto` приймає значення `off|always|inbound|tagged`. +- Конфігурація `messages.tts.auto` приймає `off|always|inbound|tagged`. - `/tts on` записує локальне налаштування TTS як `always`; `/tts off` записує його як `off`. - Використовуйте конфігурацію, якщо вам потрібні типові значення `inbound` або `tagged`. - `limit` і `summary` зберігаються в локальних prefs, а не в основній конфігурації. - `/tts audio` генерує одноразову аудіовідповідь (не вмикає TTS). -- `/tts status` включає видимість резервного переходу для останньої спроби: - - успішний резервний перехід: `Fallback: -> ` плюс `Attempts: ...` +- `/tts status` містить видимість резервного перемикання для останньої спроби: + - успішне резервне перемикання: `Fallback: -> ` плюс `Attempts: ...` - помилка: `Error: ...` плюс `Attempts: ...` - докладна діагностика: `Attempt details: provider:outcome(reasonCode) latency` -- Збої API OpenAI та ElevenLabs тепер включають розібрані деталі помилки провайдера та ідентифікатор запиту (коли провайдер його повертає), які відображаються в помилках/логах TTS. +- Збої API OpenAI та ElevenLabs тепер містять розібрані відомості про помилку провайдера та ідентифікатор запиту (коли його повертає провайдер), що відображається в помилках/журналах TTS. ## Інструмент агента Інструмент `tts` перетворює текст на мовлення та повертає аудіовкладення для доставки у відповіді. Коли каналом є Feishu, Matrix, Telegram або WhatsApp, -аудіо доставляється як голосове повідомлення, а не як вкладений файл. +аудіо доставляється як голосове повідомлення, а не як файлове вкладення. ## Gateway RPC