![Блог: интеграция OpenAI Realtime API с WebRTC, SIP и WebSockets для приложений в реальном времени [База знаний Фора Софт]](https://cdn.prod.website-files.com/647d86e4fc32c113a4d42852/6a00bcc4b9b2a4b762708466_69e285492a3c4e1cb1ef3b22_68fb4b597f0619cb7678b253_openai-realtime-cover.webp)
Главное
• OpenAI Realtime поставляет три транспорта. WebRTC для браузеров, WebSockets для серверов и нативный SIP для телефонных систем — выбирайте по тому, где начинается аудио, а не по личным предпочтениям.
• Сквозная задержка от микрофона до динамика укладывается в ~500–1200 мс на первом ходе и ~300–600 мс на последующих. Именно эта разница отделяет «звучит как живой человек» от «линия оборвалась?».
• Стоимость составляет около 13,5–18 ₽ за минуту для gpt-realtime и ~4,5–7,5 ₽ для gpt-realtime-mini. Точка безубыточности относительно одного живого оператора — около 60 часов разговоров.
• SIP-интеграция всё ещё чаще всего идёт через Twilio, Telnyx или FreeSWITCH. Нативный SIP-эндпоинт OpenAI находится в бете — в 2026 году схема с мостом остаётся безопасным дефолтом для продакшена.
• Фора Софт делает WebRTC и голосовую инфраструктуру с 2012 года. Двадцать лет работы с аудио и видео, более 625 проектов и конкретный опыт, который поможет вам обойти утечки эфемерных токенов, дедлоки на barge-in и кодек-кошмары в SIP.
Подробнее по теме: читайте наше полное руководство — WebRTC на Android: SDK, захват, Compose UI (2026).
Почему Фора Софт написала это руководство
Фора Софт уже два десятилетия делает программное обеспечение для видео и голоса, а WebRTC мы поставляем с 2012 года — дольше, чем большинство команд пользуется Slack. Мы строили голосовые ИИ-слои поверх платформ для видеоконференций, таких как ProVideoMeeting, телемедицинских продуктов вроде CirrusMED и Cloud Doctors, а также совместных аудиопродуктов вроде Tyxit.
Это руководство — тот самый документ, по которому мы ведём технических руководителей, когда они спрашивают: «Можем ли мы добавить ИИ-слой голоса в реальном времени в наш продукт за этот квартал?». Вы получите архитектуру, паттерны интеграции на уровне кода для WebRTC, WebSocket и SIP, расчёт цен, заметки по комплаенсу и подборку ловушек, в которые мы наблюдали как попадают другие команды. Для базовых знаний по WebRTC рекомендуем также наш плейбук по задержке менее 1 секунды.
Мало времени? Перейдите к разделу 8 (матрица сравнения транспортов) или к разделу 14 (фреймворк принятия решения из пяти вопросов).
Хотите подключить Realtime AI к своему продукту за недели, а не за кварталы?
Расскажите про ваш стек (WebRTC, SIP, WebSocket, телефонная PBX) — и мы составим план интеграции на 6–12 недель.
Что на самом деле представляет собой OpenAI Realtime API
Если коротко: это двунаправленная аудио- и текстовая сессия по постоянному соединению, за которой стоит мультимодальная модель (gpt-realtime или gpt-realtime-mini). Модель принимает потоковое аудио на входе и выдаёт потоковое аудио на выходе, а на побочном канале обрабатывает события function calling.
Конкретно: API заменяет старый пайплайн «STT → LLM → TTS» одной моделью, которая обрабатывает речь от начала до конца. Это убирает 200–800 мс служебной задержки и заметно улучшает работу с очерёдностью реплик и перебиваниями — модель сама управляет таймингом, а не ждёт, пока три отдельных сервиса передадут друг другу данные.
Сессия — это просто сокет. После подключения вы:
- Отправляете аудио пользователя (PCM16 на 24 кГц или Opus) по мере его захвата.
- Получаете обратно аудиокадры (в том же формате) для немедленного воспроизведения.
- Отправляете и принимаете JSON-события для вызовов функций, обновлений сессии и управления (commit, cancel, остановка генерации).
- При желании подключаете транскрипты, инструменты, системные промпты или кастомный голос из заранее заданного списка.
Не нужно отдельно подключать «TTS API». Не нужно внешнее STT. В этом и есть ценность: более простой и быстрый пайплайн, который ощущается как живой разговор.
Шесть сценариев использования, которые окупают интеграцию
Не каждой функции нужен голосовой ИИ с задержкой меньше секунды. Вот шесть паттернов, которые в 2026 году выходят в продакшен с измеримой отдачей:
1. Входящий ИИ-колл-центр / ИИ-ресепшен
Самый высокоэффективный сценарий. ИИ обрабатывает 60–80% рутинных звонков (статус заказа, сброс пароля, запись на приём, FAQ); люди берут на себя оставшиеся 20–40% сложных случаев. Транспорт — SIP через мост Twilio или Telnyx. Типичная точка безубыточности относительно живых операторов: ~60 оплачиваемых часов в месяц.
2. Голосовой копилот внутри SaaS-продукта
WebRTC напрямую в браузере. Пользователь нажимает кнопку микрофона внутри приложения; копилот считывает контекст текущей страницы и выполняет действия через function calling. Применяется в дашбордах, CRM и приложениях для выездных служб.
3. Видеоконференции с расширением через ИИ
Бот-«пристройка» в самой встрече. Транскрибирует, отвечает на вопросы, фиксирует пункты действий, подключается голосом.
4. Живой перевод и устный перевод
Многоязычный голос на входе и на выходе. Realtime говорит на 40+ языках, переключается между ними посреди фразы, справляется с региональными акцентами.
5. Исходящие ИИ-звонки и холодные обзвоны (с ограничителями)
Спорно, но используется. Подтверждения встреч, сбор опросов, квалификация лидов. Соблюдайте требования о согласии обеих сторон и региональные требования о раскрытии информации — технически всё несложно, сложна именно регуляторная позиция.
6. Голосовой первичный приём в телемедицине
Зона HIPAA. Голосовой сбор симптомов, запись на приём, сверка лекарств. Требует соглашения BAA с OpenAI и режима Zero Data Retention.
Берите Realtime, когда: голосовая петля менее 1,5 с — это и есть фишка продукта, и пользователь заметит, если она будет тормозить. Для асинхронной транскрипции, саммари или разовой генерации речи проще оставаться на схеме STT + чат-модель + TTS — дешевле и проще.
Три транспорта: сравнение бок о бок
Транспорт определяет, где начинается ваше аудио, как устроена аутентификация и кто отвечает за полосу пропускания. Сначала выберите его, потом подключайте всё остальное.
| Параметр | WebRTC | WebSocket | SIP |
|---|---|---|---|
| Типичный источник аудио | Браузер / мобильный SDK | Сервер, серверный агент | Телефон PSTN, PBX |
| Кто хранит секретный ключ | Сервер выпускает эфемерный токен, клиент его использует | Сервер хранит реальный API-ключ | Сервер хранит реальный API-ключ и SIP-учётку |
| Аудио-кодек | Opus (нативно) | PCM16 @ 24 кГц base64 | G.711 / Opus, с транскодированием |
| Подавление эха | Стек WebRTC в браузере | Делаете сами | SIP-эндпоинт или шлюз |
| Дополнительная задержка относительно прямого подключения | ~0 мс (peer) | + серверный хоп, 30–120 мс | + мост и транскодирование, 80–200 мс |
| Перебивание / barge-in | Сильное, нативный VAD | VAD реализуете сами | Зависит от шлюза |
| Подходит для | Копилотов в браузере, веб-приложений | Серверных ботов, замены IVR, кастомных агентов | Телефонных систем, колл-центров, PSTN |
Интеграция через WebRTC примерно в 40 строках
Браузерный паттерн состоит из трёх шагов: сервер выпускает эфемерный ключ, браузер открывает PeerConnection с этим ключом, аудио-треки идут в обе стороны. Function calling идёт по дата-каналу рядом с медиа.
На сервере: выпускаем краткосрочный токен сессии
// Node.js example - server route
app.post('/realtime/token', async (req, res) => {
const r = await fetch('https://api.openai.com/v1/realtime/sessions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-realtime',
voice: 'alloy',
instructions: 'You are a helpful voice assistant for Acme Corp.'
})
});
const data = await r.json();
res.json({ client_secret: data.client_secret }); // short TTL ~60s
});
На клиенте: PeerConnection и аудио-треки
const { client_secret } = await fetch('/realtime/token', {method:'POST'}).then(r=>r.json());
const pc = new RTCPeerConnection();
pc.ontrack = e => { audioEl.srcObject = e.streams[0]; };
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
stream.getAudioTracks().forEach(t => pc.addTrack(t, stream));
const dc = pc.createDataChannel('oai-events');
dc.onmessage = e => console.log('event', JSON.parse(e.data));
const offer = await pc.createOffer();
await pc.setLocalDescription(offer);
const sdpResp = await fetch(
'https://api.openai.com/v1/realtime?model=gpt-realtime',
{ method:'POST', body: offer.sdp,
headers:{ 'Authorization': `Bearer ${client_secret}`, 'Content-Type':'application/sdp' } }
);
await pc.setRemoteDescription({ type:'answer', sdp: await sdpResp.text() });
Это весь базовый каркас. Дальше вы шлёте JSON-события по дата-каналу, чтобы регистрировать инструменты, обновлять инструкции сессии, отменять текущие ответы или обрабатывать вызовы функций. Сами медиа уже работают через стандартный WebRTC-стек.
Интеграция через WebSocket для серверных агентов
WebSocket — правильный выбор, когда источник аудио — сервер: например, мост к SIP, обработка IVR или чисто серверный голосовой агент. Здесь вы держите реальный API-ключ, кодируете кадры PCM16 на 24 кГц в base64 и слушаете события ответа.
import WebSocket from 'ws';
const ws = new WebSocket(
'wss://api.openai.com/v1/realtime?model=gpt-realtime',
{ headers:{
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
'OpenAI-Beta': 'realtime=v1' } });
ws.on('open', () => {
ws.send(JSON.stringify({
type: 'session.update',
session: { instructions: 'You are a call-center agent for a credit-union.' }
}));
});
ws.on('message', (raw) => {
const e = JSON.parse(raw.toString());
if (e.type === 'response.audio.delta') {
const pcm16 = Buffer.from(e.delta, 'base64');
audioOutStream.write(pcm16); // stream to SIP, speaker, or client
}
});
// Streaming user audio in:
function pushFrame(pcm16) {
ws.send(JSON.stringify({
type: 'input_audio_buffer.append',
audio: pcm16.toString('base64')
}));
}
Следите за буферами. Моно-PCM16 на 24 кГц — это около 48 КБ/с в каждом направлении. Если воспроизведение или транскодирование на стороне получателя блокируется, очередь WebSocket разрастается, и вы теряете реплики. Всегда сливайте данные на отдельном воркере с обратным давлением — не запускайте тяжёлые CPU-операции в обработчике сообщений.
SIP-интеграция через мост Twilio или Telnyx
Для любого продукта, которому нужен телефонный номер, практичный путь в продакшен в 2026 году выглядит так: SIP/PSTN-провайдер впереди, WebSocket-мост посередине, OpenAI Realtime в конце. Нативный SIP-эндпоинт OpenAI развивается, но всё ещё в бете — мы по умолчанию используем схему с мостом ради надёжности и гибкости по кодекам.
| Звено | Зона ответственности | Инструменты |
|---|---|---|
| 1. PSTN-оператор | Номер телефона, входящие/исходящие, CDR | Twilio, Telnyx, SignalWire, Bandwidth |
| 2. Стриминг медиа | Открывает WebSocket к вашему мосту с кадрами G.711 или Opus | Twilio Media Streams, Telnyx Call Control |
| 3. Мост (ваш) | Ресемплирует 8 кГц → 24 кГц PCM16, держит контекст сессии, обрабатывает barge-in | WebSocket-сервер на Node.js / Go / Rust |
| 4. OpenAI Realtime | Инференс модели, TTS, function calling | gpt-realtime или gpt-realtime-mini |
| 5. Обратный путь | Ресемплирует 24 кГц → 8 кГц, отправляет обратно в SIP | Тот же мост |
Если вы уже на Twilio, то на крупных голосовых нагрузках чистый переход на другого провайдера может окупиться за пару недель.
Бюджет задержки: куда уходит каждая миллисекунда
«Звучит как живой человек» начинается примерно ниже 1200 мс на первом ходе и 600 мс на последующих. Свыше 2 секунд пользователь решает, что звонок оборвался. Вот куда на самом деле уходит этот бюджет:
| Этап | WebRTC | WebSocket (сервер) | SIP + мост |
|---|---|---|---|
| Захват с микрофона + VAD | 20–50 мс | 20–50 мс | 30–80 мс |
| Сеть до OpenAI | 20–100 мс | 30–120 мс | 80–200 мс |
| Инференс модели до первого токена | 100–300 мс | 100–300 мс | 100–300 мс |
| Стриминг аудио обратно | 200–400 мс | 200–400 мс | 200–400 мс |
| Буфер воспроизведения | 50–100 мс | 50–100 мс | 80–150 мс |
| Итого (первый ход) | 400–950 мс | 450–1050 мс | 590–1280 мс |
Самые большие выигрыши: размещайте свой мост в том же регионе, что и API OpenAI; настраивайте чувствительность VAD (ложные срабатывания «конец речи» убивают опыт); и держите буферы воспроизведения минимальными. Наш общий плейбук по этой теме: минимизация задержки до < 1 секунды.
Цены в 2026 году и сравнение с альтернативами
Цены на OpenAI Realtime считаются в токенах по аудио и тексту, но полезное число — стоимость за минуту разговора. Диапазоны ниже исходят из типичных пропорций входящих и исходящих токенов на минуту по состоянию на апрель 2026 года.
| Провайдер / модель | ~Стоимость / минута | Сильные стороны | Компромиссы |
|---|---|---|---|
| OpenAI gpt-realtime | 13,5–18 ₽ | Лучшие рассуждения, сильный function calling, разнообразие голосов | Самая дорогая опция в первой лиге |
| OpenAI gpt-realtime-mini | 4,5–7,5 ₽ | Отличная цена для большого объёма рутинных звонков | Слабее в многошаговых рассуждениях и работе с инструментами |
| Google Gemini Live | 9–11 ₽ | Мультимодальность (изображение + голос), хороший многоязычный режим | Менее зрелый function calling |
| Deepgram Voice Agent | 3–11 ₽ | Сборка из STT + ваша LLM + TTS, самая дешёвая нижняя планка | Интегрируете три части, а не одну |
| ElevenLabs голос + LLM | 37–75 ₽ | Лучшее качество голоса в классе, кастомные голоса | Дорого при больших объёмах |
| Живой оператор колл-центра | 18–37 ₽/мин с учётом всех затрат | Сложные рассуждения, эмпатия, эскалация | Графики, текучесть, расходы на обучение |
Расчёт безубыточности. Команда, которая обрабатывает 10 000 входящих минут в месяц при стоимости живого оператора около 30 ₽ за минуту с учётом всех затрат, тратит 300 000 ₽. Тот же объём на gpt-realtime-mini обойдётся в 45 000–75 000 ₽ — при достаточном качестве промпта возврат инвестиций становится виден уже в первый месяц после запуска по рутинным входящим.
Хотите, чтобы мы прикинули ROI вашего голосового ИИ?
Расскажите про объём звонков и сценарий использования — за 30 минут наметим стоимость, задержки и план разработки на 8 недель.
Function calling: где голос становится полезным
Голосовой агент, который умеет только говорить, — это игрушка. Голосовой агент, который может найти заказ, перенести запись на приём, оформить возврат и подтвердить его, — это уже продукт. Function calling и есть тот механизм, благодаря которому это становится возможным.
Вы регистрируете инструменты в начале сессии; модель сама решает, когда их вызвать; ваш бэкенд исполняет вызов; вы возвращаете результат через очередное событие; модель продолжает говорить.
ws.send(JSON.stringify({
type: 'session.update',
session: {
tools: [{
type: 'function',
name: 'lookup_order',
description: 'Look up an order by order number',
parameters: {
type: 'object',
properties: { order_id: { type: 'string' } },
required: ['order_id']
}
}]
}
}));
// On function_call_arguments.done -> fetch real data -> send function_call_output
ws.on('message', async raw => {
const e = JSON.parse(raw.toString());
if (e.type === 'response.function_call_arguments.done') {
const args = JSON.parse(e.arguments);
const order = await db.orders.findById(args.order_id);
ws.send(JSON.stringify({
type: 'conversation.item.create',
item: {
type: 'function_call_output',
call_id: e.call_id,
output: JSON.stringify(order)
}
}));
ws.send(JSON.stringify({ type: 'response.create' }));
}
});
Три правила, которые окупаются. Первое: держите полезные нагрузки инструментов компактными — иначе модель зачитает каждый JSON-ключ вслух. Второе: проверяйте каждый аргумент на стороне сервера до того, как что-то делать; на нестрогой схеме модель будет галлюцинировать значения перечислений. Третье: никогда не отдавайте PII прямо в выходе инструмента — маскируйте и редактируйте перед возвратом.
Мини-кейс: голосовой копилот внутри SaaS-продукта среднего сегмента
Ситуация. SaaS для выездных служб, обслуживающий мастеров по системам HVAC, хотел голосового копилота, которым техник мог бы пользоваться без рук, прямо из кабины грузовика. Существующий продукт был дашбордом на React с REST API; пользователи пропускали ввод данных, потому что печатать на телефоне в перчатках слишком долго.
План на 12 недель. 1–2 недели: проработать 10 голосовых интентов (создание заявки, обновление статуса, запрос детали, отметка о выставленном счёте). 3–6 недели: WebRTC-транспорт в существующем React-приложении, эндпоинт эфемерных токенов на Node, существующий REST API подключается как набор инструментов с жёсткой серверной валидацией. 7–9 недели: офлайн-фолбэк, UI с push-to-talk, настройка эхоподавления под акустику кабины грузовика. 10–12 недели: пилот, отслеживание KPI, доводка.
Результат. Заполняемость данных выросла с 61% до 94% на пилотном парке из 40 грузовиков. Среднее время на одну запись по работе сократилось с 4:10 до 1:20. Голосовые звонки копилоту в среднем выходили на 430 мс до первого ответа на 4G-канале. Стоимость уложилась в менее чем 675 ₽ на пользователя в месяц при наблюдаемом уровне использования.
Фреймворк принятия решения из пяти вопросов
Q1. Где начинается аудио? Браузер → WebRTC. Телефон → SIP-мост. Серверный агент в формате «сервер — сервер» → WebSocket. Не смешивайте транспорты без серьёзной причины.
Q2. Вам нужен function calling или просто разговор? Если только разговор (интервью, ролевые игры, компаньон) — gpt-realtime-mini хватит. Если модель должна действовать в вашей системе учёта, вам понадобится gpt-realtime плюс дисциплинированный дизайн инструментов.
Q3. Какова ваша область комплаенса? Здравоохранение — HIPAA BAA + opt-in на ZDR. Данные пользователей в ЕС — SCC, проверка от DPO. Платежи — никогда не отправляйте номера карт в LLM; используйте DTMF или веб-форму.
Q4. Какой у вас целевой SLO по задержке? Меньше секунды — ощущается живо; 1–2 секунды — терпимо для некритичных разговоров; больше 2 секунд — пользователь решит, что что-то сломалось. Подбирайте транспорт под этот таргет.
Q5. Как будете эскалировать на живого оператора? Любому продакшен-агенту нужен плавный путь передачи разговора человеку. Грамотную эскалацию построить часто сложнее, чем самого агента.
Пять ловушек, которые топят проекты с realtime-голосом
1. Утечка реального API-ключа в браузер. Эфемерные токены существуют не просто так. Никогда не отправляйте сырой ключ на клиент. Выпускайте токены с коротким TTL на сервере; ротируйте; логируйте выдачу.
2. VAD настроен не на ту сторону. Большинство команд ставят слишком агрессивный VAD на стороне пользователя — и обрезают речь; либо слишком мягкий на стороне агента — и модель продолжает говорить, перекрывая попытки перебить. Настраивайте обе стороны независимо.
3. Гонки на barge-in. Пользователь начинает говорить, пока агент ещё посередине фразы. Если не успеете отправить response.cancel вовремя, агент будет говорить поверх вопроса пользователя. Всегда отменяйте по первому срабатыванию VAD, а не по концу тишины.
4. Сюрпризы транскодирования SIP-кодеков. Цикл G.711 @ 8 кГц → PCM16 24 кГц добавляет 50–100 мс и снижает качество. Договаривайтесь об Opus, если оператор его поддерживает.
5. Нет пути эскалации к человеку. Голосовой ИИ-агент без передачи на живого оператора — это риск. Те 10% звонков, с которыми он не справится, должны попадать к тому, кто справится — и переход должен быть бесшовным, а не разрывом связи.
KPI, которые стоит отслеживать с первого дня
KPI качества. Задержка первого ответа P95 (цель < 1,2 с); процент успешных перебиваний (цель > 95%); процент завершённых задач (цель > 80% по проработанным интентам); удовлетворённость пользователей (CSAT > 4,2 / 5).
Бизнес-KPI. Стоимость одного звонка (цель < 25% от стоимости человека); процент отклонения от живых операторов (доля звонков, решённых без человека); время до решения относительно человеческой базовой линии; процент эскалаций (обычно стабилизируется на уровне 10–25% в зависимости от объёма сценариев).
KPI надёжности. Процент обрывов сессий < 1%; переполнение PCM-буфера = 0; процент успешных вызовов функций > 98%; процент «не понимаю» / fall-through < 5%.
Безопасность и комплаенс простыми словами
Zero Data Retention (ZDR). OpenAI предлагает opt-in, при котором промпты и аудио не сохраняются и не используются для обучения. Обязательно для регулируемых отраслей; запросить можно через Trust Center. Не запускайте ничего чувствительного, пока ZDR не включён для вашей организации.
HIPAA. BAA доступно для covered entities; ведите аудит-логи каждой сессии, ролевой доступ к транскриптам, RBAC на инструменты function calling, которые касаются PHI.
Запись звонков и согласие. Штаты с двусторонним согласием (CA, FL, IL, MD, MA, MT, NH, PA, WA) требуют явного предупреждения. Всегда сообщайте о записи и о том, что собеседник — ИИ, в начале звонка.
PCI. Никогда не позволяйте модели захватывать номера кредитных карт. Используйте DTMF с PCI-совместимым провайдером (Twilio PCI Mode, аналогичный режим у Telnyx) или передавайте пользователя в защищённую веб-форму.
Когда НЕ стоит использовать OpenAI Realtime
Три реальных сценария, в которых вы пожалеете об этом выборе:
Вам нужна только транскрипция. Берите специализированный STT (Deepgram, AssemblyAI, Whisper). Дешевле и лучше под одну задачу.
Вам нужен конкретный фирменный голос. Голоса Realtime — фиксированный набор. Если бренду нужен кастомный голос, может подойти связка ElevenLabs или Resemble с LLM.
Вы не можете позволить себе 4,5–18 ₽ за минуту при ожидаемом объёме. Посчитайте. Если маржинальность одного звонка не покрывает эту сумму, имеет смысл ограничить ИИ только высокоценными моментами (триаж, ответы на вопросы по эскалации) вместо всего звонка целиком.
Часто задаваемые вопросы
Сколько стоит ИИ-голосовой агент по сравнению с человеком?
При 10 000 входящих минут в месяц gpt-realtime-mini обходится примерно в 45 000–75 000 ₽. Полностью загруженный живой оператор на том же объёме стоит 187 500–375 000 ₽. Точка безубыточности обычно наступает в первые 4–8 недель после запуска по рутинным входящим.
Может ли OpenAI Realtime полностью заменить живого оператора?
Для рутинных скриптовых звонков (статус заказа, сброс пароля, запись на приём) — да, на 80–90%. Для сложных переговоров, эмоциональных жалоб и всего, что требует человеческого суждения, — нет; планируйте путь передачи и закладывайте под него людей. Гибрид «ИИ → человек» обычно даёт более высокий CSAT, чем любой из них в одиночку.
Работает ли это с нашей существующей PBX или телефонной системой?
Да, через SIP-провайдера (Twilio, Telnyx, SignalWire) и мост. Для устаревшей PBX добавляется SIP-транк. Для облачной PBX настраивается SIP URI. Интеграция обычно занимает 2–6 недель в зависимости от оператора и согласования кодеков.
Какие языки поддерживает OpenAI Realtime?
40+ нативно, включая английский, испанский, французский, немецкий, португальский, мандаринский, японский, корейский, арабский, хинди. Переключение между языками посреди фразы работает. Устойчивость к акцентам приличная, но её стоит проверить на вашей целевой аудитории до выхода в продакшен.
Совместим ли API с HIPAA?
Может быть: OpenAI предлагает BAA вместе с Zero Data Retention. Окружающий контур всё равно реализуете вы — аудит-логи, RBAC, шифрование данных в покое, информирование пациента о согласии. Сама модель становится субпроцессором после подписания BAA.
Как не дать модели галлюцинировать на чувствительных звонках?
Жёсткий системный промпт с чётким скоупом, function calling с серверной валидацией, ответы, привязанные к данным через retrieval (политики, цены, информация по аккаунту), и шаблоны отказов на вопросы вне скоупа. Никогда не позволяйте модели придумывать цифры, политики или обязательства на реальном звонке.
Сколько на самом деле занимает интеграция?
MVP голосового копилота только для веба: 4–6 недель. ИИ-ресепшен по телефону через SIP: 6–10 недель. Продакшен-уровень ИИ-колл-центра с эскалацией, аналитикой, PCI и HIPAA: 12–20 недель. Наша практика Agent Engineering обычно сокращает эти сроки на 20–30% за счёт готовых заготовок.
Можно ли дообучить голос или личность?
Аудио-модель дообучить пока нельзя, но вы получаете сильное управление через системные промпты, выбор голоса из встроенного набора, дизайн инструментов и few-shot примеры. Если нужен фирменный голос — берите ElevenLabs или Resemble в связке с текстовой LLM, это уже другая архитектура.
Что почитать дальше
Задержка
Минимизация задержки до менее 1 секунды
Инженерные правила, которые стоят за голосовыми и видеопродуктами с задержкой меньше секунды.
QA
Как тестировать качество WebRTC-стрима
MOS, фризы, рассинхрон lip-sync — стенд, который наша команда использует для голосовых продуктов.
Android
WebRTC на Android: SDK, захват и Compose UI
Полное руководство по разработке видеочата на Android с WebRTC.
Готовы запустить свою первую realtime-фичу с голосом?
Краткий плейбук: выбирайте транспорт под источник аудио (WebRTC, WebSocket или SIP-мост); выпускайте эфемерные токены и никогда не сливайте реальный ключ; проектируйте инструменты с жёсткими схемами и серверной валидацией; закладывайте обработку barge-in и пути эскалации; первым запускайте gpt-realtime-mini ради цены, переходите на gpt-realtime там, где важны рассуждения. Сделайте это — и у вас получится голосовой продукт, который ощущается как живой человек, при стоимости ~4,5–18 ₽ за минуту.
Если это похоже на то, что вы хотите построить, и стартовать с пустого редактора не хочется, — такие интеграции мы делаем неделя за неделей. Готовы пройтись по архитектуре на коротком звонке.
Поговорите с командой Фора Софт — мы запустили более 50 голосовых и видеопродуктов
30 минут, ваша архитектура на доске, готовый план интеграции Realtime AI в продукт — даже если в итоге мы не будем строить его вместе.

