Settings

The Stream API provides multiple configuration options on the call type level.

  • You can provide the settings when creating or updating a call type
  • For maximum flexibility, you can override the settings on the call level when creating or updating a call

Code examples

Settings

client.video.createCallType({
  name: "<call type name>",
  settings: {
    screensharing: {
      access_request_enabled: false,
      enabled: true,
    },
  },
});

// override settings on call level
call.create({
  data: {
    created_by_id: "john",
    settings_override: {
      screensharing: {
        enabled: false,
      },
    },
  },
});

Notification settings

Notification settings can't be overridden on the call level, you can only set these on the call type level.

client.video.createCallType({
  name: "<call type name>",
  notification_settings: {
    enabled: true,
    call_notification: {
      apns: {
        title: "{{ user.display_name }} calls you",
        body: "{{ user.display_name }} calls you",
      },
      enabled: true,
    },
    call_ring: {
      apns: {
        title: "{{ user.display_name }} calls you",
        body: "{{ user.display_name }} calls you",
      },
      enabled: true,
    },
    call_live_started: {
      enabled: true,
      apns: {
        title: "{{ call.display_name }} started",
        body: "{{ user.display_name }} started",
      },
    },
    call_missed: {
      enabled: true,
      apns: {
        title: "missed call from {{ user.display_name }}",
        body: "missed call from {{ user.display_name }}",
      },
    },
    session_started: {
      enabled: true,
      apns: {
        title: "{{ call.display_name }} started",
        body: "{{ call.display_name }} started",
      },
    },
  },
});

Configuration options

Settings

CallSettingsRequest

NameTypeDescriptionConstraints
audioAudioSettingsRequest--
backstageBackstageSettingsRequest--
broadcastingBroadcastSettingsRequest--
frame_recordingFrameRecordingSettingsRequest--
geofencingGeofenceSettingsRequest--
individual_recordingIndividualRecordingSettingsRequest--
ingressIngressSettingsRequest--
limitsLimitsSettingsRequest--
raw_recordingRawRecordingSettingsRequest--
recordingRecordSettingsRequest--
ringRingSettingsRequest--
screensharingScreensharingSettingsRequest--
sessionSessionSettingsRequest--
thumbnailsThumbnailsSettingsRequest--
transcriptionTranscriptionSettingsRequest--
videoVideoSettingsRequest--

AudioSettingsRequest

NameTypeDescriptionConstraints
access_request_enabledboolean--
default_devicestring (speaker, earpiece)-Required
hifi_audio_enabledboolean--
mic_default_onboolean--
noise_cancellationNoiseCancellationSettings--
opus_dtx_enabledboolean--
redundant_coding_enabledboolean--
speaker_default_onboolean--

BackstageSettingsRequest

NameTypeDescriptionConstraints
enabledboolean--
join_ahead_time_secondsinteger--

BroadcastSettingsRequest

NameTypeDescriptionConstraints
enabledboolean--
hlsHLSSettingsRequest--
rtmpRTMPSettingsRequest--

FrameRecordingSettingsRequest

NameTypeDescriptionConstraints
capture_interval_in_secondsinteger-Required, Minimum: 2, Maximum: 60
modestring (available, disabled, auto-on)-Required
qualitystring (360p, 480p, 720p, 1080p, 1440p)--

GeofenceSettingsRequest

NameTypeDescriptionConstraints
namesstring[]--

HLSSettingsRequest

NameTypeDescriptionConstraints
auto_onbooleanWhether HLS broadcasting should start automatically-
enabledbooleanWhether HLS broadcasting is enabled-
layoutLayoutSettingsRequestLayout settings for HLS-
quality_tracksstring (360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560)[]Quality tracks for HLS. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560Required

IndividualRecordingSettingsRequest

NameTypeDescriptionConstraints
modestring (available, disabled, auto-on)Recording mode. One of: available, disabled, auto-onRequired
output_typesstring (audio_only, video_only, audio_video, screenshare_audio_only, screenshare_video_only, screenshare_audio_video)[]Output types to include: audio_only, video_only, audio_video, screenshare_audio_only, screenshare_video_only, screenshare_audio_video-

IngressAudioEncodingOptionsRequest

NameTypeDescriptionConstraints
bitrateinteger-Required, Minimum: 16000, Maximum: 128000
channelsinteger (1, 2)-Required
enable_dtxboolean--

