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
- Control runtime parameters on Android
- Control runtime parameters in Flutter
- Control runtime parameters in React Native
- Bundle an Asset Store filter in iOS
- Download a Cloud Filter in Flutter
- Understand Cloud Filters
- Review face triggers