Skip to main content
Version: /v2

Start Multiple HLS Stream - API

This API lets you start multiple HLS stream by passing roomId, resourceId and config object as body parameters.

HTTP method and endpoint


Headers Parameters


This will be a JWT token generate using VideoSDK ApiKey and Secret.

Note that the token will not include any prefix such as "Basic " or "Bearer ". Just pass a token as value.

You can generate a new token by refering this Guide: Generate Auth token


values : application/json

This is usefull for json body parameters, so that VideoSDK servers can understand that the incoming body parameter will be a JSON string.

Body Parameters
The ID of the Room.
The ResourcId of the Resource.
  • orientation - hls stream orientation will be set to "landscape" by default, if you pass portrait orientation then it will stream hls in portrait mode.
  • config:
    • layout:
      • type: "GRID" | "SPOTLIGHT" | "SIDEBAR"
      • priority: "SPEAKER" | "PIN"
      • gridSize: Number max 25
    • orientation: "landscape" | "portrait"
    • theme: "DARK" | "LIGHT" | "DEFAULT"
    • mode: "video-and-audio" | "audio"
    • quality: "low" | "med" | "high"
Response Parameters
Live HLS with playback support
Live HLS without playback sipport
Live HLS with playback support
import fetch from 'node-fetch';
const options = {
method: "POST",
headers: {
"Authorization": "$YOUR_TOKEN",
"Content-Type": "application/json",
body: JSON.stringify({
"roomId" : "xyz",
"resourceId" : "abcdef9879288c1f48339f64",
"templateUrl" : "",
"config" : "configObj"
const url= ``;
const response = await fetch(url, options);
const data = await response.json();
"success": true,
"data": {
"sessionId": "abcde94c96e17e03fb0abcde4",
"start": "2022-04-19T09:18:13.432Z",
"roomId": "abcd-efgh-ijkl",
"links": {
"get_room": "",
"get_session": ""
"downstreamUrl": "",
"playbackHlsUrl": "",
"livestreamUrl": "",
"id": "abcdef9879288c1f48339f64"

Got a Question? Ask us on discord