Facebetter Flutter SDK

Real-time beauty effect engine for Flutter. Supports smoothing, whitening, face reshape, makeup, filters, stickers, chroma key, and virtual background on iOS and Android.

Requirements

  • Flutter >= 3.10.0
  • Dart >= 3.0.0
  • iOS 12.0+
  • Android minSdkVersion 21+

Installation

Add to your pubspec.yaml:

dependencies:
  facebetter_flutter: ^1.4.4

Quick Start

import 'package:facebetter_flutter/facebetter_flutter.dart';

// Initialize engine
await FBBeautyEffectEngine.init(
  FBEngineConfig(appId: 'your_app_id', appKey: 'your_app_key'),
);

// Get singleton instance
final engine = FBBeautyEffectEngine.sharedInstance;

// Set beauty parameters
await engine.setBasicParam(FBBasicParam.smoothing, 0.8);
await engine.setBasicParam(FBBasicParam.whitening, 0.6);
await engine.setReshapeParam(FBReshapeParam.faceThin, 0.3);
await engine.setMakeupParam(FBMakeupParam.lipstick, 0.5);

// Process an image
final inputFrame = FBImageFrame(
  width: 1080, height: 1920, stride: 4320,
  data: rgbaBytes, format: FBImageFormat.rgba,
);
final outputFrame = await engine.processImage(inputFrame);

// Release
await engine.release();

API Reference

Engine Lifecycle

Method Description
FBBeautyEffectEngine.init(config) Initialize the engine
FBBeautyEffectEngine.sharedInstance Get the singleton instance
engine.release() Release the engine

Beauty Parameters

Method Parameters
setBasicParam(param, value) smoothing, sharpening, whitening, rosiness
setReshapeParam(param, value) faceThin, faceVShape, eyeSize, noseSlim, ...
setMakeupParam(param, value) lipstick, blush

Filters & Stickers

Method Description
setFilter(filterId) Apply a filter
setFilterIntensity(intensity) Set filter intensity 0.0, 1.0
setSticker(stickerId) Apply a sticker
registerFilter(id, path) Register a filter from .fbd file
registerSticker(id, path) Register a sticker from .fbd file

Image Processing

Method Description
processImage(frame) Process an image frame
processImageFile(input, output) Process an image file

Native Engine Access

For integration with streaming SDKs (e.g., TRTC), access the native engine instance:

iOS (Swift):

let engine = FacebetterPlugin.sharedInstance().engine

Android (Kotlin):

val engine = FacebetterPlugin.sharedInstance?.getEngine()

License

This SDK requires a valid license. Contact PixPark for licensing.

Libraries

facebetter_flutter
Facebetter Flutter SDK