Skip to main content
SDK 2.0.0. Namespace facebetter. Headers: facebetter/beauty_effect_engine.h, beauty_params.h, image_frame.h, type_defines.h. Enums de estilo / cor / remodelagem: Enums de parâmetros. Autenticação: Autenticação e licença. O Linux usa a mesma API C++.

Logs

LogLevel

LogConfig


Mecanismo

EngineConfig

Prioridade de autenticação: se license_token não estiver vazio, valide esse token localmente e pule a autenticação de rede com app_id + app_key. Caso contrário, use app_id + app_key contra /facebetter/v2/auth.

BeautyEffectEngine

Não copiável. Crie com Create; destrua liberando o shared_ptr.

SetLogConfig (static)

Chame antes de Create. Retorna 0 em caso de sucesso.

Create (static)

Retorna nullptr em caso de falha.

Pele

Intensidades [0.0, 1.0] salvo indicação em contrário. 0 desliga. Retorna 0 em caso de sucesso.
SetBeautySkinOnly(true) aplica suavização / clareamento / etc. apenas na pele detectada. Enums de estilo: Enums de parâmetros.

Remodelagem

intensity é [-1.0, 1.0]. 0 desliga. Positivo / negativo são direções opostas. Lista completa: Enums de parâmetros.

Remodelagem corporal

intensity é [0.0, 1.0]. 0 desliga. Exige resource_body.fbd (ao lado de resource.fbd, ou AddResourcePack). Lista: Enums de parâmetros. Pacotes: Pacotes de recursos opcionais.

Maquiagem

Cada efeito tem intensidade mais Style (máscara) e/ou Color (tintura). Batom: só Color. Pupila: só Color. Contorno: só Style.
Valores: Enums de parâmetros.

Chroma key

Máscara para fundo virtual. O preenchimento continua sendo SetVirtualBackgroundBlur / SetVirtualBackground. Sem preenchimento, a região recortada fica transparente. ClearChromaKey() restaura a segmentação de retrato.
ChromaKeyColor: Green = 0, Blue, Red.

Fundo virtual

PNG / JPEG. O caminho não pode estar vazio. O overload de bytes é dado de imagem codificada.

Filtro (LUT .fbd)

O LUT GPU é criado no próximo ProcessImage. Sem API de register / ID.

Adesivo (.fbd)

Carregue primeiro os pacotes opcionais (resource_3d.fbd para adesivos 3D, resource_body.fbd para remodelagem corporal). Veja Pacotes de recursos opcionais.

Estatísticas, callbacks, processamento

Defina image_frame->type como FrameType::Image ou FrameType::Video (padrão). O formato de saída acompanha a entrada quando possível. Retorna nullptr em caso de falha.

EngineStats

Callbacks e eventos

on_face_landmarks pode rodar a cada quadro processado (vazio se não houver rosto).

Imagem

Format

Rotation

FrameType

Defina em ImageFrame::type.

ImageFrame

Não copiável. Não thread-safe. Factories
Prefira as factories YUV dedicadas em vez de Create para formatos multiplano. Operações
Acessores: Width(), Height(), Stride(), Size(), GetFormat(), Data(), DataY/U/V(), StrideY/U/V(), DataUV(), StrideUV(), Texture(), Buffer(), MirrorHorizontal(), MirrorVertical(). Campo público: FrameType type = FrameType::Video.

Tipos de detecção


Códigos de erro

Retornos int típicos:

Observações

  • Thread safety: serialize ProcessImage e chamadas que mutam em um thread (ou no thread GL se external_context).
  • Lifetime: os métodos factory retornam std::shared_ptr.
  • Ponteiros de pixel de Data() são const — não escreva através deles.
  • SetRenderView é somente iOS / macOS.
  • Binário Windows: vincule facebetter.lib, carregue facebetter.dll em runtime.