> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Detecção de Vida Estática de Rosto (Versão de Alta Precisão) Instruções de Integração da API

> Face Transformation 集成指南 - XHuoAPI

Este documento irá apresentar as instruções de integração da API de Detecção de Vida Estática de Rosto (Versão de Alta Precisão), que pode ser utilizada para realizar a detecção de vida em imagens estáticas enviadas pelos usuários, a fim de determinar se são imagens reproduzidas.

## Processo de Solicitação

Para usar a API, é necessário primeiro acessar a página correspondente da [API de Detecção de Vida Estática de Rosto (Versão de Alta Precisão)](https://api.xhuoapi.ai/documents/df41d411-6ba8-41d3-a56f-3f6ec9acaa36) e solicitar o serviço correspondente. Após entrar na página, clique no botão "Acquire", conforme mostrado na imagem:

![](https://cdn.xhuoapi.ai/q6ytrc.png)

Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, convidando-o a se registrar e fazer login. Após o registro e login, você será redirecionado de volta para a página atual.

Na primeira solicitação, haverá um limite gratuito disponível, permitindo o uso gratuito da API.

## Uso Básico

Primeiro, entenda a forma básica de uso, que é inserir o link da imagem, e você poderá obter a imagem resultante após o processamento. Primeiro, é necessário passar um campo `image_url`, a imagem do rosto é mostrada na figura abaixo:

<p>
  <img src="https://cdn.xhuoapi.ai/lrbtcn.jpg" width="500" className="m-auto" />
</p>

Em seguida, podemos preencher o conteúdo correspondente na interface, conforme mostrado na imagem:

<p>
  <img src="https://cdn.xhuoapi.ai/c975uf.png" width="500" className="m-auto" />
</p>

Podemos ver que aqui configuramos os Request Headers, incluindo:

* `accept`: o formato de resposta desejado, aqui preenchido como `application/json`, ou seja, formato JSON.
* `authorization`: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.

Além disso, configuramos o Request Body, incluindo:

* `image_url`: o link da imagem do rosto a ser processada.
* `face_model_version`: a versão do modelo de algoritmo utilizado pelo serviço de reconhecimento facial. Atualmente, o parâmetro suporta "3.0".

Após a seleção, podemos notar que o código correspondente também foi gerado à direita, conforme mostrado na imagem:

<p>
  <img src="https://cdn.xhuoapi.ai/nkcvet.png" width="500" className="m-auto" />
</p>

Clique no botão "Try" para realizar o teste, como mostrado na imagem acima, e aqui obtivemos o seguinte resultado:

```json theme={null}
{
  "score": 0,
  "face_model_version": "3.0"
}
```

Podemos ver que neste momento obtivemos o resultado da detecção de vida estática do rosto, incluindo o conteúdo da pontuação de vida.

A descrição dos campos é a seguinte:

* `score`: pontuação de vida, com intervalo de valores \[0,100], que determina se é uma imagem reproduzida com base nos intervalos de limiar correspondentes à pontuação de vida. Atualmente, os limiares podem ser \[5,10,40,70,90], sendo que o limiar recomendado é 40.
* `face_model_version`: a versão do modelo de algoritmo utilizado para reconhecimento facial.

Além disso, se você quiser gerar o código de integração correspondente, pode copiá-lo diretamente, por exemplo, o código CURL é o seguinte:

```shell theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/face/detect-live' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image_url": "https://cdn.xhuoapi.ai/lrbtcn.jpg"
}'
```

O código de integração em Python é o seguinte:

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/face/detect-live"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "image_url": "https://cdn.xhuoapi.ai/lrbtcn.jpg"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

## Tratamento de Erros

Ao chamar a API, se ocorrer um erro, a API retornará o código de erro e a mensagem correspondente. Por exemplo:

* `400 token_mismatched`: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
* `400 api_not_implemented`: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
* `401 invalid_token`: Não autorizado, token de autorização inválido ou ausente.
* `429 too_many_requests`: Muitas solicitações, você excedeu o limite de taxa.
* `500 api_error`: Erro interno do servidor, algo deu errado no servidor.

### Exemplo de Resposta de Erro

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Conclusão

Através deste documento, você já entendeu como usar a API de Detecção de Vida Estática de Rosto (Versão de Alta Precisão) para realizar a detecção de vida em imagens estáticas enviadas pelos usuários, a fim de determinar se são imagens reproduzidas. Esperamos que este documento possa ajudá-lo a integrar e usar melhor a API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.
