Filters

Edit

Filter Change Settings #

Changes or adds settings to a filter in a specified source.
Requires the same formatting that is used in the OBS JSON file.
An easy way to see your current filter’s settings is to use the Check Settings button - after filling out the Source and Filter Name boxes, you will get a pop-up showing the filter’s settings, excluding any still at default values.

Find a Filter Setting's name
Box Name Type Description
OBS Dropdown OBS to send this command to (if using multiple OBS)
Source Name String Source name containing the filter. Select from dropdown or input manually.
Filter Name String Filter name to change the settings. Select from dropdown or input manually.
Settings JSON String The filter settings to be included. Formatted as a JSON String. Must be enclosed in {}.

OBS WebSocket 5 Request: SetSourceFilterSettings

Request Field Type Description
sourceName String Name of the source the filter belongs to.
filterName String Name of the filter to change settings for.
filterSettings Object JSON object with the settings to apply.
overlay Boolean (optional) true (default) = merge with existing settings, false = replace all settings.

Common filter setting keys by filter type:

Filter Setting Keys Example
Color Correction brightness, contrast, saturation, hue_shift, opacity {"brightness": 0.1, "opacity": 0.8}
Color Key key_color_type, similarity, smoothness {"similarity": 80}
Chroma Key key_color_type, similarity, smoothness, spill {"similarity": 400}
Noise Suppression suppress_level {"suppress_level": -30}
Gain db {"db": 5.0}
Render Delay delay_ms {"delay_ms": 500}

Use the Check Settings button in SAMMI or Send OBS Request with GetSourceFilter to inspect the current filter settings for your specific filter.


Edit

Filter Change Visibility #

Changes visibility of a filter in a given source.\

Box Name Type Description
OBS Dropdown OBS to send this command to (if using multiple OBS)
Source Name String Source name containing the filter. Select from dropdown or input manually.
Filter Name String Filter name to change the visibility. Select from dropdown or input manually.
Visible checkbox checked = visible, unchecked = not visible

OBS WebSocket 5 Request: SetSourceFilterEnabled

Request Field Type Description
sourceName String Name of the source the filter is applied to.
filterName String Name of the filter to enable or disable.
filterEnabled Boolean true to enable (show), false to disable (hide) the filter.


Edit

Filter Toggle Visibility #

Toggles the visibility of a filter. If the filter is visible it’s turn off and vice versa.

Box Name Type Description
OBS Dropdown OBS to send this command to (if using multiple OBS)
Source Name String Source name containing the filter. Select from dropdown or input manually.
Filter Name String Filter name to change the visibility. Select from dropdown or input manually.

OBS WebSocket 5 Request: SetSourceFilterEnabled

SAMMI reads the current filter state from its internal cache and calls SetSourceFilterEnabled with the inverted value.

Request Field Type Description
sourceName String Name of the source the filter is applied to.
filterName String Name of the filter to toggle.
filterEnabled Boolean The toggled state (opposite of the current visibility).


Edit

Filter Get Settings #

Gets the current settings of an OBS filter and saves them as an object.

Box Name Type Description
OBS Dropdown OBS to send this command to, if using multiple OBS connections.
Source Name String Source the filter belongs to. Select from dropdown or input manually.
Filter Name String Filter to get settings from. Select from dropdown or input manually.
Save Variable As String Variable name to save the filter settings object.

Example:

Source Name Filter Name Save Variable As Saved Object Example
Webcam Color Correction filterSettings Object containing filter settings such as brightness, contrast, opacity, or other values returned by OBS.
Microphone Noise Suppression filterSettings Object containing the settings returned by OBS for that audio filter.

This is useful for reading current filter values before changing them, creating backups, or debugging filter settings.

OBS WebSocket 5 Request: GetSourceFilter

Request Field Type Description
sourceName String Name of the source the filter is on.
filterName String Name of the filter to get settings from.
Response Field Type Description
filterSettings Object All non-default filter settings. Saved directly to your variable.
filterEnabled Boolean Whether the filter is currently enabled.
filterKind String The filter type ID (e.g. color_filter_v2, noise_suppress_filter_v2).

Example saved objects by filter type:

Filter Example filterSettings
Color Correction {"brightness": 0.1, "contrast": 0.2, "saturation": 0.5, "opacity": 1.0}
Chroma Key {"key_color_type": "green", "similarity": 400, "smoothness": 80}
Gain {"db": 5.0}
Noise Suppression {"suppress_level": -30, "method": "rnnoise"}


Edit

Motion: Filter Settings #

Transitions specified filter settings over a set duration.

Box Name Type Description
OBS Dropdown OBS to send this command to (if using multiple OBS)
Source Name String Source name containing the filter. Select from dropdown or input manually.
Filter Name String Filter name to transition the settings. Select from dropdown or input manually.
Filter Setting String The string name of the specific filter setting to transition (e.g. brightness). Use the Check Settings button to find the correct setting name.
Value Start Int Starting value of the filter
Value End Int Final value of the filter
Duration (ms) Int Transition duration in milliseconds
Smooth Dropdown Type of transition.
None = Normal, Out = Starts out fast and ends slow, In = Starts out slow and ends fast,
In/Out= Starts out slow, gets faster and then slows down at the end again.

OBS WebSocket 5 Request: SetSourceFilterSettings (called repeatedly each SAMMI frame)

Sends {"<filterSetting>": value} as filterSettings on every frame until the duration is complete. Use Check Settings in the Filter Change Settings command to discover the correct setting name for your filter.


Edit

Motion: Alpha Filter #

Changes the transparency of a source over a set duration.
Requires a Color Correction filter to be added to your source.
This way you can gradually fade out a source before turning its visibility completely off and gradually fade in a source after turning its visibility on.

Box Name Type Description
OBS Dropdown OBS to send this command to (if using multiple OBS)
Source Name String Source name to change the transparency of. Select from dropdown or input manually.
Color Correction String Color Correction filter name.
Alpha Start Real Starting transparency percentage. 0-100 or 0-1 depending on the filter’s version.
Alpha End Real Final transparency percentage. 0-100 or 0-1 depending on the filter’s version.
Duration (ms) Int Transition duration in milliseconds
Smooth dropdown Type of transition.
None = Normal, Out = Starts out fast and ends slow, In = Starts out slow and ends fast,
In/Out= Starts out slow, gets faster and then slows down at the end again.

OBS WebSocket 5 Request: SetSourceFilterSettings (called repeatedly each SAMMI frame)

Sends {"opacity": value} as filterSettings every frame, targeting the specified Color Correction filter. Older Color Correction filters use the opacity key with a 0–100 range; newer ones use 0–1.