Welcome to the new Daily Docs. Please let us know what you think.




Create a video call object as part of the current page's JavaScript environment (not isolated in an iframe).

This is an advanced usage of the daily-js API. It gives you raw access to MediaStreamTrack objects, and other WebRTC objects, for building custom video call experiences.

The argument is an optional properties object that configures call settings. These settings include:

  • url
  • token
  • subscribeToTracksAutomatically
  • reactNativeConfig
  • lang
  • { dailyConfig: experimentalChromeVideoMuteLightOff: boolean }
  • audioSource: Can be set to the MediaStreamTrack object directly, or set to false if you'd rather set the input device later via setInputDevicesAsync()
  • videoSource: See audioSource
  • receiveSettings

For full details on all the properties, see the properties list.

If you don't set at least the url property via createCallObject(), you'll need to set it later when you call the join() or load() method.