A session for the OpenAI Realtime API.

This class is used to interact with the OpenAI Realtime API. It is responsible for sending events to the OpenAI Realtime API and receiving events from it.

It exposes two more events:

  • openai_server_event_received: expose the raw server events from the OpenAI Realtime API
  • openai_client_event_queued: expose the raw client events sent to the OpenAI Realtime API

Hierarchy (view full)

Constructors

Accessors

  • get chatCtx(): ChatContext
  • Returns ChatContext

  • get tools(): ToolContext<unknown>
  • Returns ToolContext<unknown>

Methods

  • Parameters

    Returns Promise<void>

  • Clear the input audio buffer to the server

    Returns Promise<void>

  • Returns Promise<void>

  • Commit the input audio buffer to the server

    Returns Promise<void>

  • Parameters

    • Optional instructions: string
    • Optional options: {
          signal?: AbortSignal;
      }
      • Optional signal?: AbortSignal

    Returns Promise<GenerationCreatedEvent>

    Throws

    RealtimeError on Timeout

  • Cancel the current generation (do nothing if no generation is in progress)

    Returns Promise<void>

  • Parameters

    • frame: AudioFrame

    Returns void

  • Parameters

    Returns void

  • Parameters

    • audioStream: ReadableStream<AudioFrame>

    Returns void

  • Notifies the model that user activity has started

    Returns void

  • Truncate the message at the given audio end time

    Parameters

    • _options: {
          audioEndMs: number;
          audioTranscript?: string;
          messageId: string;
          modalities?: Modality[];
      }
      • audioEndMs: number
      • Optional audioTranscript?: string
      • messageId: string
      • Optional modalities?: Modality[]

    Returns Promise<void>

  • Parameters

    Returns Promise<void>

    Throws

    RealtimeError on Timeout

  • Parameters

    • _instructions: string

    Returns Promise<void>

  • Parameters

    Returns Promise<void>