Real-time голосовой API
Откройте живую голосовую сессию с агентом проекта по API-ключу: устройство, приложение или SDK подключается напрямую (WebRTC) и ведёт диалог в реальном времени — с тем же агентом, что и в телефонии, со своей базой знаний и встроенными инструментами.
Как это работает
- Ваш бэкенд запрашивает сессию:
POST /v1/public/realtime/session(нужен ключ со scopewrite). - В ответ — доступ к комнате LiveKit:
url,token,room. - Устройство/клиент подключается к комнате по любому LiveKit-SDK (JS, Swift, Kotlin, Flutter, Unity, Python…) и включает микрофон.
- Агент автоматически присоединяется к комнате и начинает разговор.
Запрос сессии
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