Гайд · TNWS AI
Как создать голосового ассистента через Gemini Live API и не раскрыть API-ключ
Архитектура Gemini Live API: WebSocket, PCM 16 кГц, аудио 24 кГц, ephemeral tokens, прерывание речи и проверка задержки.
Для браузера и мобильного клиента подключайтесь к Live API по WebSocket с короткоживущим ephemeral token, выданным вашим backend. Постоянный Gemini API key в приложение не встраивается. Согласно спецификации на 11 сентября 2026 года, входное сырое аудио — 16-bit PCM, 16 кГц, little-endian; аудиовыход — PCM 24 кГц.
Рабочий пример
// Backend: выдаёт клиенту короткоживущий токен по официальному API.
// Клиент: открывает WSS и отправляет PCM16 16 kHz little-endian.
const ws = new WebSocket(LIVE_API_URL_WITH_EPHEMERAL_TOKEN);
ws.binaryType = "arraybuffer";
ws.onmessage = (event) => { // Разобрать тип события; PCM-чанки проигрывать как 24 kHz. };
// Не отправляйте MediaRecorder WebM как будто это raw PCM.
## Что означает каждая важная часть
- Live API поддерживает текст, аудио и изображения; непрерывное видео представляется кадрами JPEG с ограниченной частотой, указанной в документации.
- Barge-in позволяет пользователю перебить ассистента: клиент прекращает воспроизведение старого аудио и передаёт новую речь.
- Транскрипции входа и выхода полезны для субтитров и проверки, но требуют отдельной политики хранения.
- Server-to-server проще контролировать, client-to-server обычно уменьшает задержку; для прямого клиента Google рекомендует ephemeral tokens.
## Порядок внедрения
1. На backend аутентифицируйте пользователя и выдавайте ограниченный ephemeral token.
2. В клиенте захватите микрофон, приведите поток к mono PCM16 16 кГц и отправляйте небольшими чанками.
3. Разбирайте события WebSocket по типу; не смешивайте аудио, транскрипцию и tool calls.
4. При barge-in очищайте буфер ещё не проигранного ответа.
5. Добавьте таймаут тишины, явный индикатор записи и кнопку немедленного отключения микрофона.
## Как проверить результат
Измерьте четыре значения: время подключения, задержку до первого аудиочанка, число обрывов и время остановки звука после barge-in. Запишите тестовую фразу с числами и сравните входную транскрипцию с оригиналом. Проверьте, что постоянного ключа нет в исходниках и сетевых запросах клиента.
## Ограничения
Live API находится в Preview, поэтому модели и протокол могут меняться. Аудиоформат нельзя определять «на слух»: неверная частота приводит к ускоренному, замедленному или искажённому звуку. Для звонков и записи голоса учитывайте согласие пользователя и местное право.
## Чего не делать
- Не отправляйте постоянный API key в браузер.
- Не принимайте WebM/Opus за raw PCM.
- Не записывайте разговор скрытно.
Частые вопросы
Можно ли использовать пример в production?
Как основу — да, но добавьте авторизацию, таймауты, обработку ошибок, лимиты и тесты из статьи.
Где проверять актуальное имя модели?
В официальном каталоге Gemini API и Google AI Studio непосредственно перед развёртыванием.
Нужно ли доверять ответу без проверки?
Нет. Формат проверяется кодом, а важные факты — источником или вашей базой данных.
Что делать при изменении API?
Зафиксировать версию SDK, прочитать release notes и прогнать сохранённый набор интеграционных тестов.
Официальный источник
Документация Google, проверена 11 сентября 2026 года: https://ai.google.dev/gemini-api/docs/live-api
Читайте также
Как анализировать отзывы с помощью ИИ: темы, проблемы и реальные выводы
Как превратить массив отзывов в полезный отчёт: очистить данные, построить категории, проверить цитаты и не перепутать громкость с частотой.
Как анализировать результаты опроса с ИИ: цифры, ответы и честные выводы
Как очистить ответы, посчитать распределения и разобрать открытые вопросы, не выдавая корреляцию за причину.
Как анонимизировать расшифровку перед загрузкой в нейросеть
Какие данные удалить из интервью или встречи, как заменить участников и почему простого стирания имён недостаточно.
Комментарии
Пока тихо. Скажите первое слово