Nosmai  Effects Nosmai  Moderation Nosmai Try-ons coming soon
Docs menu Platform support
Reference

Platform support

Compare supported features, requirements, release status, and package sizes across iOS, Android, Flutter, React Native, and Web.

SDK version iOS/Android 3.0.4 · Flutter 1.0.2 · React Native 1.0.0 · Web 0.2 preview Updated Aug 22, 2026 Time 8 min

Status definitions

StatusMeaning
SupportedPublic integration surface is available for production use on the stated targets
BetaAPI exists, but release qualification or the wider physical-device matrix is still in progress
PreviewDeveloper-preview implementation with intentional capability gaps
PartialOnly the explicitly documented subset is exposed by the current package
Authored packages onlyA compatible .nosmai package can provide the result, but no matching direct control method is exposed
Host applicationThe application supplies this operation outside the Nosmai public API
Provider bridgeA maintained provider-specific bridge supplies the handoff
Analysis sampling onlyLow-rate processed-frame inspection is available, but it is not a high-rate streaming handoff
Browser-managedThe browser owns the control and Nosmai does not expose a separate method
Package compatibility variesSupport depends on the exact authored package and must be checked at runtime
Not verifiedNo production-qualified integration path is currently documented
Preview state onlyThe preview exposes limited state rather than native-level parity
Canvas onlyProcessed output remains on the Web canvas and no native texture bridge is provided
NSError domain / Java exceptions and callbacksThe native platform reports errors through its standard public error surface
Not availableThe current platform package does not expose the capability

An authored effect can combine several primitives. A supported package type does not imply that every package authored for another platform has full parity. Inspect compatibility output where the platform provides it and test the exact assets used by the application.

Capability matrix

CapabilityiOSAndroidFlutterReact NativeWeb
GPU camera previewSupportedSupportedSupportedSupportedPreview
Front and back cameraSupportedSupportedSupportedSupportedPreview
Camera switchingSupportedSupportedSupportedSupportedPreview
Preview mirroring and orientationSupportedSupportedSupportedSupportedPreview
Flash and torchSupportedSupportedSupportedSupportedNot available
Focus, exposure, and zoom controlsSupportedSupportedNot availableNot availableBrowser-managed
Pause, resume, stop, and cleanupSupportedSupportedSupportedSupportedPreview
Skin smoothingSupportedSupportedSupportedSupportedNot available
Skin whiteningSupportedSupportedSupportedSupportedNot available
Teeth whiteningSupportedSupportedSupportedSupportedNot available
SharpeningSupportedSupportedSupportedSupportedAuthored packages only
Face reshape controlsSupportedSupportedPartialSupportedNot available
Eye-colour adjustmentSupportedSupportedSupportedSupportedNot available
LipstickSupportedSupportedSupportedSupportedAuthored packages only
EyeshadowSupportedSupportedSupportedSupportedAuthored packages only
BlusherSupportedSupportedSupportedSupportedAuthored packages only
EyelashesSupportedSupportedSupportedSupportedAuthored packages only
EyebrowsSupportedSupportedSupportedSupportedAuthored packages only
Brightness and contrastSupportedSupportedSupportedSupportedAuthored packages only
Hue, RGB, white balance, and grayscaleSupportedSupportedSupportedSupportedAuthored packages only
HSB adjustmentSupportedSupportedNot availableSupportedAuthored packages only
LUT colour filtersSupportedSupportedSupportedSupportedPackage compatibility varies
filter packagesSupportedSupportedSupportedSupportedPreview
effect AR packagesSupportedSupportedSupportedSupportedPreview
beauty_effect packagesSupportedSupportedSupportedSupportedPackage compatibility varies
background packagesSupportedSupportedSupportedSupportedPreview
game packagesSupportedSupportedSupportedSupportedNot available
Face-tracked masks and propsSupportedSupportedSupportedSupportedPreview
3D GLB or glTF contentSupportedSupportedSupportedSupportedPreview
Face-depth occlusion for 3DSupportedSupportedSupportedSupportedPreview
Face and pass triggersSupportedSupportedSupportedSupportedPreview
Runtime package parametersSupportedSupportedSupportedSupportedPreview
Active package and effect stateSupportedSupportedSupportedSupportedPreview state only
App-bundled Asset Store packagesSupportedSupportedSupportedSupportedPreview
Cloud catalog and paginationSupportedSupportedSupportedSupportedNot available
Cloud download, cache, and removalSupportedSupportedSupportedSupportedNot available
Interactive tap handlingSupportedSupportedSupportedSupportedNot available
Named game input and game eventsSupportedSupportedSupportedSupportedNot available
Background blurSupportedSupportedSupportedSupportedAuthored packages only
Background colourSupportedSupportedSupportedSupportedAuthored packages only
Background imageSupportedSupportedSupportedSupportedAuthored packages only
Background videoSupportedSupportedSupportedSupportedNot available
Host-supplied overlay APINot availableNot availableNot availableNot availableNot available
Processed photo captureSupportedHost applicationSupportedSupportedNot available
Processed video recordingSupportedSupportedSupportedSupportedNot available
Gallery-save helperHost applicationHost applicationSupportedSupportedNot available
Processed frame or texture accessSupportedSupportedSupportedSupportedCanvas only
Off-screen streaming handoffSupportedSupportedProvider bridgeAnalysis sampling onlyNot available
Agora integration pathSupportedSupportedSupportedNot availableNot verified
LiveKit integration pathSupportedSupportedSupportedNot availableNot verified
Raw WebRTC integration pathSupportedSupportedNot availableNot availableNot verified
License verification and statusSupportedSupportedSupportedSupportedPreview
Stable application error codesNSError domainJava exceptions and callbacksSupportedSupportedPreview
Runtime compatibility reportNot availableNot availableNot availableNot availablePreview