IngressSettingsRequest

NameTypeDescriptionConstraints
audio_encoding_optionsIngressAudioEncodingOptionsRequest--
enabledboolean--
video_encoding_optionsobject--

LayoutSettingsRequest

NameTypeDescriptionConstraints
detect_orientationboolean--
external_app_urlstring--
external_css_urlstring--
namestring (spotlight, grid, single-participant, mobile, custom)-Required
optionsobject--

LimitsSettingsRequest

NameTypeDescriptionConstraints
max_duration_secondsinteger-Minimum: 0
max_participantsinteger--
max_participants_exclude_ownerboolean--
max_participants_exclude_rolesstring[]--

NoiseCancellationSettings

NameTypeDescriptionConstraints
modestring (available, disabled, auto-on)-Required

RawRecordingSettingsRequest

NameTypeDescriptionConstraints
modestring (available, disabled, auto-on)Recording mode. One of: available, disabled, auto-onRequired

RecordSettingsRequest

NameTypeDescriptionConstraints
audio_onlybooleanWhether to record audio only-
layoutLayoutSettingsRequestLayout settings for recording-
modestring (available, disabled, auto-on)Recording mode. One of: available, disabled, auto-onRequired
qualitystring (360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560)Recording quality. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560-

RingSettingsRequest

NameTypeDescriptionConstraints
auto_cancel_timeout_msintegerWhen none of the callees accept a ring call in this time a rejection will be sent by the caller with reason 'timeout' by the SDKsRequired, Minimum: 5000, Maximum: 180000
incoming_call_timeout_msintegerWhen a callee is online but doesn't answer a ring call in this time a rejection will be sent with reason 'timeout' by the SDKsRequired, Minimum: 5000, Maximum: 180000
missed_call_timeout_msintegerWhen a callee doesn't accept or reject a ring call in this time a missed call event will be sentMinimum: 5000, Maximum: 180000

RTMPSettingsRequest

NameTypeDescriptionConstraints
enabledbooleanWhether RTMP broadcasting is enabled-
layoutLayoutSettingsRequestLayout for the composed RTMP stream-
qualitystring (360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560)Resolution to set for the RTMP stream. One of: 360p, 480p, 720p, 1080p, 1440p, portrait-360x640, portrait-480x854, portrait-720x1280, portrait-1080x1920, portrait-1440x2560-

ScreensharingSettingsRequest

NameTypeDescriptionConstraints
access_request_enabledboolean--
enabledboolean--
target_resolutionTargetResolution--

SessionSettingsRequest

NameTypeDescriptionConstraints
inactivity_timeout_secondsinteger-Required, Minimum: 5, Maximum: 900

SpeechSegmentConfig

NameTypeDescriptionConstraints
max_speech_caption_msinteger--
silence_duration_msinteger--

TargetResolution

NameTypeDescriptionConstraints
bitrateinteger-Maximum: 6000000
heightinteger-Required, Minimum: 240, Maximum: 3840
widthinteger-Required, Minimum: 240, Maximum: 3840

ThumbnailsSettingsRequest

NameTypeDescriptionConstraints
enabledboolean--

TranscriptionSettingsRequest

NameTypeDescriptionConstraints
closed_caption_modestring (available, disabled, auto-on)--
languagestring (auto, en, fr, es, de, it, nl, pt, pl, ca, cs, da, el, fi, id, ja, ru, sv, ta, th, tr, hu, ro, zh, ar, tl, he, hi, hr, ko, ms, no, uk, bg, et, sl, sk)--
modestring (available, disabled, auto-on)--
speech_segment_configSpeechSegmentConfig--
translationTranslationSettings--

TranslationSettings

NameTypeDescriptionConstraints
enabledboolean--
languagesstring (en, fr, es, de, it, nl, pt, pl, ca, cs, da, el, fi, id, ja, ru, sv, ta, th, tr, hu, ro, zh, ar, tl, he, hi, hr, ko, ms, no, uk)[]--

VideoSettingsRequest

NameTypeDescriptionConstraints
access_request_enabledboolean--
camera_default_onboolean--
camera_facingstring (front, back, external)--
enabledboolean--
target_resolutionTargetResolution--

Notification settings

NotificationSettings

NameTypeDescriptionConstraints