Grok Realtime
xai-realtime
Grok Realtime — генерация аудио от xai, доступная через единый Ranvik API. Поддерживаемые возможности: audio_input, streaming.
от 37.24 ₽ / мин
Технические характеристики
xai-realtimeВозможности
Streaming (SSE)— Получение ответа по мере генерации — токен за токеном через Server-Sent Events.
Как работает
Передай stream: true в теле запроса — сервер вернёт SSE-поток с заголовком
content-type: text/event-stream. Каждый чанк — строка вида data: {...}\n\n.
Конец потока — data: [DONE]\n\n.
curl -N https://api.ranvik.ru/v1/chat/completions \
-H "Authorization: Bearer rk_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5",
"messages": [{"role": "user", "content": "Привет"}],
"stream": true,
"stream_options": {"include_usage": true}
}'
Каждый чанк содержит choices[0].delta — частичные данные. Последний чанк перед
[DONE] (если включить stream_options.include_usage: true) содержит usage
с реальным числом токенов — используй для биллинг-учёта на клиенте.
Когда использовать
- Чат-интерфейсы, где важна перцептивная скорость отклика.
- Длинные ответы (> 1000 токенов) — пользователь видит прогресс.
- Streaming tool-calls —
delta.tool_calls[i].function.argumentsприходят инкрементально.
Когда НЕ использовать
- Backend-to-backend интеграции, где нужен только финальный JSON — добавляет парсинг SSE без выгод.
- Когда обязательно знать стоимость до отправки в БД — без
include_usageзатраты неизвестны.
- Audio Input
- Streaming
Цены
| Единица | Цена |
|---|---|
| за минуту · auto (est.) | 37.24 ₽ |
Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.
Поддерживаемые параметры
Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.
| Параметр | Тип | Диапазон / values | Default | Описание |
|---|---|---|---|---|
model | string | — | — | ID модели (передаётся через session.update event после WebSocket connection). примеры значенийПримеры xai:realtime@0 |
voice | enum | una, leo, eve, ara, sal, rex | — | Голос для audio output (тот же набор что у xai-tts). |
instructions | string | — | — | Системные инструкции для realtime-сессии (передаются через session.update). |
temperature | number | min: 0 · max: 2 | — | Sampling temperature. |
input_audio_format | enum | pcm16, g711_ulaw, g711_alaw | — | Формат audio input. Сырой 16-bit PCM или G.711 для телефонии. |
output_audio_format | enum | pcm16, g711_ulaw, g711_alaw | — | Формат audio output. |
turn_detection | object | — | — | Настройка VAD (voice activity detection). {type: "server_vad", threshold, prefix_padding_ms, silence_duration_ms} либо null для disabled. |
tools | array | — | — | Function calling tools для realtime-режима. |
Параметры ответа
Что возвращает API. У медиа-моделей формат зависит от режима: sync — сразу результат, async — task_id для опроса через GET /v1/tasks/{id}.
Sync (HTTP 200)
Для TTS короткого input: HTTP 200, **binary audio** (Content-Type: audio/mpeg / audio/wav / ...). Это НЕ JSON — это байты файла.
audio/mpeg, audio/wav, audio/opus, audio/ogg Async (HTTP 202)
Если is_async_only=1 (music gen) или async:true в запросе. HTTP 202 + JSON.
| Поле | Тип | Значения | Описание |
|---|---|---|---|
id | string | — | task_id для GET /v1/tasks/{id}. |
object | string | audio.task | |
status | enum | queued, processing, completed, failed | |
model | string | — | |
created | integer | — |
Опрос статуса (GET /v1/tasks/{id})
GET /v1/tasks/{id}.
| Поле | Тип | Значения | Описание |
|---|---|---|---|
id | string | — | |
status | enum | queued, processing, completed, failed, canceled | |
modality | string | audio | |
model | string | — | |
data | array | — | Каждый элемент:
|
error | string | — |
Пример запроса
from openai import OpenAI
client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.audio.speech.create(
model= "value",
voice= "una",
instructions= "value",
temperature= 1,
input_audio_format= "pcm16",
output_audio_format= "pcm16",
turn_detection= {},
tools= [],
)
print(resp) Замените rk_live_... на ваш ключ из кабинета.