Создавайте с CometAPIНужен один API для нескольких моделей?Протестируйте рабочий процесс в Playground, затем создайте API-ключ, когда модель и стоимость подойдут для вашего сценария.
Подключиться к Grok Voice 3.0 с помощью Python, сгенерировать голосовой ответ, отправить аудио, добавить инструменты и устранить распространенные проблемы API реального времени.
Deon GoodwinКоманда исследователей AI-моделей и API
Grok Voice 3.0 — это модель xAI для преобразования речи в речь в реальном времени, выпущенная 14 октября 2026 года. Имя модели в API — grok-voice-3.0; по состоянию на 3 ноября 2026 года, grok-voice-latest points to this version. Анонс запуска указывает стоимость голосовых сессий $0.08 за минуту ($4.80 в час). Она сочетает диалог, обработку перебиваний и использование инструментов для голосовых ассистентов и поддержки клиентов. Имея базовые знания Python, ключ API xAI и библиотеку websockets, вы можете отправить подсказку и сохранить озвученный ответ. Начните с примера ниже, затем добавляйте записанное аудио, поток с микрофона и бизнес-интеграции по мере развития приложения.
Проверено на ясность, указание источников и актуальную терминологию API.
Ключевые выводы
Grok Voice 3.0 обменивается речью и текстом в реальном времени. Ваше приложение отправляет и получает события сессии по WebSocket на протяжении всей беседы.
Первый тест может быть одним циклом текст→аудио. Воспроизводимый ответ подтверждает, что аутентификация и генерация аудио работают, прежде чем вы добавите микрофон.
Аудиовход требует соответствующего формата и чёткой границы реплики. Приложение может отправлять записанное аудио PCM с ручным завершением реплики или транслировать аудио с микрофона с серверным обнаружением голоса.
Бизнес-действиями управляет ваше приложение. Оно проверяет аргументы функции и права пользователя, выполняет одобренное действие и возвращает результат, чтобы голосовой агент мог продолжить.
Браузерные и мобильные клиенты используют краткоживущие учётные данные. Ваш сервер хранит постоянный ключ API и выдаёт временные токены для клиентских подключений.
Что такое Grok Voice 3.0?
Grok Voice 3.0 — это разработанная xAI разговорная голосовая модель реального времени, работающая под брендом SpaceX Super Intelligence. Она принимает голосовой или текстовый ввод и может возвращать аудио и текст в рамках текущей сессии. Модель оптимизирована под сценарии голосовых агентов, а не как прямозаменяемая альтернатива текстовым моделям Grok общего назначения.
Традиционные голосовые ассистенты часто связывают распознавание речи, языковую модель и синтез речи. Grok Voice вместо этого предоставляет сессию «речь-в-речь» с интегрированным разговорным поведением и поддержкой инструментов. Такая архитектура может упростить оркестрационный слой разработчика, хотя приложениям по-прежнему нужны захват аудио, транспорт, авторизация, бизнес‑интеграции и мониторинг.
Определение модели Grok Voice 3.0 описывает текст и аудио как входные и выходные модальности. В этом руководстве первым полезным контрольным пунктом будет воспроизводимый ответ из серверного Python‑скрипта.
Ключевые возможности Grok Voice 3.0
Вести живой разговор: обмениваться речью и текстом по WebSocket на протяжении сессии.
Обрабатывать перебивания: использовать серверное обнаружение голоса и останавливать поставленное в очередь воспроизведение, когда звонящий начинает говорить.
Использовать бизнес‑инструменты: подключать собственные функции для задач вроде поиска заказа и планирования.
Это опубликованные результаты бенчмарков, а не гарантии для вашего развёртывания. Протестируйте собственные акценты, шумовые условия, инструменты и пути эскалации до использования агента с клиентами.
Что нужно перед вызовом API Grok Voice 3.0?
Создайте или войдите в аккаунт в xAI Console, сгенерируйте ключ API и убедитесь, что у вашего аккаунта есть доступ и доступные кредитные лимиты. Используйте локальный терминал или доверенный сервер для примера на Python.
Python 3.11 или новее и pip в той же среде.
Действующий ключ xAI API, сохранённый как XAI_API_KEY.
Медиаплеер для открытия сгенерированного файла WAV.
Сгенерируйте ключ в xAI Console. Сохраните его в переменной окружения, а не в коде приложения.
Установите ключ API для текущего терминала Bash.
export XAI_API_KEY="your_xai_api_key"
В Windows PowerShell:
Установите ключ API для текущего сеанса PowerShell.
$env:XAI_API_KEY="your_xai_api_key"
Установите WebSocket‑клиент в среду Python.
python -m pip install "websockets>=14,<18"
Оставшиеся команды выполняйте в той же сессии терминала. Если вы используете виртуальную среду, активируйте её перед установкой пакета.
Как использовать API Grok Voice 3.0 с Python
Родной Realtime API использует WebSocket‑соединение. В отличие от обычных текстовых чатов‑дополнений, он обменивается текущими событиями сессии и потоковыми аудиофрагментами во время беседы.
Шаг 1: Выберите фиксированную модель и настройте сессию
API принимает версированное имя модели в URL WebSocket. В примере используется grok-voice-3.0, чтобы запрашиваемая версия была явно указана. Событие session.update задаёт голос, аудиоформат и ручную обработку реплик; дождитесь session.updated перед отправкой подсказки.
Шаг 2: Отправьте текст и получите озвученный ответ
Сохраните следующий скрипт как grok_voice_demo.py. Он отправляет одну текстовую подсказку, собирает аудиофрагменты в base64 и записывает моно WAV‑файл 24 kHz, 16‑бит PCM. Он также останавливается при ошибках API, неуспешном завершении или ответе без аудио.
Создайте один озвученный ответ из текстовой подсказки и сохраните его как WAV‑файл.
После успешного ответа в терминал будет выведено Saved grok_response.wav. Откройте этот файл в медиаплеере и убедитесь, что вы слышите полный ответ на нормальной скорости. Отсутствующий или нечитаемый файл — повод проверить возвращённые события и аудиоконфигурацию перед добавлением новых функций.
Справочник событий реального времени описывает подтверждение сессии и жизненный цикл ответа, используемые здесь. Скрипт ждёт завершения всей реплики перед записью файла; интерактивное голосовое приложение должно воспроизводить аудиофрагменты по мере их поступления.
Как отправлять аудио в Grok Voice 3.0?
Записанное аудио с ручным завершением реплики
В этом примере используется моно WAV‑файл 24 kHz, 16‑бит PCM. Grok Voice 3.0 также поддерживает другие частоты дискретизации PCM, μ-law, A-law и Opus. Фактический формат должен соответствовать конфигурации session.update. Замените только блок conversation.item.create в предыдущем скрипте сниппетом ниже. Сохраните следующий вызов response.create и существующий цикл приёма.
Замените блок текстового сообщения на загрузку записанного аудио внутри main().
with wave.open("request.wav", "rb") as source:
if (
source.getnchannels() != 1
or source.getsampwidth() != 2
or source.getframerate() != SAMPLE_RATE
or source.getcomptype() != "NONE"
):
raise ValueError("Use mono, 24 kHz, 16-bit PCM WAV audio.")
pcm = source.readframes(source.getnframes())
if len(pcm) < SAMPLE_RATE * 2 // 10:
raise ValueError("Use a spoken recording longer than 100 ms.")
for offset in range(0, len(pcm), 4800):
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(pcm[offset:offset + 4800]).decode("ascii"),
}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
while (await receive_event(ws)).get("type") != "input_audio_buffer.committed":
pass
Сдвиньте этот заменяемый блок на тот же уровень отступа, что и исходный блок текстового сообщения, внутри контекста WebSocket. Он отправляет сырые PCM‑сэмплы из WAV‑файла, а не заголовок контейнера WAV. В первом скрипте явно выбран ручной режим обработки реплик, поэтому фиксация буфера и запрос ответа — это отдельные действия.
Захват с микрофона в реальном времени и немедленное воспроизведение
Для интерактивной беседы непрерывно захватывайте аудио, конвертируйте его в настроенный входной формат и отправляйте короткие фрагменты, пока отдельный цикл приёма обрабатывает ответы. Выберите server_vad для автоматического определения границ реплики вместо ручного режима, использованного в примере с записанным файлом. Избегайте добавления второго response.create, когда сервер уже формирует ответ.
При перебивании оперативно останавливайте воспроизведение очереди ассистента. Одного сетевого отмена‑запроса недостаточно для удаления звука, уже буферизованного вашим приложением. Держите очередь воспроизведения небольшой и отслеживайте, сколько аудио слушатель действительно услышал, чтобы приложение сохраняло согласованное состояние разговора.
Как добавить инструменты в агента Grok Voice 3.0?
Приложения могут предоставлять инструменты, такие как поиск заказа, планирование или проверка аккаунта. Агент может интерпретировать сложный голосовой запрос, вызвать авторизованную функцию и использовать результат для продолжения диалога. Это особенно полезно, когда клиент запрашивает несколько связанных изменений в одном звонке.
API поддерживает настраиваемые функции и управляемые сервером инструменты. Для настраиваемой функции ваше приложение реализует действие; объявление инструмента само по себе не подключает модель к вашей базе данных.
Объявите имя функции, описание и схему аргументов JSON в session.tools.
Обрабатывайте response.function_call_arguments.done, парсите аргументы и проверяйте права вызывающего перед выполнением функции.
Возвращайте результат как событие conversation.item.create с item.type, установленным в function_call_output, и соответствующим call_id.
Отправьте response.create после того, как будут предоставлены результаты необходимых функций. Если несколько вызовов приходят одновременно, верните все их результаты, прежде чем просить модель продолжить.
Начните с инструмента только для чтения, например проверки статуса доставки заказа. Для действий, изменяющих бронирования, оформляющих возвраты или размещающих заказы, обеспечьте в приложении проверку личности, подтверждение и защиту от повторных запросов.
Как использовать Grok Voice 3.0 в браузере и мобильных приложениях
Используйте эфемерные учётные данные для клиентских подключений. Ваш сервер запрашивает краткоживущий токен с использованием постоянного ключа API и передаёт токен клиенту. Аутентифицируйте запросы к собственной конечной точке выдачи токенов и применяйте лимиты использования, чтобы она не стала неограниченным шлюзом.
Держите согласие на использование микрофона, органы управления записью и статус подключения видимыми в интерфейсе. Явно обрабатывайте потерю соединения: останавливайте устаревшее воспроизведение, сообщайте пользователю о восстановлении соединения и избегайте повторного выполнения действий, которые могли уже завершиться.
Как устранять распространённые ошибки API Grok Voice 3.0
Сбой аутентификации: убедитесь, что XAI_API_KEY установлен в терминале, где запускается скрипт, и что ключ принадлежит аккаунту с доступом. Не вставляйте ключ в логи или сообщения в поддержку.
Неожиданные аргументы клиентской библиотеки: проверьте, что pip установил запрошенную версию websockets в ту среду Python, где запускается скрипт.
Нет аудиовыхода: проверьте события ошибок и response.done, убедитесь, что session.updated подтвердила конфигурацию, и проверьте, что для ручной реплики был запрошен ответ.
Искажения при воспроизведении: сравните фактические байты с настроенными кодеком, частотой дискретизации, числом каналов и заголовком WAV. Переименование MP3 в WAV не выполняет конвертацию.
Тайм-аут: проверьте сетевой доступ и статус сервиса, затем изучите последнее успешное событие. Повторяйте неудачное подключение отдельно от любого бизнес‑действия, которое могло уже выполниться.
Сколько закладывать в бюджет на вызовы API Grok Voice 3.0?
Использование голоса и собственные интеграции могут порождать отдельные расходы. В рамках этого руководства релевантны ставки за сессии реального времени и текстовый ввод; отдельные услуги транскрипции и генерации речи тарифицируются отдельно.
Сессия «речь‑в‑речь»: $0.08 за минуту, что эквивалентно $4.80 в час.
Текстовый ввод во время голосовой сессии: $0.004 за текстовый ввод.
Например, 500 биллингуемых минут сессий соответствуют $40 базовых голосовых расходов. Эта оценка не включает текстовые вводы, опциональные инструменты, телефонию и вашу инфраструктуру. Начинайте с коротких тестовых сессий и закрывайте неиспользуемые соединения по завершении разговора.
Заключение
Начните с одного полного цикла API Grok Voice 3.0: подключение, настройка сессии, отправка подсказки, получение аудио и воспроизведение результата. Когда этот путь заработает, добавьте записанную речь, затем реализуйте захват с микрофона и потоковое воспроизведение. Включайте бизнес‑инструменты только после того, как отработают пути диалога и обработки ошибок.