Skip to main content

Introduction to Dyte

Dyte offers solutions for integrating high-quality video/voice calls into your web, mobile, and desktop applications. The platform provides APIs and SDKs to capture, distribute, record, and render high quality audio and video applications.

Supported Platforms

Dyte currently supports the following platforms:

  • Mobile: Flutter, Android (Java/Kotlin), iOS (Objective-C/Swift), React Native
  • Web: Javascript Core SDK + UI Kit for React JS, Angular, and Web Components for other frameworks.
  • Desktop: Electron

Components of Dyte

  • Backend HTTP REST APIs: Your backend uses Dyte REST APIs to perform actions such as, create meetings, add participants to a meeting etc.

  • Frontend SDKs: Your applications bundle Dyte Core SDKs (and UI Kits) to acquire, transmit and play media, and manage network connections.

    • Core SDKs: These SDKs empower you to create custom video and voice calls with real-time communication. They are highly customizable and easy to integrate.
    • UI Kit: By utilizing Dyte's prebuilt design library of UI components, you can seamlessly integrate video and voice calls into your app or website within minutes.
  • Developer Portal: The Developer Portal serves as a comprehensive platform, offering access to meeting logs, API key management, billing operations, and various other functionalities in one place.

Getting Started With Dyte

This topic gives a quick walkthrough of the steps involved in integrating high-quality real-time communication features into your app using Dyte.

Integrate Dyte

  1. To get started with Dyte, you must first register in the Developer portal

  2. Copy the API Keys for your organization from the Developer portal. These API Keys are unique to your organization and are required to use Dyte REST APIs such as when instantiating a meeting


  1. Create presets using the Developer portal. A preset is a set of permissions and UI configurations that would be applied to a participant


  1. Create a Dyte meeting using the Create Meeting API. This API returns a unique identifier for your meeting.

You may want to persist the meeting ID in your database.

Diagram explaining how Dyte works Diagram explaining how Dyte works

  1. After you've created the meeting, add each participant to the meeting using the Add Participant API (The presetName created earlier must be passed in the body of the Add Participant API request)

    The API response contains the user authentication token authToken.

  2. Use the authToken to initialize any of the frontend SDKs.

Dyte meetings do not have a date or time associated with them, so you can create them in advance or just when users need to join the meeting. The idea is that your backend controls when to distribute authToken and thus you can share the tokens with the users at the scheduled time.



A communication channel created on Dyte is termed as a meeting.


Anyone who joins the meeting, whether as an actual user or a machine user


A specific action allowed or not for a participant.


A preset is a set of permissions and UI configurations that are applied to participants. The presets define how the meeting will look, feel, and behave for the participants.

  • You can create presets for the Group Call and Webinar meeting type.
  • You can set the maximum number of people on screen, the maximum number of people sharing the screen, provide permissions to create poll, disable participant video, disable participant audio, modify text color, configure plugins, and so on. Dyte also includes the following four prebuilt presets. These presets are pre-defined permissions and UI configurations for the participants.
    • webinar_viewer
    • webinar_presenter
    • group_call_host
    • group_call_participant

You can choose to use the default prebuild presets if you don't wish to create one.


You can record the meeting, and get a video / audio file.


You can livestream the meeting to other streaming platforms that support RTMP, like YouTube, Twitch, etc.


Get analytics data around your meetings, like number of minutes, number of recorded minutes, number of participants, etc.