OpenAI WebSocket API: потоковая передача в реальном времени на 75% дешевле

Smart AIPI теперь поддерживает OpenAI WebSocket API для двунаправленного streaming в реальном времени. Ниже задержка, чем у SSE, постоянные соединения и на 75% дешевле. Вот как подключиться.

S
Smart AIPI Team
7 мин чтения ·
OpenAI WebSocket API: потоковая передача в реальном времени на 75% дешевле

Кратко: Smart AIPI теперь поддерживает OpenAI WebSocket API. Подключитесь к wss://api.smartaipi.com/v1/realtime, отправьте событие response.create и получайте ответы в реальном времени по постоянному соединению. Те же модели, тот же протокол, на 75% дешевле.

WebSocket streaming — самый быстрый способ взаимодействия с AI-моделями. В отличие от традиционных HTTP-запросов или даже Server-Sent Events (SSE), WebSocket поддерживает постоянное двунаправленное соединение между вашим приложением и API. Не нужно заново устанавливать соединение для каждого запроса, нет HTTP overhead, нет ограничений полудуплекса.

Smart AIPI теперь поддерживает этот протокол по адресу wss://api.smartaipi.com/v1/realtime — с полной совместимостью с OpenAI WebSocket API и на 75% меньшей стоимости.

Почему WebSocket вместо SSE?

Server-Sent Events были стандартом для AI streaming, но у них есть компромиссы, которых WebSocket позволяет избежать:

Возможность SSE (HTTP) WebSocket
Соединение на каждый запрос Каждый раз новое соединение Постоянное (повторно используется)
Направление Только Server → Client Двунаправленное
Несколько запросов в одном соединении Нет Да
Задержка до первого token Выше (новые TCP + TLS) Ниже (повторное использование соединения)
Идеально для Простых интеграций Агентов, приложений реального времени, высокого throughput

Для циклов агентов, которые выполняют десятки API-вызовов подряд, суммарная экономия на задержке за счет постоянного WebSocket-соединения оказывается существенной.

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

WebSocket API использует событийный протокол. Вы отправляете на сервер JSON-события и получаете JSON-события в ответ — все по одному постоянному соединению.

1. Подключение и аутентификация

Откройте WebSocket-соединение, передав ваш API key в headers:

wss://api.smartaipi.com/v1/realtime
Authorization: Bearer sk-proj-your-smart-aipi-key
OpenAI-Beta: realtime=v1

2. Отправьте запрос

Отправьте событие response.create с вашим prompt:

{
  "type": "response.create",
  "response": {
    "model": "gpt-5.3-codex",
    "store": false,
    "instructions": "You are a helpful assistant.",
    "input": [
      {
        "type": "message",
        "role": "user",
        "content": [
          { "type": "input_text", "text": "What is WebSocket?" }
        ]
      }
    ]
  }
}

Примечание: Параметр store: false обязателен для WebSocket-соединений Smart AIPI.

3. Получение streaming-событий

Сервер отправляет последовательность событий по мере генерации ответа:

Событие Описание
response.created Объект ответа создан
response.output_item.added Начат новый элемент вывода (message)
response.content_part.added Внутри элемента вывода начата часть контента
response.output_text.delta Фрагмент текста (фактический streaming-контент)
response.output_text.done Вывод текста завершен
response.completed Весь ответ завершен (терминальное событие)

Примеры кода

Node.js

import WebSocket from "ws";

const ws = new WebSocket("wss://api.smartaipi.com/v1/realtime", {
  headers: {
    "Authorization": "Bearer sk-proj-your-key",
    "OpenAI-Beta": "realtime=v1",
  },
});

ws.on("open", () => {
  ws.send(JSON.stringify({
    type: "response.create",
    response: {
      model: "gpt-5.3-codex",
      store: false,
      input: [{
        type: "message",
        role: "user",
        content: [{ type: "input_text", text: "Hello!" }],
      }],
    },
  }));
});

ws.on("message", (data) => {
  const event = JSON.parse(data);
  if (event.type === "response.output_text.delta") {
    process.stdout.write(event.delta);
  }
  if (event.type === "response.completed") {
    console.log("\n\nDone. Usage:", event.response.usage);
    ws.close();
  }
});

Python

import asyncio
import json
import websockets

