Migration from OpenAI

Если вы уже используете OpenAI Python / JS SDK — миграция на Zowy Chat Completions занимает буквально 3 строки кода. OpenAI Realtime → Voice WebSocket требует переписать клиент (другой протокол).

Что мигрирует одной правкой

OpenAIZowy
POST /v1/chat/completionsPOST /api/v1/chat/completions
base_url=https://api.openai.com/v1base_url=https://zowy.ai/api/v1
model: gpt-4o-minimodel: zowy-1
Authorization: Bearer sk-...Authorization: Bearer zowy_...
messages, stream, tools, response_formatВсё то же — пробрасывается

Python — три строки

Diff
from openai import OpenAI

client = OpenAI(
    api_key="sk-...",
    api_key="zowy_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    base_url="https://zowy.ai/api/v1",  # <- добавить
)

response = client.chat.completions.create(
    model="gpt-4o-mini",
    model="zowy-1",
    messages=[{"role": "user", "content": "Salom!"}],
)

JavaScript — то же самое

Node.js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.ZOWY_API_KEY,           // вместо OPENAI_API_KEY
  baseURL: "https://zowy.ai/api/v1",          // <- добавить
});

const res = await client.chat.completions.create({
  model: "zowy-1",                            // вместо gpt-4o-mini
  messages: [{ role: "user", content: "Salom!" }],
});

Что работает as-is

  • SSE streaming (stream: true)
  • Tools / function calling (поведение зависит от выбранной upstream-модели)
  • response_format (включая JSON schema)
  • Vision input через image_url
  • logprobs, seed, user — пробрасываются

Что отличается / не работает

OpenAI featureZowy
POST /v1/embeddingsНе реализовано
POST /v1/images/generationsНе реализовано
POST /v1/audio/transcriptions (Whisper)Coming soon: /api/v1/transcriptions
POST /v1/audio/speech (TTS)Coming soon: /api/v1/speech
OpenAI Assistants APIНе реализовано
OpenAI Realtime APIСвой WS-протокол — см. ниже
Identity-guard system promptZowy инжектит автоматически — нельзя отключить
БиллингUZS, пакетный (Pro 2M / Business 10M, 30 дней)

OpenAI Realtime → Voice WebSocket

Не drop-in.

OpenAI Realtime использует WebRTC + свой event-based JSON протокол с десятками типов событий. Zowy Voice WebSocket — другой протокол: PCM 16-bit фреймы + 4 события. Клиент придётся переписать.

OpenAI RealtimeZowy Voice WS
WebRTC peer connectionWebSocket (wss://)
Auth через ephemeral session tokenAPI-ключ в query string ?token=
Аудио: Opus в WebRTC channelPCM 16-bit (16 kHz in / 24 kHz out) бинарные WS-фреймы
Десятки response.* и conversation.* событий4 события: ready / transcript / turn_complete / error
Setup через session.updateОдин config message в начале
Голоса: alloy, echo, shimmer, ...12 multilingual + узбекский (Laylo default)

Полный reference нового клиента — Voice WebSocket.

Зачем мигрировать

  • Узбекские голоса: 12 multilingual AI-голосов, недоступных у OpenAI
  • Биллинг в UZS: без скрытых конвертаций
  • Локальная инфраструктура: SIP-trunk Узбекистан + Россия (sipout.net)
  • Готовые интеграции: Битрикс24, 1С, МойСклад, Billz