Partial for Flutter face reshape means the current Dart surface exposes face slimming, eye size, and nose slimming directly. Additional reshape controls are available in the native SDKs and React Native 1.0.0, but are not yet all exposed through Flutter.

Authored packages only means the Web preview can render a compatible package that implements the visual result. It does not expose the matching native-style parametric method.

The current public SDKs do not expose a separate host-image overlay API. Build stickers, watermarks, animated props, and face-attached images into an authored .nosmai package so they are included in preview and processed output.

System requirements

RequirementiOSAndroidFlutterReact NativeWeb
PackageNosmaiCameraSDKnosmai-sdk-3.0.4.aarnosmai_effects_sdk@nosmai/react-native-effects-sdk@nosmai/web-sdk
Current version3.0.4 pod compatibility release3.0.41.0.21.0.00.2.0 preview
Minimum targetiOS 15Android API 21iOS 15 or Android API 21iOS 15 or Android API 24Secure browser context
ArchitecturePhysical arm64Physical arm64-v8aPhysical arm64 targetPhysical arm64 targetHardware-accelerated WebGL2 recommended
Primary toolchainCocoaPods, Swift 5 or Objective-CJava 11, compile SDK 35Flutter 3.22, Dart 3React Native 0.81.5, React 19.1, New ArchitectureNode 20.19 or 22.12+, modern bundler
Camera requirementAVFoundation camera accessCamera2-capable deviceNative camera permissionNative camera permissionnavigator.mediaDevices.getUserMedia
Simulator or emulatoriOS Simulator unsupportedEmulator not qualifiedUse physical iOS and Android devicesUse physical devices; Expo Go unsupportedLocalhost or HTTPS browser testing supported
DistributionCocoaPods or verified framework ZIPVerified GitHub release AARpub.dev plus native dependenciesPublic stable npm package plus native dependenciesAuthorized preview package

