Skip to main content
This page matches SDK 2.0.0. Package: net.pixpark.facebetter. Makeup, reshape, whitening, and smoothing presets: Parameter enums. Auth: License & Auth.
All setter methods return int. 0 (ErrorCode.SUCCESS) means success; a negative value is an error code.

Logging

Call BeautyEffectEngine.setLogConfig before constructing the engine so initialization logs are captured.

LogLevel

LogConfig

Nested class: BeautyEffectEngine.LogConfig.
Throws IllegalArgumentException if config or config.level is null.

Engine

EngineConfig

Nested class: BeautyEffectEngine.EngineConfig. Auth priority: if licenseToken is non-empty, the SDK validates that token locally. Otherwise appId + appKey are required and the SDK calls /facebetter/v2/auth. Details: License & Auth.
isValid() returns true when licenseToken is non-empty, or when both appId and appKey are non-empty.

BeautyEffectEngine

Main engine. Construct once, call release() when the Activity / Fragment is destroyed.
The constructor throws IllegalArgumentException if context or config is null, or if config.isValid() is false. The SDK reads context.getPackageName() for license binding.

FrameType

Set on ImageFrame.type before processImage. There is no separate process-mode argument.
Reads inputFrame.type. Returns the processed frame (same pixel format as input), or null if the engine was already released. Throws IllegalArgumentException if inputFrame or inputFrame.type is null.

Beauty

Intensity range [0.0, 1.0] unless noted. 0 turns the effect off.
Style enums: Parameter enums.

Reshape

Intensity range [-1.0, 1.0]. 0 is off. Positive and negative are opposite directions.
Positive / negative meaning for each value: Parameter enums.

Makeup

Intensity [0.0, 1.0]. Set intensity, then style (mask) and/or color (tint). Pupil and contour do not take a separate tint the same way; see Parameter enums.
Preset names live in BeautyParams.*. Full tables: Parameter enums.

Virtual background and chroma key

Portrait segmentation is the default mask. Chroma key replaces the mask source; fill is still blur or a still image.
Empty path / empty byte[] returns ErrorCode.INVALID_ARGUMENT.

Filters and stickers

Pass a .fbd file path or the file bytes (for example from assets). The resource takes effect on the next processed frame. There is no register / unregister API.
Empty path / empty byte[] returns ErrorCode.INVALID_ARGUMENT.

Stats and callbacks

getStats() returns a snapshot. Fields are 0 if the engine is not initialized. setCallbacks returns ErrorCode.INVALID_ARGUMENT if callbacks is null.

EngineStats

EngineCallbacks

Leave a field null to skip that callback.

EngineEventCode

FaceDetectionResult

Normalized coordinates are in [0, 1] relative to the processed frame. Point2d has float x, y. Rect has float x, y, width, height (top-left origin).

ErrorCode

Numeric values are the same on all platforms.
-1 is invalid argument. -2 is not initialized.

ImageFrame

Wraps native pixel buffers. Always call release() when finished.

Create

Returns null on failure (invalid bitmap, native alloc failed, …). Prefer ByteBuffer.allocateDirect for packed / planar factories.

Fields and operations

Accessors

getTexture() returns 0 if the frame is not bound to a GPU texture.

Format

Rotation

Clockwise.