Start recording for room

Use this to start a recording job for a room.

The recoding will be in starting state to begin with, and turn into running shortly.

Transcription can be configured while starting the recording. The recording will be auto transcribed once it is completed and the transcript /summary will be made available in the assets. It takes around 20 percent of recording duration for transcription assets to get completed. Those will be made available in the processing state immediately after the recording is completed. If webhooks are configured, You would be notified about the transcription progress with transcription.started.success and transcription.success/ transcription.failed events.

POSThttps://api.100ms.live/v2/recordings/room/<room_id>/start
curl --location --request POST 'https://api.100ms.live/v2/recordings/room/<room_id>/start' \ --header 'Authorization: Bearer <management_token>' \ --header 'Content-Type: application/json' \ --data-raw '{ "meeting_url" : "<meeting_url>", "resolution" : { "width": 1280, "height": 720 }, "transcription": { "enabled": true, "output_modes": ["txt", "srt", "json"], "custom_vocabulary": ["100ms", "WebSDK", "Flutter", "Sundar", "Pichai", "DALL-E"], "summary": { "enabled": true, "context": "this is a general call", "sections": [ { "title": "Agenda", "format": "bullets" }, { "title": "Key Points", "format": "bullets" }, { "title": "Action Items", "format": "bullets" }, { "title": "Short Summary", "format": "paragraph" } ], "temperature": 0.5 } } }'
RESPONSE
Status: 200 OK
{ "id": "<recording-id>", "room_id": "<room-id>", "session_id": "<session-id>", "status": "starting", "created_at": "2023-03-30T05:14:04.007990308Z", "started_at": null, "updated_at": "2023-03-30T05:14:04.007990308Z", "stopped_at": null, "meeting_url": "<meeting-url>", "destination": "<destination_name>", "started_by": "", "stopped_by": "", "asset_types": [ "room-composite", "chat", "transcript", "summary" ], "recording_assets": null }

Parameters

NameTypeDescriptionRequired
meeting_urlstringSingle click meeting URL for the streamNo[1]
resolutionobjectVideo resolution for streamNo
destinationstringName of destination from template to pick up configurationNo[2]
audio_onlybooleanPass true to get an audio-only recordingNo
transcriptionobjectTranscribe recording post call completionNo

[1] meeting_url is required when

  • Composite recordings is not enabled on the dashboard (see how)
  • The template of this room does not have a subdomain (templates created through the REST API don't have subdomains)

[2] (Advanced usage only) destination is required when

  • There are multiple destinations of this type on the template

meeting_url

This is a URL which lands into the room directly. You can use 100ms room links that look like:

https://<domain>.app.100ms.live/preview/<room_id>/<role>?skip_preview=true

Other supported query parameters:

  • skip_preview=true: skips the preview page and directly joins the meeting with header and controls disabled
  • skip_preview_headful=true: skips the preview page and directly joins the meeting with header and controls enabled
  • auth_token=token1234: Use this to pass an auth token to authenticate the room join action
  • ui_mode=activespeaker: Render active speaker mode by default
  • name=johndoe: Use this to add a name for the peer

transcription

NameTypeDescriptionRequired
enabledbooleanSet this to true to enable transcription.No
output_modesarrayArray of output modes for transcript. Valid values: [ txt, srt, json ] (txt: Plain text, srt: SubRip text, json: Granular timestamped words and sentences).No
custom_vocabularyarrayArray 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
summaryobjectObject of type summary, This can be used to enable and configure summary.No

transcription - summary

NameTypeDescriptionRequired
enabledbooleanSet this to true to enable summary.No
contextstringProvide context of the meetings to help AI get a holistic understanding about the call to generate a better summary. (limit: 300 characters)No
temperaturefloatTemperature 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
sectionsarraySections has list of objects. This refers to sections in summary like Agenda, Short Summary, Questions raised by participants. (max count: 6)No

transcription - summary - section

NameTypeDescriptionRequired
titlestringTitle of the section Agenda, Short Summary, Follow Up Action Items, Short Summary. (limit: 100 characters).
It can take custom section names and accordingly the output will vary.
Yes
formatstringFormat of the section. Valid values: [bullets, paragraph]Yes

Have a suggestion? Recommend changes ->

Run in postman

Was this helpful?

1234