Create a template via API
This endpoint is used to create a template. A recommended way is to provide a list of roles with empty objects to get default values for various options corresponding to those roles, then update those roles by modifying them using create/update role API.
| Deprecation Notice: The settings.enabled
field which was used to enable custom composite recording, has been deprecated. Please use the new recordings API to configure composite recordings.
| Deprecation Notice: The destinations.browserRecordings
field which was used to provide configuration for browser based recording, has been deprecated. Please use the new recordings API to configure browser recording.
Understand sub-objects hierarchy
curl --location --request POST 'https://api.100ms.live/v2/templates' \ --header 'Authorization: Bearer <management_token>' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "new-template-{{$timestamp}}", "roles": { "guest": { "name": "guest", "publishParams": { "allowed": ["audio", "video", "screen"], "audio": { "bitRate": 32, "codec": "opus" }, "video": { "bitRate": 300, "codec": "vp8", "frameRate": 30, "width": 480, "height": 360 }, "screen": { "codec": "vp8", "frameRate": 10, "width": 1920, "height": 1080 }, "simulcast": { "video": { "layers": [ { "rid": "f", "scaleResolutionDownBy": 1, "maxBitrate": 700, "maxFramerate": 25 }, { "rid": "h", "scaleResolutionDownBy": 2, "maxBitrate": 350, "maxFramerate": 25 }, { "rid": "q", "scaleResolutionDownBy": 4, "maxBitrate": 100, "maxFramerate": 25 } ] }, "screen": {} } }, "subscribeParams": { "subscribeToRoles": ["host", "guest"], "maxSubsBitRate": 3200, "subscribeDegradation": { "packetLossThreshold": 25, "degradeGracePeriodSeconds": 1, "recoverGracePeriodSeconds": 4 } }, "permissions": { "sendRoomState": false, "pollRead": true, "pollWrite": true }, "priority": 1, "maxPeerCount": 0 }, "host": { "name": "host", "publishParams": { "allowed": ["audio", "video", "screen"], "audio": { "bitRate": 32, "codec": "opus" }, "video": { "bitRate": 300, "codec": "vp8", "frameRate": 30, "width": 480, "height": 360 }, "screen": { "codec": "vp8", "frameRate": 10, "width": 1920, "height": 1080 }, "simulcast": { "video": { "layers": [ { "rid": "f", "scaleResolutionDownBy": 1, "maxBitrate": 700, "maxFramerate": 25 }, { "rid": "h", "scaleResolutionDownBy": 2, "maxBitrate": 350, "maxFramerate": 25 }, { "rid": "q", "scaleResolutionDownBy": 4, "maxBitrate": 100, "maxFramerate": 25 } ] }, "screen": {} } }, "subscribeParams": { "subscribeToRoles": ["guest", "host"], "maxSubsBitRate": 3200, "subscribeDegradation": { "packetLossThreshold": 25, "degradeGracePeriodSeconds": 1, "recoverGracePeriodSeconds": 4 } }, "permissions": { "endRoom": true, "removeOthers": true, "mute": true, "unmute": true, "changeRole": true, "sendRoomState": false, "pollRead": true, "pollWrite": true }, "priority": 1, "maxPeerCount": 0 } }, "settings": { "region": "in", "recording": { "upload": { "type": "<upload type: supported are s3, gs, oss>", "location": "<Name of the storage bucket>", "prefix": "<Upload prefix path>", "options": { "region": "<region of the storage bucket>" }, "credentials": { "key": "<access key ID for accessing the storage bucket>", "secretKey": "<secret access key for accessing the storage bucket>" } } }, "roomState": { "messageInterval": 5, "sendPeerList": false, "stopRoomStateOnJoin": true, "enabled": false } }, "destinations": { "rtmpDestinations": { "<rtmp destination name>": { "name": "<rtmp destination name>", "width": 1080, "height": 1920, "maxDuration": 1800, "rtmpUrls": ["<rtmp URL>", "<rtmp URL>"], "recordingEnabled": true } }, "hlsDestinations": { "<hlsdestination name>": { "name": "<hls destination name>", "maxDuration": 28800, "layers": [ { "width": 1080, "height": 720, "videoBitrate": 1100, "audioBitrate": 32 }, { "width": 720, "height": 720, "videoBitrate": 600 } ], "playlistType": "event", "numPlaylistSegments": 12, "videoFrameRate": 25, "enableMetadataInsertion": true, "enableStaticUrl": true, "recording": { "hlsVod": true, "singleFilePerLayer": true, "enableZipUpload": false, "layers": [ { "width": 720, "height": 1920, "videoBitrate": 2000, "audioBitrate": 64 } ], "thumbnails": { "enabled": true, "width": 720, "height": 1920, "offsets": [2], "fps": 60 }, "presignDuration": 604800 } } }, "transcriptions": { "<transcription destination name>": { "name": "<destination name>", "role": "host", "modes": ["recorded", "live"], "outputModes": [ "txt", "srt", "json" ], "customVocabulary": ["100ms", "WebSDK", "Flutter", "Sundar", "Pichai", "DALL-E"], "summary": { "enabled": true, "context": "this is a meeting between 100ms SDK team and a user representative", "temperature": 0.5, "sections": [ { "title": "Agenda", "format": "bullets" }, { "title": "Key Points", "format": "bullets" }, { "title": "Action Items", "format": "bullets" }, { "title": "Short Summary", "format": "paragraph" } ] } } } } "plugins": { "whiteboard": { "permissions": { "admin": ["host"], "writer": ["host"], "reader": ["guest"] } }, "transcriptions": { "permissions": { "admin": ["host","guest"] }, "mode": "caption" } } }'
{ "id": "6324661c4da877930beaecaa", "name": "new-template-1663329820", "customerId": "627cda54ff688c037a39291b", "roles": { "guest": { "name": "guest", "publishParams": { "allowed": ["audio", "video", "screen"], "audio": { "bitRate": 32, "codec": "opus" }, "video": { "bitRate": 300, "codec": "vp8", "frameRate": 30, "width": 480, "height": 360 }, "screen": { "codec": "vp8", "frameRate": 10, "width": 1920, "height": 1080 }, "simulcast": { "video": { "layers": [ { "rid": "f", "scaleResolutionDownBy": 1, "maxBitrate": 700, "maxFramerate": 25 }, { "rid": "h", "scaleResolutionDownBy": 2, "maxBitrate": 350, "maxFramerate": 25 }, { "rid": "q", "scaleResolutionDownBy": 4, "maxBitrate": 100, "maxFramerate": 25 } ] }, "screen": {} } }, "subscribeParams": { "subscribeToRoles": ["host", "guest"], "maxSubsBitRate": 3200, "subscribeDegradation": { "packetLossThreshold": 25, "degradeGracePeriodSeconds": 1, "recoverGracePeriodSeconds": 4 } }, "permissions": { "rtmpStreaming": true, "hlsStreaming": true, "browserRecording": true, "sendRoomState": false, "pollRead": true, "pollWrite": true }, "priority": 1, "maxPeerCount": 0 }, "host": { "name": "host", "publishParams": { "allowed": ["audio", "video", "screen"], "audio": { "bitRate": 32, "codec": "opus" }, "video": { "bitRate": 300, "codec": "vp8", "frameRate": 30, "width": 480, "height": 360 }, "screen": { "codec": "vp8", "frameRate": 10, "width": 1920, "height": 1080 }, "simulcast": { "video": { "layers": [ { "rid": "f", "scaleResolutionDownBy": 1, "maxBitrate": 700, "maxFramerate": 25 }, { "rid": "h", "scaleResolutionDownBy": 2, "maxBitrate": 350, "maxFramerate": 25 }, { "rid": "q", "scaleResolutionDownBy": 4, "maxBitrate": 100, "maxFramerate": 25 } ] }, "screen": {} } }, "subscribeParams": { "subscribeToRoles": ["guest", "host"], "maxSubsBitRate": 3200, "subscribeDegradation": { "packetLossThreshold": 25, "degradeGracePeriodSeconds": 1, "recoverGracePeriodSeconds": 4 } }, "permissions": { "endRoom": true, "removeOthers": true, "mute": true, "unmute": true, "changeRole": true, "rtmpStreaming": true, "hlsStreaming": true, "browserRecording": true, "sendRoomState": false, "pollRead": true, "pollWrite": true }, "priority": 1, "maxPeerCount": 0 } }, "settings": { "region": "in", "recording": { "upload": { "location": "<Name of the storage bucket>", "type": "<upload type: Supported are s3, gs, oss>", "prefix": "<Upload prefix path>", "credentials": { "key": "<access key ID for accessing the storage bucket>", "secretKey": "<secret access key for accessing the storage bucket>" }, "options": { "region": "<region of the storage bucket>" } } }, "roomState": { "messageInterval": 5, "sendPeerList": false, "stopRoomStateOnJoin": true, "enabled": false }, "retry": {} }, "destinations": { "rtmpDestinations": { "<destination name>": { "name": "<destination name>", "width": 1080, "height": 1920, "maxDuration": 1800, "rtmpUrls": ["url", "ashdas", "ddsfsdf"], "recordingEnabled": true } }, "hlsDestinations": { "<destination name>": { "name": "<destination name>", "maxDuration": 28800, "layers": [ { "width": 1080, "height": 720, "videoBitrate": 1100, "audioBitrate": 32 }, { "width": 720, "height": 720, "videoBitrate": 600 } ], "playlistType": "event", "numPlaylistSegments": 12, "videoFrameRate": 25, "enableMetadataInsertion": true, "enableStaticUrl": true, "recording": { "hlsVod": true, "singleFilePerLayer": true, "enableZipUpload": false, "layers": [ { "width": 720, "height": 1920, "videoBitrate": 2000, "audioBitrate": 64 } ], "thumbnails": { "enabled": true, "width": 720, "height": 1920, "offsets": [2], "fps": 60 }, "presignDuration": 604800 } } }, "transcriptions": { "<destination name>": { "name": "<destination name>", "role": "host", "modes": ["recorded", "live"], "outputModes": ["txt", "srt", "json"], "customVocabulary": ["100ms", "WebSDK", "Flutter", "Sundar", "Pichai", "DALL-E"], "summary": { "enabled": true, "context": "this is a meeting between 100ms SDK team and a user representative", "temperature": 0.5, "sections": [ { "title": "Agenda", "format": "bullets" }, { "title": "Key Points", "format": "bullets" }, { "title": "Action Items", "format": "bullets" }, { "title": "Short Summary", "format": "paragraph" } ] } } } "plugins": { "whiteboard": { "permissions": { "admin": ["host"], "writer": ["host"], "reader": ["guest"] } }, "transcriptions": { "permissions": { "admin": ["host","guest"] }, "mode": "caption" } } }, "createdAt": "2022-09-16T12:03:40.068Z", "updatedAt": "2022-09-16T12:03:40.068Z", "_id": "6324661c4da877930beaecaa", "customer": "627cda54ff688c037a39291b" }
Main arguments
Name | Type | Description | Required |
---|---|---|---|
name | string | A unique name you can assign to 100ms templates. Accepted characters are a-z, A-Z, 0-9, space, hyphen - , dot . , underscore _ and colon : . If not provided, this is generated automatically. Notes: If create template is called with an existing template name, then that template will be overwritten. | No |
roles | object | Map of {roleName:roleObject} . Some sane defaults are set for values that are not provided in the roles object. | No |
settings | object | Global settings for this template. | No |
destinations | object | Object of type destinations . This object contains information for enabling/configuring features like rtmpDestinations , hlsDestinations , & transcriptions | No |
roles object
Name | Type | Description | Required |
---|---|---|---|
name | string | Alias for the role associated with a particular template. | No |
publishParams | object | Publish parameters for this role. Object of type publishParams with the collection of objects such as allowed , audio , video , screen , etc | No |
subscribeParams | object | Subscribe parameters for this role. Object of type subscribeParams with a mix of arguments and objects like subscribeToRoles , maxSubsBitRate , & subscribeDegradation | No |
permissions | object | Permissions for this role. Object of type permission with collection of objects like browserRecordings , rtmpDestinations , & hlsDestinations . | No |
priority | int | Priority of the role for subscribing/publishing. Priority will determine the order in which the roles will be degraded. Allowed values: 1 to 5.
| No |
maxPeerCount | int | The number of peers allowed for a particular role in a session.
| No |
publishParams object
Name | Type | Description | Required |
---|---|---|---|
allowed | array | Allowed tracks. Subarray of [audio , video , screen , simulcast ]. | No |
audio | object | Audio publish parameters. | No |
video | object | Video publish parameters. | No |
screen | object | Screenshare publish parameters. | No |
audio object
Name | Type | Description | Default | Required |
---|---|---|---|---|
bitRate | int | Audio Max bitrate of audio track in kbps. Range: 16 -128 | 32 | No |
codec | string | Codec for the audio track. Options: [ opus ] | opus | No |
video object
Name | Type | Description | Default | Required |
---|---|---|---|---|
bitRate | int | Max bitrate of video track in kbps. Range: 30 -2000 | 256 | No |
codec | string | Codec for the video track. Options: [ vp8 ] | vp8 | No |
frameRate | int | Max number of video frames per second. Range: 1 -30 | 25 | No |
height | int | Height of the video track. Range: 50 -1080 | 180 | No |
width | int | Width of the video track. Range: 50 -1920 | 320 | No |
screen object
Name | Type | Description | Default | Required |
---|---|---|---|---|
bitRate | int | Max bitrate of screen track in kbps. Range: >=500 | 1024 | No |
codec | string | Codec for the screen track. Options: [ vp8 ] | vp8 | No |
frameRate | int | Max number of screen frames per second Range: 1 -30 | 10 | No |
height | int | Height of the screen track. Range: 270 -1080 | 720 | No |
width | int | Width of the screen track. Range: 480 -1920 | 1280 | No |
simulcast object
Name | Type | Description | Required |
---|---|---|---|
layers | object | Object of type layers . Use this to configure various dimensions to be supported for simulcast. The max length of this array can be 3. | Yes |
simulcast - layer object
Name | Type | Description | Required |
---|---|---|---|
maxBitrate | int | Specifies the maximum number of kilobits per second to allow for encoding. It should be in the range [0, 2e3] (max is 2 Mbps)—defaults to 0. | No |
maxFramerate | int | Specifies the maximum number of frames per second to allow for encoding. It should be in the range [1, 30]. | Yes |
scaleResolutionDownBy | long integer | Specifies a factor to reduce the size of a video track during encoding. It should be in the range [1.0, 12.0]. The value should always be strictly greater than the previous value (if it exists) in the layers array. | Yes |
rid | string | Specifies an "RTP stream ID" to be sent using the RID header extension. Can be one of f , h , q . The value should always be strictly smaller than the value of the previous (if it exists) in the layers array (ordered using rule f > h > q ). No value duplicates can exist in any two items in the layers array. The first rid should always be f with scaleDownByResolution=1.0 . | Yes |
subscribeParams object
Name | Type | Description | Required |
---|---|---|---|
maxSubsBitRate | int | Maximum bitrate (in kbps) that can subscribed. | No |
subscribeToRoles | array | List of roles which can be subscribed to. | No |
subscribeDegradation | object | Subscribe degradation parameters (adding this enables screen simulcast). | No |
subscribeDegradation object
Name | Type | Description | Default | Required |
---|---|---|---|---|
packetLossThreshold | int | Threshold for packet loss. Range: 1 -100 | 50 | No |
degradeGracePeriodSeconds | int | Degrade grace period (in seconds). Range: 1 -10 | 1 | No |
recoverGracePeriodSeconds | int | Recover grace period (in seconds). Range: 1 -10 | 4 | No |
permissions object
Name | Type | Description | Required | Default |
---|---|---|---|---|
endRoom | boolean | Permission to end room for all. | No | false |
removeOthers | boolean | Permission to remove others from the room. | No | false |
mute | boolean | Permission to request others to mute them. | No | false |
unmute | boolean | Permission to request others to unmute them. | No | false |
changeRole | boolean | Permission to request others to change their role. | No | false |
sendRoomState | boolean | Permission to receive room state like peer-count and peer-list | No | false |
pollRead | boolean | Permission whether poll/quiz information can be read and responses can be made to a poll/quiz | No | false |
pollWrite | boolean | Permission whether poll/quiz information can be modified. PollWrite is a superset of pollRead and enables all pollRead functionalities. | No | false |
browserRecording | boolean | Permission to start/stop browser (beam) recording. This is also required to start/stop RTMP + browser recording in conjunction with rtmpStreaming permissions. | No | true |
rtmpStreaming | boolean | Permission to start/stop RTMP streaming. This is also required to start/stop RTMP + browser recording in conjunction with browserRecording permissions. | No | true |
hlsStreaming | boolean | Permission to start/stop HLS streaming (with or without recording). This is also required to - pause/unpause HLS recording or insert metadata in HLS stream. | No | true |
settings object
Name | Type | Description | Required |
---|---|---|---|
region | string | Region in which the room will be hosted by default. Possible values could be in , us , eu or auto (automatic region selection). | No |
recording | object | Object of type recording . This object contains information for enabling recording/setting storage location for recordings. | No |
roomState | object | Object of type roomState . This object will help you to define strategy of sending state updates to client SDKs. Also, enables you to build a "preview" screen which shows the state of the room before joining by providing the list of peers | No |
recording object
Name | Type | Description | Required |
---|---|---|---|
enabled (deprecated) | boolean | Enable the SFU recording for its rooms. Disabled by default. This field is deprecated, please use new recordings API to configure the composite recordings. | No |
upload | object | Object of type upload . This object contains information on recordings storage location. If you want to store recording with 100ms, and not use your own storage (s3/gs/oss), don't add this to the object | No |
upload object
Name | Type | Description | Required |
---|---|---|---|
type | string | Upload destination type. Currently, s3 (AWS), gs (Google Cloud Storage), oss (Alibaba Cloud) are supported. | Yes |
location | string | Name of the storage bucket in which you want to store all recordings | Yes |
prefix | string | Upload prefix path | Yes |
options | object | Additional configurations of type Options to be used for uploading | No |
credentials | object | Object of type credentials . This is used to share the credentials to access the storage bucket specified. | No |
options object
Name | Type | Description | Required |
---|---|---|---|
region | string | Region of the account hosting the storage bucket for storing recordings. | No |
credentials object
Name | Type | Description | Required |
---|---|---|---|
key | string | Access Key for the account hosting your storage bucket for storing recordings | Yes |
secretKey | string | Secret for the account hosting the storage bucket for storing recordings | Yes |
roomState object
Name | Type | Description | Required |
---|---|---|---|
messageInterval | int | Room-state data will be sent over a regular interval of these many seconds. Consequently, the room state displayed on the preview screen will refresh accordingly. This value must be a multiple of 5, between 5 and 3600 seconds, both inclusive. | No |
sendPeerList | boolean | Enabling this will send peer-list info of the room. If disabled, only the peer count is sent. | No |
enabled | boolean | This is the list of all the roles which will get the room-state data. You can also individually toggle these settings in the Roles tab under the Permissions section. | No |
destinations object
Name | Type | Description | Required |
---|---|---|---|
browserRecordings (deprecated) | object | Object of type browserRecordings . This can be used to record your sessions to a file, for subsequent access. | No |
rtmpDestinations | object | Object of type rtmpDestinations . This can be used to live stream your video conferencing apps to platforms like YouTube, Twitch, Facebook, MUX, etc. | No |
hlsDestinations | object | Object of type hlsDestinations . This can be used to configure arguments for your HLS live streaming. | No |
transcriptions | object | Object of type transcriptions . This can be used to configure transcriptions. | No |
browserRecordings object (Deprecated)
Name | Type | Description | Required |
---|---|---|---|
name | string | The name you can assign to identify the browser recording | Yes |
width | int | Indicates the width of the screen to be recorded in pixels. For example, 1280 pixels | No |
height | int | Indicates the height of the screen to be recorded in pixels. For example, 720 pixels | No |
maxDuration | int | Sets the maximum duration, in seconds, of the recording. For example, 1800 seconds(30 minutes) | No |
thumbnails | object | Object of type thumbnails . This can be used to configure thumbnail's dimension | No |
presignDuration | int | Indicates the expiry of the pre-signed URLs—the duration for which the pre-signed URL should be signed | No |
role | string | Indicates the role use to start browser recording | Yes |
autoStart | boolean | Indicates whether recordings should automatically start on room join for this destination | No |
autoStopTimeout | int | Maximum duration to wait before automatically stopping recording after all peers leave | No |
rtmpDestinations object
Name | Type | Description | Required |
---|---|---|---|
name | string | The name you can assign to identify the RTMP destination | Yes |
width | int | Indicates the width of the screen to be recorded in pixels. For example, 1280 pixels | No |
height | int | Indicates the height of the screen to be recorded in pixels. For example, 720 pixels | No |
maxDuration | int | Set maximum duration for RTMP stream, in seconds. For example, 1800 seconds(30 minutes) | No |
rtmpUrls | object | Object of type rtmpUrls . This can be used to configure the RTMP URLs(max 3) you wish to broadcast the stream to. | No |
recordingEnabled | boolean | If recording is required this can be set as true. This value has no effect on streaming. | No |
autoStopTimeout | int | Maximum duration to wait before automatically stopping RTMP after all peers leave | No |
hlsDestinations object
Name | Type | Description | Required |
---|---|---|---|
name | string | The name you can assign to identify the HLS destination | Yes |
maxDuration | int | Sets maximum duration for the live stream, in seconds. For example, 1800 seconds(30 minutes) | No |
layers | object | Object of type layers . This can be used to configure the various dimensions to be supported for HLS streaming. The layers are expected to be in descending order of resolution and video bitrate | No |
playlistType | string | Indicates the type of playlist. Can be of type event or live . | No |
numPlaylistSegments | int | Indicates the number of media segments in the playlist. Applicable only for live playlistType. Each segment is 2 seconds. Min/max/default = 3/150/5. | No |
videoFrameRate | int | Set this argument to configure the frames per second (or FPS) for your stream. For example, 25 | No |
enableMetadataInsertion | boolean | Set this to true to enable metadata insertion along with the stream. | No |
enableStaticUrl | boolean | If recording is required this can be set as true. This value has no effect on streaming. | No |
recording | object | Object of type recording . This can be used to enable HLS recording and configure the layers, thumbnails, etc. | No |
autoStopTimeout | int | Maximum duration to wait before automatically stopping HLS after all peers leave | No |
HLS - recording object
Name | Type | Description | Required |
---|---|---|---|
hlsVod | boolean | Set this to true to enabled Video on Demand. Output will be a HLS VOD asset file of m3u8 format with all the chunks. | No |
singleFilePerLayer | boolean | Set this to true if HLS recording should be available as separate files for various dimensions supported. Output will be Individual mp4 file per HLS layer. | No |
enableZipUpload | boolean | By default, the value is 'false'. You can set this to 'true' to enable zipped upload of the HLS VOD asset if the recording storage is your personal storage bucket and upload object is configured. Setting it to 'true' with the configured storage as 100ms will give an error. | No |
layers | object | Object of type layers . This can be used to configure the various dimensions to be supported for HLS recording - both hlsVod and singleFilePerLayer . recording.layers should be subset of hlsDestinations.layers and has the same validations as hlsDestinations.layers . When not specified, recordings will be generated for all hlsDestinations.layers | No |
thumbnails | object | Object of type thumbnails . This can be used to configure thumbnail's dimension. | No |
presignDuration | int | Indicates the expiry of the pre-signed URLs—the duration for which the pre-signed URL should be signed. | No |
HLS/ HLS Recording - Layers
Minimum between width
and height
should be in range [144, 1080] and Maximum between width
and height
should be in range [192, 1920].
Name | Type | Description | Required |
---|---|---|---|
width | int | Indicates the width of the screen to be recorded in pixels (Must be an even number). For example, 1280 | No |
height | int | Indicates the height of the screen to be recorded in pixels (Must be an even number). For example, 720 | No |
videoBitrate | int | Bitrate of video track in kbps. | No |
audioBitrate | int | Bitrate of audio track in kbps. | No |
transcriptions object
Name | Type | Description | Required |
---|---|---|---|
name | string | The name you can assign to identify transcription destination. | Yes |
modes | array | Array of modes for transcription. Valid values: [ recorded , live ] (recorded: Transcribe recording post call completion, live: Closed caption for live stream viewers) | No |
role | string | Indicates the role used to transcribe. Roles which are subscribed by the given role will be transcribed. | Yes |
outputModes | array | Array of transcript output modes, valid for recorded mode. Valid values: [ txt, srt, json ] (txt: Plain text, srt: SubRip text, json: Granular timestamped words and sentences) | No |
customVocabulary | array | Array of words that might be spoken during the call. This can consist of non-dictionary words like names, slang, abbreviations and domain specific words. | No |
summary | object | Object of type summary . This can be used to enable and configure summary, valid for recorded mode. | No |
transcriptions - summary object
Name | Type | Description | Required |
---|---|---|---|
enable | boolean | Set this to true to enable summary. | No |
context | string | Provide context of the meetings to help AI get a holistic understanding about the call to generate a better summary. (limit: 300 characters) | No |
temperature | float | Temperature determines creativity. Higher values makes AI be more creative, lower values makes it more deterministic and predictable. (default: 0.5, accepted range : 0.1 - 1.0) | No |
sections | array | Sections has list of objects. This refers to sections in summary like Agenda , Short Summary , Questions raised by participants . (max count: 6) | No |
transcriptions - summary - sections object
Name | Type | Description | Required |
---|---|---|---|
title | string | Title of the section Agenda , Short Summary , Follow Up Action Items , Short Summary . (limit: 100 characters) | Yes |
format | string | Format of the section. Valid values: [bullets , paragraph ] | Yes |
plugins object
Name | Type | Description | Required |
---|---|---|---|
whiteboard | object | Object of type whiteboard . This can be used enable and configure permissions of the whiteboard. | No |
transcriptions | object | Object of type transcriptions . This can be used configure permission levels for transcriptions, and specifically, closed captioning. | No |
plugins - whiteboard object
Name | Type | Description | Required |
---|---|---|---|
permissions | object | Object of type permissions . This is used to classify roles in different permission levels of the whiteboard. Same role can be a part of multiple permission levels. | No |
plugins - whiteboard - permissions object
Name | Type | Description | Required |
---|---|---|---|
admin | array | This contains an array of roles with the permission to launch, close and view the whiteboard. Users in this role, unless other explicitly added to writer permission level, will only be able to launch, close or view the whiteboard, but not draw on it. | No |
writer | array | This contains an array of roles with the permission to write and collaborate on the whiteboard. Users in this role, unless other explicitly added to admin permission levels will only be able to draw and view the whiteboard, but not launch or close it. | No |
reader | array | This contains an array of roles with the permission to only view the whiteboard. Users in this role, unless other explicitly added to admin or writer permission levels, will only be able to view the whiteboard, but not launch, close or draw on it. | No |
Note on Multiple Permissions
A role can be a part multiple permission level array. For example, a ‘teacher’ role can be a part both the admin
and writer
permission arrays, allowing them to launch, close and write on the whiteboard. But a 'student' which is a part of reader
but not of other permission levels will only be able to view the whiteboard.
plugins - transcriptions object
Name | Type | Description | Required |
---|---|---|---|
permissions | object | Object of type permissions . This is used to classify roles in different permission levels for specific mode of transcription. | No |
mode | string | Mode defines the transcription mode that the permission level is defined for. Currently, it only accepts caption as its value. | No |
plugins - transcriptions - permissions object
Name | Type | Description | Required |
---|---|---|---|
admin | array | This contains an array of roles with the permission to enable or disable closed captioning for a given room during a live session. They can enable closed captions so that all the participants in the room can access it. | No |