Генерация аудио · xai

Grok Realtime

xai-realtime

Grok Realtime — генерация аудио от xai, доступная через единый Ranvik API. Поддерживаемые возможности: audio_input, streaming.

от 37.24 ₽ / мин

Технические характеристики

МодальностьГенерация аудио
Провайдерxai
СтатусАктивна
ID для запросов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) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.

ПараметрТипДиапазон / valuesDefaultОписание
modelstring ID модели (передаётся через session.update event после WebSocket connection).
примеры значений
Примеры
xai:realtime@0
voiceenumuna, leo, eve, ara, sal, rex Голос для audio output (тот же набор что у xai-tts).
instructionsstring Системные инструкции для realtime-сессии (передаются через session.update).
temperaturenumbermin: 0 · max: 2 Sampling temperature.
input_audio_formatenumpcm16, g711_ulaw, g711_alaw Формат audio input. Сырой 16-bit PCM или G.711 для телефонии.
output_audio_formatenumpcm16, g711_ulaw, g711_alaw Формат audio output.
turn_detectionobject Настройка VAD (voice activity detection). {type: "server_vad", threshold, prefix_padding_ms, silence_duration_ms} либо null для disabled.
toolsarray 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 — это байты файла.

Binary response. Content-Type: audio/mpeg, audio/wav, audio/opus, audio/ogg

Async (HTTP 202)

Если is_async_only=1 (music gen) или async:true в запросе. HTTP 202 + JSON.

ПолеТипЗначенияОписание
idstring task_id для GET /v1/tasks/{id}.
objectstringaudio.task
statusenumqueued, processing, completed, failed
modelstring
createdinteger

Опрос статуса (GET /v1/tasks/{id})

GET /v1/tasks/{id}.

ПолеТипЗначенияОписание
idstring
statusenumqueued, processing, completed, failed, canceled
modalitystringaudio
modelstring
dataarray
Каждый элемент:
  • url— string · CDN URL .mp3 / .wav. Для Suno music — 1-2 файла (варианты трека).
errorstring

Пример запроса

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_... на ваш ключ из кабинета.