@snap/camera-kit
Version:
Camera Kit Web
97 lines (54 loc) • 2.14 kB
Markdown
[**CameraKit Web SDK v1.13.0**](../README.md)
***
[CameraKit Web SDK](../globals.md) / CameraKit
# Class: CameraKit
The entry point to the CameraKit SDK's API. Most of CameraKit's features are accessed via this class.
Applications obtain an instance of CameraKit by calling [bootstrapCameraKit](../functions/bootstrapCameraKit.md).
## Example
```ts
const cameraKit = await bootstrapCameraKit(config)
```
Then this class can be used to:
- Create a [CameraKitSession](CameraKitSession.md) instance, which provides the API for setting up media inputs, applying Lenses,
and obtaining rendered `<canvas>` outputs.
- Query for lenses using [LensRepository](LensRepository.md).
- Listen for lens usage metrics events using MetricsEventTarget.
## Properties
### ~~lenses~~
> `readonly` **lenses**: `object`
#### ~~repository~~
> **repository**: [`LensRepository`](LensRepository.md)
#### Deprecated
Use [lensRepository](CameraKit.md#lensrepository)
***
### metrics
> `readonly` **metrics**: [`TypedEventTarget`](TypedEventTarget.md)\<[`LensMetricsEvents`](../type-aliases/LensMetricsEvents.md)\>
Business metrics (e.g. each time a lens is viewed) are emitted here.
***
### lensRepository
> `readonly` **lensRepository**: [`LensRepository`](LensRepository.md)
Used to query for lenses and lens groups.
## Methods
### createSession()
> **createSession**(`options`): `Promise`\<[`CameraKitSession`](CameraKitSession.md)\>
Create a CameraKitSession.
This initializes the rendering engine and returns a [CameraKitSession](CameraKitSession.md) instance, which provides access
to Lens rendering.
#### Parameters
##### options
[`CreateSessionOptions`](../interfaces/CreateSessionOptions.md) = `{}`
#### Returns
`Promise`\<[`CameraKitSession`](CameraKitSession.md)\>
#### Example
```ts
const cameraKit = await bootstrapCameraKit(config)
const session = await cameraKit.createSession()
const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)
session.applyLens(lens)
```
***
### destroy()
> **destroy**(): `Promise`\<`void`\>
Destroys all sessions and frees all resources.
#### Returns
`Promise`\<`void`\>