Effects License key
Effects / Get started / License key

Get and apply a Nosmai Effects license key

Updated August 28, 2026

Create a Nosmai Effects project, register the correct app identity, and securely add its app-bound key to your application.

Prerequisites

  • A Nosmai Console account
  • The final Android application ID, iOS bundle identifier, or Web origin
  • A valid payment card for project creation
  • The installed Nosmai Effects package for the target platform

An app-bound licence key is a project credential created for one specific application identity. Android calls that identity the application ID, iOS calls it the bundle identifier, and Web uses the site's origin.

Create a project

1. Start project creation

Sign in to Nosmai Console, open Projects, and select Create project.

Nosmai Console Projects page with the Create project button highlighted

2. Choose Nosmai Effects

Select Nosmai Effects, then select Next. A Console project is created for one Nosmai product.

Nosmai Effects selected in the Console project creation flow

3. Choose the project plan

Enter a recognizable project name. Select the expected monthly active users and billing cycle. A promo code is optional. Review the current plan, included features, and price shown in Console, then select Continue to payment.

Nosmai Effects project name, usage plan, billing cycle, and optional promo code fields

Plan availability, pricing, trials, and included features can change. The values and terms displayed in Nosmai Console during checkout are the current source of truth.

4. Add a payment card

A valid payment card is required to create the project and start an available trial, even when Console shows no payment due on that day. Review the trial period, first payment date, renewal price, and cancellation terms before confirming.

Nosmai Console payment step with card details required before starting the trial

Create an app-bound key

Open the new project and select Create new key. Choose the platform, then enter the exact identity of the application that will use the key:

  • iOS: Use the target's Bundle Identifier from Xcode Signing & Capabilities. See Apple's official bundle ID guidance.
  • Android: Use the app module's applicationId. See Android's official application ID guidance.
  • Web: Use the licensed website origin, including the scheme and any port required by the project.

Do not copy the example identifier shown in the screenshot. Select Generate key only after the platform and application identity are correct.

Nosmai Console platform and app identifier fields used to generate an app-bound key

Copy the generated key immediately and store it in private build configuration. For security, Console does not show the complete key again.

Nosmai Console one-time API key display with the key value hidden

Do not paste a real key into a public repository, issue, screenshot, analytics event, or support message.

Match the application identity

PlatformRegistered identityCheck it in
AndroidApplication IDApp module applicationId
iOSSigned bundle identifierXcode Signing & Capabilities
Flutter or React NativeThe corresponding native identityAndroid and iOS host projects
WebLicensed originlocation.origin, including scheme and configured port rules

Android and iOS normally use separate keys even when they share one Flutter or React Native codebase.

Initialize once

Initialize at the application or camera-session boundary. Do not initialize in a widget build, render function, list item, or frame callback.

Use the platform quickstart for the exact released method:

An accepted initialization starts the native session. Final online verification can complete asynchronously, so observe the license-status callback where the platform exposes it.

Understand each state

The current native enforcement keeps the host application alive. It does not intentionally crash the process after a delay.

Valid, unverified, invalid, and expired Nosmai license verification states

StateCamera outputApplication action
VALIDNormal output without an enforcement watermarkEnable entitled controls
UNVERIFIEDWatermarked while verification is pending or temporarily unavailableWait, retry with bounded backoff, and keep the state visible
INVALIDStrong full-frame blur plus watermark on native outputBlock the production camera flow and correct the rejection
EXPIREDStrong full-frame blur plus watermark on native output; application remains aliveRestore the project or subscription

The Web preview remains watermarked until verification succeeds, but its current visual enforcement is not identical to native invalid-key blur.

Native 3.0.4 also renders a short enforcement message inside the processed output. LICENSE_EXPIRED shows Nosmai Effects license has expired. Please contact your administrator. MAU_LIMIT_EXCEEDED is treated as an invalid state and shows Monthly usage limit reached. Please contact your administrator. Other confirmed invalid states show Nosmai Effects unavailable. Please contact your administrator. Keep any additional product UI outside the camera preview concise and consistent with the SDK state.

Diagnose a rejection

Server codeWhat to check
API_KEY_INVALIDThe key is complete, active, and not revoked
PACKAGE_ID_MISMATCHThe installed package or bundle identity matches Console exactly
PLATFORM_MISMATCHThe key belongs to the current platform
SDK_VERSION_UNSUPPORTEDThe linked native release is allowed by the project
MAU_LIMIT_EXCEEDEDThe current project usage policy and account status
DEVICE_NOT_REGISTEREDThe device is accepted by project policy
LICENSE_EXPIREDThe project license is current

DNS failures, timeouts, and other transport errors are temporary UNVERIFIED conditions, not proof that a key is invalid.

Plan for offline use

The first successful verification requires the Nosmai licensing service. A signed cached state can support a limited offline period where current account policy allows it. Retry when connectivity returns; never run a tight loop or reuse one key's cached validity for another key.

Keep environments separate

Use different Console projects and identities for development, staging, and production. Inject the selected key through build or runtime configuration and redact it from release logs.

Verify it worked

  1. Start with an active network connection.
  2. Confirm initialization is accepted.
  3. Confirm the final status becomes VALID.
  4. Open the camera and confirm there is no enforcement watermark or blur.
  5. Repeat with the final signed application identity.
  6. Confirm logs and analytics do not contain the complete key.

Common errors

SymptomCauseFix
Initialization returns falseNative startup rejected the requestCheck the complete platform log before starting the preview
Preview remains watermarkedVerification is pending or temporarily unavailableCheck network and status callbacks, then retry with backoff
Preview is blurred and watermarkedVerification returned confirmed INVALID or EXPIREDRead the server code and correct the key, identity, usage limit, or project
Camera error appears after a valid licenseAnother camera owner or device-specific Camera2/AVFoundation failureSeparate camera lifecycle diagnostics from license verification

Next steps

References

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