<br />

Performs face detection on images.

**Signature:**

    export declare class FaceDetector extends VisionTaskRunner 

## Methods

| Method | Modifiers | Description |
|---|---|---|
| [createFromOptions(wasmFileset, faceDetectorOptions)](https://developers.google.com/edge/api/mediapipe/js/tasks-vision.facedetector#facedetectorcreatefromoptions) | `static` | Initializes the Wasm runtime and creates a new face detector from the provided options. |
| [createFromModelBuffer(wasmFileset, modelAssetBuffer)](https://developers.google.com/edge/api/mediapipe/js/tasks-vision.facedetector#facedetectorcreatefrommodelbuffer) | `static` | Initializes the Wasm runtime and creates a new face detector based on the provided model asset buffer. |
| [createFromModelPath(wasmFileset, modelAssetPath)](https://developers.google.com/edge/api/mediapipe/js/tasks-vision.facedetector#facedetectorcreatefrommodelpath) | `static` | Initializes the Wasm runtime and creates a new face detector based on the path to the model asset. |
| [setOptions(options)](https://developers.google.com/edge/api/mediapipe/js/tasks-vision.facedetector#facedetectorsetoptions) |   | Sets new options for the FaceDetector. Calling `setOptions()` with a subset of options only affects those options. You can reset an option back to its default value by explicitly setting it to `undefined`. |
| [detect(image, imageProcessingOptions)](https://developers.google.com/edge/api/mediapipe/js/tasks-vision.facedetector#facedetectordetect) |   | Performs face detection on the provided single image and waits synchronously for the response. Only use this method when the FaceDetector is created with running mode `image`. |
| [detectForVideo(videoFrame, timestamp, imageProcessingOptions)](https://developers.google.com/edge/api/mediapipe/js/tasks-vision.facedetector#facedetectordetectforvideo) |   | Performs face detection on the provided video frame and waits synchronously for the response. Only use this method when the FaceDetector is created with running mode `video`. |

## FaceDetector.createFromOptions() {#facedetectorcreatefromoptions}

Initializes the Wasm runtime and creates a new face detector from the provided options.

**Signature:**

    static createFromOptions(wasmFileset: WasmFileset, faceDetectorOptions: FaceDetectorOptions): Promise<FaceDetector>;

### Parameters

| Parameter | Type | Description |
|---|---|---|
| wasmFileset | WasmFileset | A configuration object that provides the location of the Wasm binary and its loader. |
| faceDetectorOptions | FaceDetectorOptions | The options for the FaceDetector. Note that either a path to the model asset or a model buffer needs to be provided (via `baseOptions`). |

**Returns:**

Promise\<FaceDetector\>

## FaceDetector.createFromModelBuffer() {#facedetectorcreatefrommodelbuffer}

Initializes the Wasm runtime and creates a new face detector based on the provided model asset buffer.

**Signature:**

    static createFromModelBuffer(wasmFileset: WasmFileset, modelAssetBuffer: Uint8Array | ReadableStreamDefaultReader): Promise<FaceDetector>;

### Parameters

| Parameter | Type | Description |
|---|---|---|
| wasmFileset | WasmFileset | A configuration object that provides the location of the Wasm binary and its loader. |
| modelAssetBuffer | Uint8Array \| ReadableStreamDefaultReader | An array or a stream containing a binary representation of the model. |

**Returns:**

Promise\<FaceDetector\>

## FaceDetector.createFromModelPath() {#facedetectorcreatefrommodelpath}

Initializes the Wasm runtime and creates a new face detector based on the path to the model asset.

**Signature:**

    static createFromModelPath(wasmFileset: WasmFileset, modelAssetPath: string): Promise<FaceDetector>;

### Parameters

| Parameter | Type | Description |
|---|---|---|
| wasmFileset | WasmFileset | A configuration object that provides the location of the Wasm binary and its loader. |
| modelAssetPath | string | The path to the model asset. |

**Returns:**

Promise\<FaceDetector\>

## FaceDetector.setOptions() {#facedetectorsetoptions}

Sets new options for the FaceDetector. Calling `setOptions()` with a subset of options only affects those options. You can reset an option back to its default value by explicitly setting it to `undefined`.

**Signature:**

    setOptions(options: FaceDetectorOptions): Promise<void>;

### Parameters

| Parameter | Type | Description |
|---|---|---|
| options | FaceDetectorOptions | The options for the FaceDetector. |

**Returns:**

Promise\<void\>

## FaceDetector.detect() {#facedetectordetect}

Performs face detection on the provided single image and waits synchronously for the response. Only use this method when the FaceDetector is created with running mode `image`.

**Signature:**

    detect(image: ImageSource, imageProcessingOptions?: ImageProcessingOptions): DetectionResult;

### Parameters

| Parameter | Type | Description |
|---|---|---|
| image | ImageSource | An image to process. |
| imageProcessingOptions | ImageProcessingOptions | the `ImageProcessingOptions` specifying how to process the input image before running inference. |

**Returns:**

DetectionResult

## FaceDetector.detectForVideo() {#facedetectordetectforvideo}

Performs face detection on the provided video frame and waits synchronously for the response. Only use this method when the FaceDetector is created with running mode `video`.

**Signature:**

    detectForVideo(videoFrame: ImageSource, timestamp: number, imageProcessingOptions?: ImageProcessingOptions): DetectionResult;

### Parameters

| Parameter | Type | Description |
|---|---|---|
| videoFrame | ImageSource | A video frame to process. |
| timestamp | number | The timestamp of the current frame, in ms. |
| imageProcessingOptions | ImageProcessingOptions | the `ImageProcessingOptions` specifying how to process the input image before running inference. |

**Returns:**

DetectionResult