chore(i18n): refresh uk translations
This commit is contained in:
parent
4edc8e36f8
commit
6c038d2f7e
@ -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.
|
||||
|
||||
## Початок роботи
|
||||
|
||||
Виберіть бажаний спосіб автентифікації та виконайте кроки налаштування.
|
||||
Оберіть бажаний спосіб автентифікації та виконайте кроки налаштування.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="API key">
|
||||
**Найкраще підходить для:** стандартного доступу до Gemini API через Google AI Studio.
|
||||
**Найкраще для:** стандартного доступу до Gemini API через Google AI Studio.
|
||||
|
||||
<Steps>
|
||||
<Step title="Запустіть онбординг">
|
||||
<Step title="Run onboarding">
|
||||
```bash
|
||||
openclaw onboard --auth-choice gemini-api-key
|
||||
```
|
||||
@ -47,7 +47,7 @@ Gemini Grounding.
|
||||
--gemini-api-key "$GEMINI_API_KEY"
|
||||
```
|
||||
</Step>
|
||||
<Step title="Установіть модель за замовчуванням">
|
||||
<Step title="Set a default model">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
@ -58,7 +58,7 @@ Gemini Grounding.
|
||||
}
|
||||
```
|
||||
</Step>
|
||||
<Step title="Переконайтеся, що модель доступна">
|
||||
<Step title="Verify the model is available">
|
||||
```bash
|
||||
openclaw models list --provider google
|
||||
```
|
||||
@ -66,21 +66,21 @@ Gemini Grounding.
|
||||
</Steps>
|
||||
|
||||
<Tip>
|
||||
Змінні середовища `GEMINI_API_KEY` і `GOOGLE_API_KEY` обидві підтримуються. Використовуйте ту, яка у вас уже налаштована.
|
||||
Змінні середовища `GEMINI_API_KEY` і `GOOGLE_API_KEY` обидві підтримуються. Використовуйте ту, яку вже налаштовано у вас.
|
||||
</Tip>
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Gemini CLI (OAuth)">
|
||||
**Найкраще підходить для:** повторного використання наявного входу Gemini CLI через PKCE OAuth замість окремого API key.
|
||||
**Найкраще для:** повторного використання наявного входу Gemini CLI через PKCE OAuth замість окремого ключа API.
|
||||
|
||||
<Warning>
|
||||
Провайдер `google-gemini-cli` є неофіційною інтеграцією. Деякі користувачі
|
||||
повідомляють про обмеження акаунта при використанні OAuth у такий спосіб. Використовуйте на власний ризик.
|
||||
повідомляють про обмеження облікового запису під час використання OAuth у такий спосіб. Використовуйте на власний ризик.
|
||||
</Warning>
|
||||
|
||||
<Steps>
|
||||
<Step title="Установіть Gemini CLI">
|
||||
<Step title="Install the Gemini CLI">
|
||||
Локальна команда `gemini` має бути доступною в `PATH`.
|
||||
|
||||
```bash
|
||||
@ -92,14 +92,14 @@ Gemini Grounding.
|
||||
```
|
||||
|
||||
OpenClaw підтримує як встановлення через Homebrew, так і глобальні встановлення npm, зокрема
|
||||
типові Windows/npm-розкладки.
|
||||
поширені схеми Windows/npm.
|
||||
</Step>
|
||||
<Step title="Увійдіть через OAuth">
|
||||
<Step title="Log in via OAuth">
|
||||
```bash
|
||||
openclaw models auth login --provider google-gemini-cli --set-default
|
||||
```
|
||||
</Step>
|
||||
<Step title="Переконайтеся, що модель доступна">
|
||||
<Step title="Verify the model is available">
|
||||
```bash
|
||||
openclaw models list --provider google-gemini-cli
|
||||
```
|
||||
@ -107,7 +107,7 @@ Gemini Grounding.
|
||||
</Steps>
|
||||
|
||||
- Модель за замовчуванням: `google-gemini-cli/gemini-3-flash-preview`
|
||||
- Аліас: `gemini-cli`
|
||||
- Псевдонім: `gemini-cli`
|
||||
|
||||
**Змінні середовища:**
|
||||
|
||||
@ -117,39 +117,41 @@ Gemini Grounding.
|
||||
(Або варіанти `GEMINI_CLI_*`.)
|
||||
|
||||
<Note>
|
||||
Якщо OAuth-запити Gemini CLI не вдаються після входу, установіть `GOOGLE_CLOUD_PROJECT` або
|
||||
Якщо запити Gemini CLI OAuth не вдаються після входу, задайте `GOOGLE_CLOUD_PROJECT` або
|
||||
`GOOGLE_CLOUD_PROJECT_ID` на хості Gateway і повторіть спробу.
|
||||
</Note>
|
||||
|
||||
<Note>
|
||||
Якщо вхід не вдається до запуску потоку в браузері, переконайтеся, що локальна команда `gemini`
|
||||
установлена й доступна в `PATH`.
|
||||
Якщо вхід не вдається до початку потоку в браузері, переконайтеся, що локальну команду `gemini`
|
||||
встановлено та додано до `PATH`.
|
||||
</Note>
|
||||
|
||||
Провайдер `google-gemini-cli`, що підтримує лише OAuth, є окремою
|
||||
поверхнею текстового інференсу. Генерація зображень, розуміння медіа та Gemini Grounding залишаються на ідентифікаторі провайдера `google`.
|
||||
Провайдер `google-gemini-cli`, який підтримує лише OAuth, є окремою
|
||||
поверхнею текстового інференсу. Генерація зображень, розуміння медіа та Gemini Grounding залишаються на
|
||||
ідентифікаторі провайдера `google`.
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Можливості
|
||||
|
||||
| Можливість | Підтримується |
|
||||
| ----------------------- | ----------------- |
|
||||
| Чат-комплішени | Так |
|
||||
| Генерація зображень | Так |
|
||||
| Генерація музики | Так |
|
||||
| Розуміння зображень | Так |
|
||||
| Транскрипція аудіо | Так |
|
||||
| Розуміння відео | Так |
|
||||
| Вебпошук (Grounding) | Так |
|
||||
| Thinking/reasoning | Так (Gemini 3.1+) |
|
||||
| Моделі Gemma 4 | Так |
|
||||
| Можливість | Підтримка |
|
||||
| ---------------------- | ------------------ |
|
||||
| Завершення чату | Так |
|
||||
| Генерація зображень | Так |
|
||||
| Генерація музики | Так |
|
||||
| Перетворення тексту на мовлення | Так |
|
||||
| Розуміння зображень | Так |
|
||||
| Транскрипція аудіо | Так |
|
||||
| Розуміння відео | Так |
|
||||
| Вебпошук (Grounding) | Так |
|
||||
| Мислення/міркування | Так (Gemini 3.1+) |
|
||||
| Моделі Gemma 4 | Так |
|
||||
|
||||
<Tip>
|
||||
Моделі 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`.
|
||||
</Tip>
|
||||
|
||||
@ -163,7 +165,7 @@ Gemini Grounding.
|
||||
- Режим редагування: увімкнено, до 5 вхідних зображень
|
||||
- Керування геометрією: `size`, `aspectRatio` і `resolution`
|
||||
|
||||
Щоб використовувати Google як провайдер зображень за замовчуванням:
|
||||
Щоб використовувати Google як провайдера зображень за замовчуванням:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -178,20 +180,20 @@ Gemini Grounding.
|
||||
```
|
||||
|
||||
<Note>
|
||||
Див. [Генерація зображень](/uk/tools/image-generation) щодо спільних параметрів інструмента, вибору провайдера та поведінки failover.
|
||||
Див. [Генерація зображень](/uk/tools/image-generation), щоб дізнатися про спільні параметри інструмента, вибір провайдера та поведінку перемикання при збоях.
|
||||
</Note>
|
||||
|
||||
## Генерація відео
|
||||
|
||||
Вбудований 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.
|
||||
```
|
||||
|
||||
<Note>
|
||||
Див. [Генерація відео](/uk/tools/video-generation) щодо спільних параметрів інструмента, вибору провайдера та поведінки failover.
|
||||
Див. [Генерація відео](/uk/tools/video-generation), щоб дізнатися про спільні параметри інструмента, вибір провайдера та поведінку перемикання при збоях.
|
||||
</Note>
|
||||
|
||||
## Генерація музики
|
||||
|
||||
Вбудований 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.
|
||||
```
|
||||
|
||||
<Note>
|
||||
Див. [Генерація музики](/uk/tools/music-generation) щодо спільних параметрів інструмента, вибору провайдера та поведінки failover.
|
||||
Див. [Генерація музики](/uk/tools/music-generation), щоб дізнатися про спільні параметри інструмента, вибір провайдера та поведінку перемикання при збоях.
|
||||
</Note>
|
||||
|
||||
## Перетворення тексту на мовлення
|
||||
|
||||
Вбудований мовленнєвий провайдер `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]]
|
||||
```
|
||||
|
||||
<Note>
|
||||
Ключ API Google Cloud Console, обмежений Gemini API, є дійсним для цього
|
||||
провайдера. Це не окремий шлях Cloud Text-to-Speech API.
|
||||
</Note>
|
||||
|
||||
## Розширене налаштування
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Пряме повторне використання кешу Gemini">
|
||||
Для прямих запусків Gemini API (`api: "google-generative-ai"`), OpenClaw
|
||||
передає налаштований дескриптор `cachedContent` у запити до Gemini.
|
||||
<Accordion title="Direct Gemini cache reuse">
|
||||
Для прямих запусків 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.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Примітки щодо використання JSON у Gemini CLI">
|
||||
Під час використання OAuth-провайдера `google-gemini-cli`, OpenClaw нормалізує
|
||||
<Accordion title="Gemini CLI JSON usage notes">
|
||||
Під час використання 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`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Налаштування середовища й демона">
|
||||
<Accordion title="Environment and daemon setup">
|
||||
Якщо Gateway працює як демон (launchd/systemd), переконайтеся, що `GEMINI_API_KEY`
|
||||
доступний цьому процесу (наприклад, у `~/.openclaw/.env` або через
|
||||
`env.shellEnv`).
|
||||
@ -293,16 +339,16 @@ Gemini Grounding.
|
||||
## Пов’язане
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Вибір моделі" href="/uk/concepts/model-providers" icon="layers">
|
||||
Вибір провайдерів, посилань на моделі та поведінки failover.
|
||||
<Card title="Model selection" href="/uk/concepts/model-providers" icon="layers">
|
||||
Вибір провайдерів, посилань на моделі та поведінки перемикання при збоях.
|
||||
</Card>
|
||||
<Card title="Генерація зображень" href="/uk/tools/image-generation" icon="image">
|
||||
<Card title="Image generation" href="/uk/tools/image-generation" icon="image">
|
||||
Спільні параметри інструмента зображень і вибір провайдера.
|
||||
</Card>
|
||||
<Card title="Генерація відео" href="/uk/tools/video-generation" icon="video">
|
||||
<Card title="Video generation" href="/uk/tools/video-generation" icon="video">
|
||||
Спільні параметри інструмента відео і вибір провайдера.
|
||||
</Card>
|
||||
<Card title="Генерація музики" href="/uk/tools/music-generation" icon="music">
|
||||
<Card title="Music generation" href="/uk/tools/music-generation" icon="music">
|
||||
Спільні параметри інструмента музики і вибір провайдера.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -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.<id>`: налаштування провайдера, що належать провайдеру мовлення, із ключем за його ідентифікатором.
|
||||
- Застарілі прямі блоки провайдерів (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) автоматично переносяться до `messages.tts.providers.<id>` під час завантаження.
|
||||
- `maxTextLength`: жорстке обмеження для вхідного тексту TTS (символи). `/tts audio` завершується помилкою, якщо ліміт перевищено.
|
||||
- `providers.<id>`: налаштування, що належать провайдеру, із ключем за ідентифікатором провайдера мовлення.
|
||||
- Застарілі прямі блоки провайдерів (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) автоматично мігруються до `messages.tts.providers.<id>` під час завантаження.
|
||||
- `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: <primary> -> <used>` плюс `Attempts: ...`
|
||||
- `/tts status` містить видимість резервного перемикання для останньої спроби:
|
||||
- успішне резервне перемикання: `Fallback: <primary> -> <used>` плюс `Attempts: ...`
|
||||
- помилка: `Error: ...` плюс `Attempts: ...`
|
||||
- докладна діагностика: `Attempt details: provider:outcome(reasonCode) latency`
|
||||
- Збої API OpenAI та ElevenLabs тепер включають розібрані деталі помилки провайдера та ідентифікатор запиту (коли провайдер його повертає), які відображаються в помилках/логах TTS.
|
||||
- Збої API OpenAI та ElevenLabs тепер містять розібрані відомості про помилку провайдера та ідентифікатор запиту (коли його повертає провайдер), що відображається в помилках/журналах TTS.
|
||||
|
||||
## Інструмент агента
|
||||
|
||||
Інструмент `tts` перетворює текст на мовлення та повертає аудіовкладення для
|
||||
доставки у відповіді. Коли каналом є Feishu, Matrix, Telegram або WhatsApp,
|
||||
аудіо доставляється як голосове повідомлення, а не як вкладений файл.
|
||||
аудіо доставляється як голосове повідомлення, а не як файлове вкладення.
|
||||
|
||||
## Gateway RPC
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user