Made for Developers

Copyright © 2022

Enables developers to provide custom, high-quality, real-time video. With client and server-side APIs, get power and flexibility.

As low as $0.003/minute/participant.

Embed real-time video in your apps with a few lines of code


Embed real-time voice and video with just a few lines of code.

Test out our sample below and see how easily you can get started.

Try the sample project above on Stackblitz

Get Started
Ultimate choice in Deployment

Full On-Premise

Private Cloud


Try on Stackblitz

or clone directly from GitHub and start playing.

Some of the languages we support

Click the Preview!


Start Your Free Trial Account Today

If you have questions, want to start a free one month trial, or learn more about pricing, fill out the form and we will get back to you shortly.

// declare global variables
let vidyoConnector = null;
let meetingLink = document.getElementById('meetingLink');
let name = document.getElementById('name');

function onVidyoClientLoaded() {
    window.VC = new window.VidyoClientLib.VidyoClient('', () => {

async function init() {
    try {
        vidyoConnector = await VC.CreateVidyoConnector({
            viewId: "renderer", // Div ID where the composited video will be rendered, see VidyoConnector.html;
            viewStyle: "VIDYO_CONNECTORVIEWSTYLE_Default", // Visual style of the composited renderer
            remoteParticipants: 8,     // Maximum number of participants to render
            logFileFilter: "debug@VidyoClient debug@VidyoSDP debug@VidyoResourceManager",
            logFileName: "",
            userData: 0,
            constraints: {}
        console.log("create success");
    } catch (error) {
        console.error('creating failed', error);

async function joinCall() {
    try {
        // create new room
        let res = await fetch('', {method: 'POST'});
        res = await res.json();
        const params = res.roomUrl.split('/join/');
        const portal = params[0];
        const roomKey = params[1];
        await vidyoConnector.ConnectToRoomAsGuest({
            host: portal, // HOST
            roomKey: roomKey, //ROOM KEY
            displayName: name.value,
            onSuccess: () => {
                console.log(`vidyoConnector.ConnectToRoomAsGuest : onSuccess callback received`);
                meetingLink.value = res.roomUrl;
            onFailure: (reason) => {
                console.error("vidyoConnector.Connect : onFailure callback received", reason);
            onDisconnected: (reason) => {
                console.log("vidyoConnector.Connect : onDisconnected callback received", reason);
    } catch(error) {

function endCall() {
    meetingLink.value = '';

View on GitHub

Try the sample project above on GitHub

Build real-time high-quality video experiences

Adapts to users available bandwidth and device, utilizing Scalable Video Encoding (SVC) and Simulcast technologies.

Adaptive Video Layering Technology

High Quality Screen Sharing

Share a single app or entire screen simultaneously with video

Cross Platform

Consistent APIs and SDKs to rapidly build your video chat app on all major platforms

Customized Layouts

Customize multiparty layouts and compositions for your specific app needs

Wideband audio ensures you can be heard just as clearly as seen

Wide Band Audio

Always show active speakers on-screen during multiparty calls or customize the layout to meet your needs

Voice Activated Layouts

Multiparty Video

Scalable multiparty video calls including one-to-one and many-to-many

Firewall Traversal

Dynamically connect over all types of networking environments

Start Free Trial