RTVI is an open standard that aims to support a wide variety of use cases.

The core functionality of the SDK has a fairly small footprint:

  • Device and media stream management
  • Managing bot configuration
  • Sending generic actions to the bot
  • Managing session state and errors

To connect to a bot, you will need both this SDK and a transport implementation.

A platform that implements RTVI will generally ship a helper library designed to be used with this SDK. The helper library will provide the transport functions. Helper libraries also may provide helper methods for interacting with that platform’s bot profiles.

Programming computers is often an exercise in finding the right level of abstraction. A core goal of RTVI is to make it possible to write real-time AI clients that can talk to lots of different inference services. An important goal in designing this RTVI JavaScript SDK is to make it easy and ergonomic to write specific client applications. These goals partially conflict! The split between the core SDK and helper libraries is a way to achieve both of these goals.

For an example of a platform-specific helper library, see the source code for Daily’s RTVI client library.

Reference docs for the major parts of the RTVI spec implemented by this SDK are in the sidebar, or just click on the links below: