For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Platform docsVideosCommunitySign up
CapabilitiesGetting startedVoice AI OrchestrationVoxEngine PlatformAPI ReferenceFAQ
CapabilitiesGetting startedVoice AI OrchestrationVoxEngine PlatformAPI ReferenceFAQ
    • Pipeline Options
  • Voice AI Clients
    • Client Options
      • Overview
      • Migration guide from Beta
      • Inbound call
      • Outbound call
      • Function calling
      • Full-cascade incl. Groq
      • Half-cascade with ElevenLabs
      • Half-cascade with Inworld
      • Half-cascade with Cartesia
    • MCP Client
  • Speech Flow Control
    • Turn Detection
    • Voice Activity Detection
    • Turn Taking Helper Library
LogoLogo
Platform docsVideosCommunitySign up
Voice AI ClientsOpenAI

Migration guide from Beta

Migrate from Beta OpenAI client in Voximplant.
||View as Markdown|
Was this page helpful?
Edit this page
Previous

Overview

Next

Example: Answering an incoming call

Built with

If you are using the deprecated OpenAI realtime client in your application, this guide will help you to migrate to the newest version of the realtime client.

Follow the steps below to migrate to the GA version:

  1. Remove the Beta namespace for the GA RealtimeAPI Client. For example, OpenAI.Beta.functionName becomes OpenAI.functionName, the same for events, etc.
  2. RealtimeAPIClientParameters now have the type parameter that lets developers choose between two API modes (realtime/transcription).
  3. RealtimeAPIClient methods related to the API communication (sessionUpdate, responseCreate, conversationItemCreate, etc.) expect parameters to be a full object as it is described in the OpenAI Realtime API reference, except the "type" field on the top level, which is determined by the method name itself.

For example, in the Beta Client sessionUpdate was called in the following manner:

1realtimeAPIClient.sessionUpdate({
2 "instructions": "You are a helpful assistant.",
3 "voice": "sage",
4 "input_audio_transcription": {
5 "model": "whisper-1"
6 }
7});

In the GA Client sessionUpdate is called as follows:

1realtimeAPIClient.sessionUpdate({
2 "session": {
3 "type": "realtime",
4 "instructions": "You are a helpful assistant.",
5 "audio": {
6 "input": {
7 "transcription": {
8 "model": "whisper-1",
9 "language": "en"
10 }
11 }
12 }
13 }
14});
  1. Several of the OpenAI messages and parameters have been renamed in GA, so please follow the OpenAI Realtime API Reference when creating parameters objects for the GA Client methods. More info is also available at https://platform.openai.com/docs/guides/realtime#beta-to-ga-migration.
  2. Interruption support requires additional VoxEngine code to clear the media buffer when input_audio_buffer.speech_started event is received from OpenAI’s server VAD:
1realtimeAPIClient.addEventListener(OpenAI.RealtimeAPIEvents.InputAudioBufferSpeechStarted, (event) => {
2 if (realtimeAPIClient) realtimeAPIClient.clearMediaBuffer();
3});