Real-time голос

Real-time голосовой API

Откройте живую голосовую сессию с агентом проекта по API-ключу: устройство, приложение или SDK подключается напрямую (WebRTC) и ведёт диалог в реальном времени — с тем же агентом, что и в телефонии, со своей базой знаний и встроенными инструментами.

Как это работает

  1. Ваш бэкенд запрашивает сессию: POST /v1/public/realtime/session (нужен ключ со scope write).
  2. В ответ — доступ к комнате LiveKit: url, token, room.
  3. Устройство/клиент подключается к комнате по любому LiveKit-SDK (JS, Swift, Kotlin, Flutter, Unity, Python…) и включает микрофон.
  4. Агент автоматически присоединяется к комнате и начинает разговор.

Запрос сессии

curl -X POST https://api.maia-ai.com/v1/public/realtime/session \
  -H "X-API-Key: maia_ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{ "project_id": "ваш-uuid-проекта" }'

Ответ:

{
  "url": "wss://lk.maia-ai.com",
  "token": "eyJhbGciOi...",
  "room": "rt-1a2b3c4d-...",
  "expires_in": 3600,
  "minute_price": "6.65"
}

Подключение клиента

url + token передайте в LiveKit-SDK. Пример на JS (livekit-client):

import { Room } from "livekit-client";
 
const room = new Room();
await room.connect(url, token);              // url и token из ответа выше
await room.localParticipant.setMicrophoneEnabled(true);
// агент подключится к комнате сам и начнёт диалог

Тарификация

Сессия тарифицируется поминутно с момента подключения по цене минуты связки проекта (minute_price в ответе), как браузерная голосовая сессия. Перед выдачей токена проверяются активная подписка и достаточный баланс — иначе 402.

Токен действует 1 час (expires_in). Сессия завершается, когда клиент отключается, когда агент сам кладёт трубку или по достижению лимита длительности.

См. также: Аутентификация · REST API · API Reference