# Filters and effects

> Choose between adjustable built-in controls and protected .nosmai packages, then understand how packages are delivered and combined.

> For AI agents: the complete documentation index is at https://nosmai.com/llms/effects.txt

Product: Nosmai Effects
Group: core-concepts
Source: https://nosmai.com/docs/effects/concepts/filters-and-effects/

## Two ways to create a visual result

Nosmai Effects provides adjustable SDK controls and authored `.nosmai`
packages.

| Type | Best for | How it is controlled |
| --- | --- | --- |
| Adjustable controls | Skin retouching, makeup, face shaping, color, and manual backgrounds | Direct SDK methods and numeric values |
| Authored packages | AR masks, shaders, LUTs, frames, particles, 3D content, backgrounds, and games | Apply a protected `.nosmai` file |

An authored package contains its assets, manifest, shaders, and optional
runtime parameters. The SDK reads its declared type and places it in the
correct active slot.

## Package types

| Manifest type | Purpose | Replacement rule |
| --- | --- | --- |
| `filter` | Color, LUT, frame, or general visual filter | Replaces the current regular filter |
| `effect` | Face-tracked AR effect or mask | Replaces `effect` or `beauty_effect` |
| `beauty_effect` | Complete authored beauty look | Replaces `effect` or `beauty_effect` |
| `background` | Authored background experience | Replaces the current background package |
| `game` | Interactive camera game | Clears other visual modes while active |

Cloud catalog category names are not package manifest types. Use the typed
category values exposed by the platform package when requesting the catalog.

## How packages reach the app

More than 200 ready-made filters are available through the Nosmai Asset Store.
They are not all embedded inside the SDK binary.

| Delivery route | Benefits | Trade-offs |
| --- | --- | --- |
| Bundled with the app | Works without a first-use download and is available immediately | Increases app size and needs a new app release to change |
| Downloaded through Cloud Filters | Keeps the base app smaller and lets the catalog change without a release | Needs network access for the first download and uses device storage |

Only bundle or download packages supplied for the intended Nosmai release and
platform. Test the exact packages used by the application on each target
platform.

## Runtime parameters

Some authored packages expose named parameters such as intensity, speed, text,
or a variant. Read the parameter metadata after applying the package. Do not
guess names or ranges from another package.

The metadata tells the app whether the value is numeric, text, or an option,
and whether a range is present. Build controls from that metadata and keep the
package's declared default when the user has not changed it.

## Choosing a route

Bundle a small set of essential filters that must work immediately. Use Cloud
Filters for a larger or frequently changing catalog. Many apps combine both:
one bundled starter filter plus cloud-delivered seasonal content.

## Next steps

- [Control runtime parameters on iOS](/docs/effects/guides/effects/control-runtime-parameters/ios/)
- [Control runtime parameters on Android](/docs/effects/guides/effects/control-runtime-parameters/android/)
- [Control runtime parameters in Flutter](/docs/effects/guides/effects/control-runtime-parameters/flutter/)
- [Control runtime parameters in React Native](/docs/effects/guides/effects/control-runtime-parameters/react-native/)
- [Bundle an Asset Store filter in iOS](/docs/effects/guides/filters/bundle-an-asset-store-filter/ios/)
- [Download a Cloud Filter in Flutter](/docs/effects/guides/filters/download-a-cloud-filter/flutter/)
- [Understand Cloud Filters](/docs/effects/concepts/cloud-filters/)
- [Review face triggers](/docs/effects/concepts/triggers/)

## References

- [Platform and feature support](/docs/effects/platform-support/)
- [Nosmai Effects](https://nosmai.com/effects/)
