Welcome to the new Daily Docs. Please let us know what you think.




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, config and publish values.


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

Beta feature

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

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 from 0-1, with 1, also the default, being the strongest blur.

"background-blur" is currently only supported on desktop Chrome, Firefox, and Chromium-based browsers.


publish defaults to true. Setting publish to false will apply the processor settings locally, but still send the raw media stream across the connection (if the media stream is not muted). This could be used, for example, to test new inputSettings before updating and sending them.