Interface CameraKitBootstrapConfiguration

Configuration which must be provided when calling bootstrapCameraKit. These values are used to create various CameraKit components.

Hierarchy

  • CameraKitBootstrapConfiguration

Properties

apiToken: string

Long-lived token granting your application access to CameraKit APIs. This is found in the SnapKit Dev Portal, where it's called the API Token.

logger?: "noop" | "console"

Determine where to print CameraKit log messages. By default no logs will be printed.

CameraKit emits log messages to help diagnose and root cause issues that may occur during the development of a host application. The printing of these can be controlled via the following options:

  • noop: log messages are ignored.
  • console: log messages are printed to console.
logLevel?: "debug" | "error" | "warn" | "log" | "info"

Log only if a logged entry level is greater than or equal to this level. Here is the order of levels: error > warn > log = info > debug. Default value is "info".

Some lenses may decide to modify their behavior based on the performance of the current environment. If you are using such lenses, providing an estimation of lens performance may lead to better user experience (especially on low-performance devices).

Running the estimateLensPerformance function will run benchmarks and estimate an appropriate lens performance cluster (i.e. a performance rating) based on the current environment.

Lower cluster = worse expected performance capability.

Example

import { bootstrapCameraKit, estimateLensPerformance } from '@snap/camera-kit`

const cameraKit = await bootstrapCameraKit({
apiToken: '...',
lensPerformance: estimateLensPerformance(),
})
lensCoreOverrideUrls?: {
    wasm: string;
    js: string;
}

In recommended production deployments, the WebAssembly assets required by CameraKit will be downloaded from an optimized CDN. But sometimes (e.g. during development or within a CI pipeline), it may be necessary to download these assets from somewhere else.

This configuration option allows the application to specify URLs to be used for both the WebAssembly and JS glue file that are used to run and interact with CameraKit's rendering engine.

Type declaration

  • wasm: string
  • js: string
wasmEndpointOverride?: string

In recommended production deployments, the WebAssembly assets required by CameraKit will be downloaded from an optimized CDN. But sometimes during development or within a CI pipeline, it may be necessary to download these assets from somewhere else. With a provided wasmEndpointOverride, asset URLs will be automatically generated based on this root endpoint.

Generated using TypeDoc