The NosmaiCameraSDK 3.0.4 pod currently resolves the verified framework archive published with the iOS v3.0.4 GitHub release. Flutter 1.0.2 declares NosmaiCameraSDK ~> 3.0.4 and Android native 3.0.4.

Browser requirements

The Web preview checks capabilities at runtime instead of promising a frozen browser-version matrix. The browser must provide:

  • a secure context, using HTTPS or localhost
  • navigator.mediaDevices.getUserMedia
  • WebGL2
  • WebAssembly and Web Crypto APIs
  • camera access allowed by browser permissions and any iframe policy
  • Content Security Policy access to camera, package, WASM, and model hosts

Hardware acceleration is recommended. Software WebGL or CPU inference can make the preview substantially slower. Read the SDK diagnostics object to confirm the renderer and inference delegates selected on the test device.

Native artifact size

ArtifactPublished sizeWhat the number means
Android 3.0.4 AAR53,876,984 bytes, about 51.4 MiBDownloaded development artifact before app-bundle optimization
iOS v3.0.4 framework ZIP23,962,678 bytes, about 22.9 MiBCompressed framework archive used by the 3.0.4 pod compatibility release
Flutter 1.0.2 Dart packageSmall wrapper packageNative Android AAR and iOS framework are resolved separately
React Native 1.0.0About 226.1 kB packed and 1.1 MB unpackedProprietary native binaries are resolved separately
Web 0.2.0 previewBuild-dependentFace and segmentation models can be self-hosted and loaded only when needed

These are source artifact sizes, not guaranteed store-download increases. Build mode, compression, store thinning, existing dependencies, symbols, selected assets, and ABI splits determine the final application size. Measure the signed release artifact for the application that will ship.

Device and performance notes

  • The rendering target is 30 FPS under supported conditions.
  • Face and segmentation inference are enabled only when the active feature needs them.
  • Mobile performance-aware behaviour can skip selected inference work or reduce recording resolution on measured lower-tier Android devices.
  • Effect complexity, camera resolution, device load, session length, and thermal state can change frame rate, memory use, and battery consumption.
  • No single certified tracking-accuracy, battery, thermal, or memory figure is published for every device. Use a representative physical-device matrix for release qualification.
  • A 32-bit-only Android device cannot install an app whose only native ABI is arm64-v8a. A 64-bit device that lists arm64-v8a can install it even if the device also lists 32-bit fallback ABIs.

Verify platform eligibility

Before integration, confirm all of the following:

  1. The target meets the minimum OS and architecture requirement.
  2. The required capability is marked Supported or accepted as Beta or Preview.
  3. A physical device is available for native camera verification.
  4. The application identifier or web origin is registered in Nosmai Console.
  5. The release artifact can include the proprietary native dependency.
  6. The exact authored .nosmai packages have been tested on every target.

Common errors

Error or symptomCauseFix
INSTALL_FAILED_NO_MATCHING_ABISAndroid device or build does not provide arm64-v8aUse a physical ARM64 device and keep arm64-v8a in the app ABI filters
building for iOS Simulator, but linking in object file built for iOSThe current iOS framework contains a device slice onlySelect a physical iPhone or a generic iOS device target
WEBGL_UNAVAILABLEWebGL2 could not be createdEnable hardware acceleration, use a compatible browser, and avoid a blocked or software-only context
E_NO_PREVIEWReact Native processing started before a Fabric preview owned the sessionMount NosmaiCameraView, wait for its layout boundary, then call startProcessing()
Camera preview never starts on a 32-bit Android deviceThe native library is ARM64-onlyExclude the unsupported device or provide a separately supported architecture in a future SDK release

Next steps

References

Was this page helpful?

Your response helps us prioritize documentation improvements.

Nosmai

An AR and AI company. Founded on the idea that the next decade of software will be visual, and that the tools for it should be within reach of anyone building.

Newsletter

Product updates and release notes. No spam.

© 2026 nosmai, inc · all rights reserved