async def main():
    headers = {
        "Authorization": "Bearer sk-proj-your-key",
        "OpenAI-Beta": "realtime=v1",
    }

    async with websockets.connect(
        "wss://api.smartaipi.com/v1/realtime",
        extra_headers=headers,
    ) as ws:
        await ws.send(json.dumps({
            "type": "response.create",
            "response": {
                "model": "gpt-5.3-codex",
                "store": False,
                "input": [{
                    "type": "message",
                    "role": "user",
                    "content": [{"type": "input_text", "text": "Hello!"}],
                }],
            },
        }))

        async for message in ws:
            event = json.loads(message)
            if event["type"] == "response.output_text.delta":
                print(event["delta"], end="", flush=True)
            if event["type"] == "response.completed":
                print(f"\n\nUsage: {event['response']['usage']}")
                break

asyncio.run(main())

cURL (быстрый тест)

Проверьте, что WebSocket handshake проходит успешно, одной командой:

curl -isN --http1.1 \
  -H "Connection: Upgrade" \
  -H "Upgrade: websocket" \
  -H "Sec-WebSocket-Version: 13" \
  -H "Sec-WebSocket-Key: dGVzdA==" \
  -H "Authorization: Bearer sk-proj-your-key" \
  -H "OpenAI-Beta: realtime=v1" \
  https://api.smartaipi.com/v1/realtime

При успешном подключении возвращается HTTP/1.1 101 Switching Protocols.

Когда использовать WebSocket, а когда SSE

Оба протокола работают через Smart AIPI. Выбирайте в зависимости от вашего сценария:

  • Используйте SSE для простых интеграций, разовых запросов и когда нужна максимально простая реализация. Установите stream: true в любом стандартном API-вызове.
  • Используйте WebSocket для циклов агентов, интерактивных приложений, высокочастотных шаблонов запросов и везде, где нужна минимально возможная задержка между последовательными вызовами.

Цены

Запросы WebSocket тарифицируются так же, как и стандартные API-запросы — по использованию token. Скидка 75% применяется:

Модель OpenAI напрямую Smart AIPI Экономия
GPT-5.3 Codex (output) $14.00 / 1M tokens $3.50 / 1M tokens 75%
GPT-5.2 (output) $10.00 / 1M tokens $2.50 / 1M tokens 75%
Codex Mini (output) $0.60 / 1M tokens $0.15 / 1M tokens 75%

С чего начать

  1. Получите API key — зарегистрируйтесь на smartaipi.com (включены бесплатные кредиты, кредитная карта не требуется)
  2. Подключитесь — откройте WebSocket к wss://api.smartaipi.com/v1/realtime
  3. Отправляйте события — используйте оболочку response.create с вашей моделью и prompt
  4. Получайте ответы в streaming — обрабатывайте события response.output_text.delta по мере поступления

Если вы уже используете OpenAI WebSocket API, единственное изменение — это URL. Все остальное — аутентификация, события, формат payload — идентично.

Часто задаваемые вопросы

Поддерживает ли Smart AIPI OpenAI WebSocket API?

Да. Подключитесь к wss://api.smartaipi.com/v1/realtime, передав ваш API key в header Authorization. Протокол полностью совместим с OpenAI WebSocket Responses API.

WebSocket быстрее, чем SSE?

Для последовательных запросов — да. WebSocket поддерживает постоянное соединение, устраняя overhead TCP и TLS handshake, который у SSE возникает при каждом новом запросе. Для одиночных разовых запросов разница незначительна.

Какие модели работают через WebSocket?

Все модели, доступные через Responses API: GPT-5.3 Codex, GPT-5.2, Codex Mini и другие. Укажите модель в событии response.create.

Работают ли function calling и использование tools через WebSocket?

Да. Доступен полный набор возможностей Responses API — function calling, использование tools, structured outputs и многошаговые диалоги работают через WebSocket-соединение.

Есть ли ограничение по времени соединения?

Неактивные соединения закрываются через 15 минут. Отправляйте периодические сообщения или переподключайтесь при необходимости. Активные соединения, передающие данные в streaming, не прерываются.

Можно ли отправлять несколько запросов по одному соединению?

Да. Это одно из ключевых преимуществ. После завершения ответа отправьте еще одно событие response.create по тому же соединению без переподключения.

WebSocket Streaming Real-Time API
S
Автор
Smart AIPI

OpenAI-совместимый API gateway. Доступ к frontier AI моделям на 75% дешевле.

Начать бесплатно

Сообщение отправлено

Мы ответим вам в течение 2 рабочих дней.

Связаться с поддержкой

Есть вопрос или нужна помощь? Отправьте нам сообщение, и мы ответим вам в течение 2 рабочих дней.