Skip to main content
SDK 2.0.0. Os headers ficam em facebetter/*.h. Enums de maquiagem / remodelagem / estilo: Enums de parâmetros. Autenticação: Autenticação e licença.
No Windows, o Facebetter é uma biblioteca C++ (facebetter.lib + facebetter.dll). Este guia segue o demo desktop C++ (demo/cpp).

Incluir headers

Fluxo de integração

Não há um passo de habilitar tipo. Definir uma intensidade acima de 0 liga esse efeito.

1. Configurar logging (opcional)

Chame isto antes de Create para capturar os logs de inicialização.
Níveis (baixo → alto): Trace / Debug / Info / Warn / Error / Critical.

2. Criar o mecanismo

O desktop precisa definir resource_path como o arquivo resource.fbd. Prioridade de autenticação: se license_token não estiver vazio, o SDK valida esse token (string do token de licença, JSON {token} ou .lic offline) e não chama a rede com app_id / app_key. Caso contrário, usa app_id + app_key contra /facebetter/v2/auth.
resource_path precisa ser o arquivo resource.fbd, não uma pasta. Caminhos relativos são resolvidos a partir do diretório de trabalho do processo. Prefira um caminho absoluto em produção.

3. Definir parâmetros de beleza

As intensidades de pele / maquiagem / remodelagem corporal são [0.0, 1.0]. 0 desliga. A remodelagem facial é [-1.0, 1.0]. Listas completas de enums: Enums de parâmetros.

Pele

Remodelagem facial

Remodelagem corporal

Faixa [0.0, 1.0]. 0 desliga. Coloque resource_body.fbd ao lado de resource.fbd ou chame AddResourcePack. Veja Enums de parâmetros e Pacotes de recursos opcionais.

Maquiagem

Intensidade, formato e cor são setters separados. Batom é só cor; pupila é só cor; contorno é só estilo.
O mesmo padrão para delineador, sobrancelha, cílios e pupila (SetEyeLiner / SetEyebrow / SetEyelash / SetPupil mais Style / Color quando aplicável).

4. Filtros, adesivos e fundo virtual

Passe um caminho de arquivo ou bytes codificados.
As texturas LUT / adesivo são criadas na próxima chamada de ProcessImage (o thread GL ativo). Para adesivos 3D, veja Pacotes de recursos opcionais.

5. Callbacks e estatísticas


6. Processar quadros

Defina ImageFrame::type como FrameType::Video (tempo real, padrão) ou FrameType::Image (foto única).
Arquivo (modo foto):
O mecanismo mantém o formato de saída alinhado com a entrada quando possível (RGBA in → RGBA out, I420 in → I420 out). Use Convert(Format::BGRA) se precisar de outro layout.

Enviar para OpenGL (prévia)

Mantenha facebetter.dll ao lado do executável (o CMake do demo a copia após o build).

7. Loop mínimo

Quando terminar, solte o shared_ptr (engine.reset()). BeautyEffectEngine não é um singleton. Para TRTC / Agora / LiveKit: Integração com terceiros.

Relacionado

Integração com terceiros

TRTC / Agora / LiveKit

Referência da API

Todos os métodos e tipos C++

Tratamento de erros

Códigos de retorno e problemas de DLL no Windows

Práticas recomendadas

Desempenho e threading