This page matches SDK 2.0.0. Package:
net.pixpark.facebetter. Makeup, reshape, whitening, and smoothing presets: Parameter enums. Auth: License & Auth.int. 0 (ErrorCode.SUCCESS) means success; a negative value is an error code.
Logging
CallBeautyEffectEngine.setLogConfig before constructing the engine so initialization logs are captured.
LogLevel
LogConfig
Nested class:BeautyEffectEngine.LogConfig.
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, callrelease() when the Activity / Fragment is destroyed.
IllegalArgumentException if context or config is null, or if config.isValid() is false. The SDK reads context.getPackageName() for license binding.
FrameType
Set onImageFrame.type before processImage. There is no separate process-mode argument.
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
[-1.0, 1.0]. 0 is off. Positive and negative are opposite directions.
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.
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.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
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 callrelease() 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.

