> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-en/sdks/sdk-mobile/framework-plugins/react-native/componentes/captura-facial.md).

# Face Capture - Selphi

## Introduction <a href="#id-1-introduccion" id="id-1-introduccion"></a>

Face Capture is performed with the ***Selphi Plugin***.

This component is responsible for capturing a selfie of the user and subsequently extracting the most important facial features. Its main processes are:

* Internal camera and permission management.
* Assistant in the user's face capture processes.
* Generation of templates with the user's facial features and image.

***

## Dependencies <a href="#id-2-dependencia" id="id-2-dependencia"></a>

### React Native:

```bash
npm install @facephi/sdk-selphi-react-native@<Version>
```

### Android - Gradle:

```kotlin
implementation "com.facephi.androidsdk:selphi_component:$version"
```

### iOS - CocoaPods:

```swift
s.dependency 'FPHISDKSelphiComponent', '~> $version'
```

## Available methods

This component contains several methods that perform different functionalities:

<table data-header-hidden><thead><tr><th width="233.64453125"></th><th></th></tr></thead><tbody><tr><td><strong>Method</strong></td><td><strong>Description</strong></td></tr><tr><td>selphi</td><td>Main Facial Recognition controller</td></tr></tbody></table>

## Selphi method <a href="#id-4-lanzamiento-simplificado" id="id-4-lanzamiento-simplificado"></a>

Once the SDK has been initialized and a new operation has been created, the component can be launched. Any of its controllers can be used to execute its functionality.

Face Capture launch:

```typescript
export function selphi(config: SelphiConfiguration): Promise<SelphiResult> {
  return SdkSelphi.selphi(config);
}
```

## Basic configuration <a href="#id-5-configuracion-basica" id="id-5-configuracion-basica"></a>

To launch the current component, an object must be created ***SelphiConfiguration*** which will be the configuration of the component controller.

The basic configuration required for it is as follows:

```typescript
export interface SelphiConfiguration {
  debug?: boolean;
  fullscreen?: boolean;
  cropPercent?: number;
  stabilizationMode?: boolean;
  templateRawOptimized?: boolean;
  resourcesPath?: string;
  enableGenerateTemplateRaw?: boolean;
  livenessMode?: SdkLivenessMode;
  showResultAfterCapture?: boolean;
  cameraFlashEnabled?: boolean;
  translationsContent?: string;
  viewsContent?: string;
  showTutorial?: boolean;
  cameraId?: number;
  videoFilename?: string;
  params?: any;
  qrMode?: boolean;
  showDiagnostic?: boolean;
  logImages?: boolean;
  compressFormat?: SdkCompressFormat;
  jpgQuality?: number;
  showPreviousTip?: boolean;
  vibrationEnabled?: boolean;
  extractionDuration?: SdkExtractionDuration;
  cameraPreferred?: SelphiCamera;
  moveSuccessfulAttempts?: number;
  moveFailedAttempts?: number;
}
```

### Advanced component configuration

Below are all the fields that are part of this class.

{% content-ref url="/pages/df01df0f1d67a896ccc530e3c2b4f07c7f7e8a73" %}
[Selphi Configuration](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/selphi/selphi-configuracion.md)
{% endcontent-ref %}

***

## Receiving the result <a href="#id-6-recepcion-del-resultado" id="id-6-recepcion-del-resultado"></a>

The launch will return the information in SelphiResult format. A distinction can be made between a successful launch and an unsuccessful one:

```typescript
export interface SelphiResult {
  finishStatus?: number;
  errorType?: string;
  finishStatusDescription?: string;
  errorMessage?: string;
  bestImage?: string;
  bestImageCropped?: string;
  bestImageTemplateRaw?: string;
  qrData?: string;
  templateRaw?: string;
  images?: string[];
  livenessDiagnostic?: string;
}
```

Below are all the fields that are part of this class.

{% content-ref url="/pages/8e63d4905bacdd6e1efd4dfb86492e5cd7ce35ea" %}
[Selphi Result](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/selphi/selphi-resultado.md)
{% endcontent-ref %}

## Component customization <a href="#id-8-personalizacion-del-componente" id="id-8-personalizacion-del-componente"></a>

In addition to the changes that can be made at the SDK level (which are explained in the document [Advanced settings](#id-1-introduccion)), this specific component allows its own Customization.

{% content-ref url="/pages/79c1a959c22f161ec1f3cf5258279e6d0f863b18" %}
[Selphi - Component Customization](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/selphi/selphi-personalizacion-del-componente.md)
{% endcontent-ref %}
