Updates settings applied to local media inputs during a Daily call. Returns a Promise that does not resolve until settings are updated.

A successful call to updateInputSettings() triggers an 'input-settings-updated' event. 'nonfatal-error' fires on errors.

Calling updateInputSettings() prior to preAuth() will throw an error.


Input settings are passed as an object with video being the only currently supported key (audio may be supported in the future). video also takes an object for defining its settings, for which there is only currently one: the processor, keyed on processor. processor takes yet another object specifying the type and config values.


type has the following allowed values: "none", "background-image", and "background-blur". If "background-blur" or "background-image" is set, changing type to "none" turns it off.

Beta feature

Heads up!

You must be running daily-js 0.21.0+ to try out the beta "background-blur" setting.

You must be running daily-js 0.23.0+ to try out the beta "background-image" setting.

"background-blur" and "background-image" are currently only supported on desktop Firefox and Chromium-based browsers (such as Chrome).

Setting type to "background-blur" obscures the local participant's background.

If "background-blur" is enabled, then an additional strength value can be passed to config. The strength value is a float greater than 0 and less than or equal to 1, with 1 being the default and strongest blur.

Setting type to "background-image" will replace the participant's background with the image passed in the config property. The nested source property should be set to either an HTTP or data URI. Supported file extensions are .jpg, .jpeg, and .png.