Processo de Solicitação
Para usar a API Face Swap, você precisa primeiro ir à página de solicitação Face Swap API para solicitar o serviço correspondente. Após entrar na página, clique no botão “Acquire”, conforme mostrado na imagem:
Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, convidando você 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 crédito gratuito disponível, permitindo que você use a API sem custo.
Exemplo de Solicitação
Usaremos duas imagens como exemplo para demonstrar como usar a API. Suponha que a imagem fonte seja a mostrada abaixo:

Configurando Cabeçalhos e Corpo da Solicitação
Request Headers incluem:accept: especifica que a resposta deve ser no formato JSON, preenchido comoapplication/json.authorization: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.
source_image_url: link da imagem fonte carregada.target_image_url: link da imagem alvo carregada.timeout: opcional, tempo limite de processamento (segundos), o que exceder o tempo limite retornará diretamente.

Exemplo de Código
Pode-se notar que, no lado direito da página, já foram gerados automaticamente códigos em várias linguagens, conforme mostrado na imagem:
CURL
Python
Exemplo de Resposta
Após uma solicitação bem-sucedida, a API retornará informações sobre a imagem resultante da troca de rostos. Por exemplo:image_url, que inclui o link da imagem resultante da troca do rosto da imagem alvo pela imagem fonte, e outras informações conforme mostrado na imagem abaixo:
image_url, link da imagem gerada.image_width, largura da imagem gerada.image_height, altura da imagem gerada.image_size, tamanho da imagem gerada.task_id, ID da tarefa de geração.

Callback Assíncrono
Devido ao tempo relativamente longo para gerar a troca de rostos, que leva cerca de 1-2 minutos, se a API não responder por um longo período, a solicitação HTTP manterá a conexão, resultando em consumo adicional de recursos do sistema. Portanto, esta API também oferece suporte a callbacks assíncronos. O fluxo geral é: quando o cliente faz a solicitação, deve especificar um campocallback_url adicional. Após a solicitação da API, a API retornará imediatamente um resultado, contendo um campo task_id, representando o ID da tarefa atual. Quando a tarefa for concluída, o resultado da geração da troca de rostos será enviado para o callback_url especificado pelo cliente, também incluindo o campo task_id, permitindo que o resultado da tarefa seja associado pelo ID.
A seguir, vamos entender como operar isso através de um exemplo.
Primeiro, o callback Webhook é um serviço que pode receber solicitações HTTP, e o desenvolvedor deve substituí-lo pela URL do servidor HTTP que ele configurou. Para facilitar a demonstração, usaremos um site de exemplo de Webhook público https://webhook.site/, onde ao abrir o site você obterá uma URL de Webhook, conforme mostrado na imagem:
Copie esta URL para usá-la como Webhook; o exemplo aqui é https://webhook.site/3b76eba5-4573-432a-b607-3000b87afc06.
Em seguida, podemos configurar o campo callback_url para a URL do Webhook acima, ao mesmo tempo preenchendo os parâmetros correspondentes, conforme mostrado na imagem:

O conteúdo é o seguinte:
task_id, e os outros campos são semelhantes aos mencionados anteriormente, permitindo a associação da tarefa através desse campo.
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.

