Skip to main content
GPT-Live підтримує одночасне слухання й мовлення, двосторонні субтитри та фонові завдання. Голосові дзвінки ChatGPT у Studio використовують gpt-live-1 для обробки мовлення, а складні питання й надалі обробляє поточно вибрана модель чату.

Підключення

Використовуйте API Token платформи для підключення до wss://realtime.acedata.cloud/v1/live/sessions. Для Studio або облікових даних сервісу чату використовуйте wss://realtime.acedata.cloud/aichat2/live. Сервер виконує автентифікацію через Authorization: Bearer <token>; браузер передає облікові дані через підпротокол WebSocket, щоб уникнути запису в URL:
Після очікування session.started безперервно надсилайте session.input_audio.append, де audio — це Base64 необробленого аудіо PCM із частотою 24 кГц, моно, 16-бітного little-endian, без заголовка файлу WAV. Надсилайте аудіо з фактичною швидкістю семплування, а сегменти тиші також мають залишатися безперервними. Відтворюйте session.output_audio.delta.delta по черзі. Субтитри користувача й асистента надходять відповідно з session.input_transcript.delta та session.output_transcript.delta; зберігайте кожен delta, start_ms, end_ms; субтитри обох сторін можуть зростати одночасно. У Live немає події завершення кожної голосової відповіді, тому стан «відповідає» слід оновлювати на основі локальної черги відтворення.

Фонові завдання

Наразі підтримується режим делегування client. Після отримання session.delegation.created застосунок викликає власний бекенд на основі голосових субтитрів і збереженого контексту та повертає результат через session.thinking.append або session.commentary.append, передаючи відповідний delegation_id і текстовий content до 500 токенів. Результати мають надходити із завершених фонових операцій; переривання мовлення не означає, що фонове завдання скасовано. Делегування керованих Responses, зберігання записів, session.update, відновлення сесії або автоматичне перепідключення поки що не підтримуються. Модель фіксована як gpt-live-1, аудіо фіксоване як PCM16 із частотою 24 кГц, а голос обирається на початку дзвінка. Старий Realtime API усе ще можна використовувати.

Тарифікація та завершення дзвінка

Мовлення тарифікується за тривалістю активної сесії: 0.01 Credits/секунду, тобто 0.6 Credits/хвилину, без округлення вгору до повних хвилин. Час, коли говорить користувач, говорить асистент, триває тиша, обидві сторони мовчать або очікується фонове завдання, тарифікується. Фонова модель або виклики інструментів тарифікуються окремо відповідно до відповідного API. Ціна Credits у доларах залежить від пакета поповнення, орієнтуйтеся на поточну ціну в консолі. session.usage.updated.usage.seconds — це накопичене використання. Наприклад, якщо спочатку отримано 12 секунд, а потім 15 секунд, загалом це 15 секунд. Платформа розраховує лише додану тривалість і не підсумовує повторно знімки. Під час завершення надішліть session.close, продовжуйте отримувати дані до отримання session.closed, після чого закрийте з’єднання та звільніть мікрофон. Примусове відключення може призвести до того, що остаточне використання не буде підтверджено, і інтерфейс має чітко про це повідомляти. У разі недостатнього балансу, збою тарифікації або досягнення ліміту сесії з’єднання буде завершено. За замовчуванням один дзвінок може тривати максимум 30 хвилин. Помилки параметрів повертаються через подію error; error.client_event_id відповідає невдалій команді. У разі невдалого запуску слід зупинити запис і показати помилку, не перемикаючи автоматично модель і не повторюючи спроби, що створюють нові витрати.