Android API Reference
Complete class and method reference for the Perfectly Clear Android SDK
This page documents all public classes, methods, and constants in the Perfectly Clear Android SDK (photos.eyeq.pfcsdk.perfectlyclear package). The API is written in Kotlin with native JNI bindings.
V10
The main SDK interface class. Manages the engine lifecycle, image analysis, correction apply, scene detection, and creative look operations.
class V10V10 is not thread-safe. Serialize all calls to a single engine instance using synchronized or a similar mechanism.
Constructor
V10()Creates a new SDK instance and loads the native libraries.
Engine lifecycle
createEngine
Creates a new engine instance for use in the image processing pipeline. Reuse the engine across multiple images; destroy it when done.
external fun createEngine(): ByteBufferReturns a ByteBuffer handle representing the native engine.
destroyEngine
Destroys an engine instance and releases all associated native resources.
external fun destroyEngine(bbEngine: ByteBuffer)loadAIEngine
Loads AI models into the engine and validates the license. Call this once after createEngine().
external fun loadAIEngine(
engine: ByteBuffer,
apiKey: String,
cert: String,
modelDynamic: ByteBuffer,
modelSceneDetection: ByteBuffer,
modelSkintone: ByteBuffer,
modelAicolor: ByteBuffer,
modelFDFront: ByteBuffer,
modelFDBack: ByteBuffer,
modelFaceMesh: ByteBuffer,
modelBlendShape: ByteBuffer,
useGpu: Boolean
): IntParameters:
| Parameter | Description |
|---|---|
engine | Engine handle from createEngine() |
apiKey | API key string provided by EyeQ |
cert | Certificate string provided by EyeQ |
modelDynamic | ByteBuffer containing dynamic.pnne model data |
modelSceneDetection | ByteBuffer containing the scene detection .pnn model |
modelSkintone | ByteBuffer containing the skin tone .pnn model |
modelAicolor | ByteBuffer containing the AI color correction .pnn model |
modelFDFront | ByteBuffer containing the front face detection .pnn model |
modelFDBack | ByteBuffer containing the back face detection .pnn model |
modelFaceMesh | ByteBuffer containing the face mesh .pnn model |
modelBlendShape | ByteBuffer containing the face blend-shape .pnn model |
useGpu | true to use GPU acceleration where available |
Returns a positive value on success (bitwise sum of loaded feature flags), or a negative error code on failure.
Scene detection and skin tone models are paired by UUID (e.g. 20211221 for Pro/Universal, 5000200 for School & Sports). Always load matching pairs.
loadScenePresets
Loads scene detection presets from a .preset file buffer.
external fun loadScenePresets(engine: ByteBuffer, scenePresets: ByteBuffer): IntloadAddonLooks
Loads creative looks from a .looks file buffer. Use this when the filesystem is not available.
external fun loadAddonLooks(engine: ByteBuffer, addonLooks: ByteBuffer): IntImage processing
calc
Performs initial analysis on an image and creates a profile containing detected faces, noise levels, and scene data.
external fun calc(
width: Int,
height: Int,
stride: Int,
@PixelFormat pixelFormat: Int,
buffer: ByteBuffer,
widthds: Int = 0,
heightds: Int = 0,
strideds: Int = 0,
bufferds: ByteBuffer? = null,
engine: ByteBuffer,
bFastFAE: Int = 0,
bNoTintCalc: Int = 0
): ByteBufferParameters:
| Parameter | Description |
|---|---|
width | Image width in pixels |
height | Image height in pixels |
stride | Bytes per row (typically width × 4 for 32-bit formats) |
pixelFormat | Pixel format constant (e.g. V10.PFC_PixelFormat32bppABGR) |
buffer | Pixel data buffer |
widthds | Downsampled width (0 = not used) |
heightds | Downsampled height (0 = not used) |
strideds | Downsampled stride (0 = not used) |
bufferds | Downsampled pixel buffer (null = not used) |
engine | Engine handle |
bFastFAE | Set to 1 for fast Face Aware Exposure (0 = standard) |
bNoTintCalc | Set to 1 to skip tint calculation (0 = calculate) |
Returns a ByteBuffer profile handle. Release it with releaseProfile() when done.
apply
Applies correction parameters to an image pixel buffer in place.
external fun apply(
width: Int,
height: Int,
stride: Int,
@PixelFormat pixelFormat: Int,
buffer: ByteBuffer,
engine: ByteBuffer,
profile: ByteBuffer,
param: PFCParam
): IntParameters:
| Parameter | Description |
|---|---|
width | Image width in pixels |
height | Image height in pixels |
stride | Bytes per row |
pixelFormat | Pixel format constant |
buffer | Pixel data buffer — modified in place |
engine | Engine handle |
profile | Profile from calc() |
param | Correction parameters |
Returns APPLY_SUCCESS (0) on success, or a negative APPLY_* error code.
autoCorrect
Single convenience function that performs the full correction pipeline (calc + apply) in one call. Suitable for batch processing where you do not need to inspect the profile.
external fun autoCorrect(
width: Int, height: Int, stride: Int,
@PixelFormat pixelFormat: Int, buffer: ByteBuffer,
widthds: Int, heightds: Int, strideds: Int, bufferds: ByteBuffer,
param: PFCParam, bFastFAE: Int
): IntautoCorrectPreset
Same as autoCorrect but uses a built-in preset ID instead of a PFCParam.
external fun autoCorrectPreset(
width: Int, height: Int, stride: Int,
@PixelFormat pixelFormat: Int, buffer: ByteBuffer,
widthds: Int, heightds: Int, strideds: Int, bufferds: ByteBuffer,
@PresetId presetID: Int, bFastFAE: Int
): IntScene detection and presets
getDetectedScene
Returns the canonical scene label detected during calc().
external fun getDetectedScene(profile: ByteBuffer): IntreadScenePreset
Populates a PFCParam with tuned settings for a detected scene. Requires scene presets to have been loaded with loadScenePresets().
external fun readScenePreset(param: PFCParam, engine: ByteBuffer, scene: Int): IntsetParam
Initializes a PFCParam with a built-in preset.
external fun setParam(param: PFCParam, @PresetId id: Int): IntreadPresets
Loads settings from a .preset file on disk into a PFCParam. The first preset in the file is used.
external fun readPresets(param: PFCParam, filename: String): IntreadPresetsFromStream
Loads settings from a preset XML string into a PFCParam.
external fun readPresetsFromStream(param: PFCParam, s: String): IntStrength and analysis
applyStrengthToParam
Applies an overall strength multiplier to all parameters. Range 0–200, where 100 is the default (no change).
external fun applyStrengthToParam(param: PFCParam, strength: Int): IntgetDetectedSkintoneParams
Populates PFCParam with detected skin tone values from the profile. Sets core_bSkintoneAuto = true and core_iSkintoneAutoStrength = 100.
external fun getDetectedSkintoneParams(profile: ByteBuffer, param: PFCParam): IntabnormalTintDetected
Queries whether abnormal tint was detected at a given detection sensitivity.
external fun abnormalTintDetected(
profile: ByteBuffer,
@TintCorrection tintMethod: Int
): BooleanisNoiseDetected
Queries whether noise was detected above a given preset threshold.
external fun isNoiseDetected(profile: ByteBuffer, iNoisePreset: Int): BooleanFace detection
fbFaceCount
Returns the number of faces detected for Face Beautification.
external fun fbFaceCount(profile: ByteBuffer): IntgetFaceInfo
Fills a FaceInfo object with bounding box and eye coordinates for the face at the given index.
external fun getFaceInfo(profile: ByteBuffer, pFace: FaceInfo, index: Int): BooleanfaeFaceCount
Returns the number of faces detected for Face Aware Exposure.
external fun faeFaceCount(profile: ByteBuffer): IntgetFAEFaceRect
Fills a FaceRect object with detailed face geometry and attributes for the face at the given index.
external fun getFAEFaceRect(profile: ByteBuffer, pFace: FaceRect, index: Int): BooleanhasFaceBeautification
Checks whether Face Beautification models are loaded and available.
external fun hasFaceBeautification(engine: ByteBuffer): BooleanStatus
profileStatus
Returns the status of the profile calculation.
external fun profileStatus(profile: ByteBuffer): IntcoreStatus
Returns the status of core correction precalculation.
external fun coreStatus(profile: ByteBuffer): IntfbStatus
Returns the status of Face Beautification precalculation.
external fun fbStatus(profile: ByteBuffer): IntnrStatus
Returns the status of Noise Reduction precalculation.
external fun nrStatus(profile: ByteBuffer): IntreStatus
Returns the status of Red Eye precalculation.
external fun reStatus(profile: ByteBuffer): IntgetREStatus
Returns the status of Red Eye correction (alternate accessor).
external fun getREStatus(profile: ByteBuffer): IntreturnCodeCore
Extracts the core correction status from a combined apply result code.
fun returnCodeCore(code: Int): IntreturnCodeFB
Extracts the Face Beautification status from a combined apply result code.
fun returnCodeFB(code: Int): IntreturnCodeNR
Extracts the Noise Reduction status from a combined apply result code.
fun returnCodeNR(code: Int): IntreturnCodeRE
Extracts the Red Eye status from a combined apply result code.
fun returnCodeRE(code: Int): IntMemory management
allocNativeBuffer
Allocates a native ByteBuffer of the given capacity. Use this for pixel data buffers.
external fun allocNativeBuffer(capacity: Int): ByteBuffer?freeNativeBuffer
Deallocates a buffer previously allocated with allocNativeBuffer.
external fun freeNativeBuffer(b: ByteBuffer?)getMemorySize
Returns the total native memory size in bytes.
external fun getMemorySize(): LonggetMemoryUsed
Returns the amount of native memory currently in use.
external fun getMemoryUsed(): LonggetMemoryAvailable
Returns the amount of native memory available.
external fun getMemoryAvailable(): LongsetMemoryLimit
Sets the memory limit as a fraction of total memory (e.g. 0.8f = 80%).
external fun setMemoryLimit(limit: Float)Creative looks (LUT)
getLooks3DLut
Returns the 3D LUT data for a creative look identified by its GUID. The output is a 16×16×16 RGB lookup table written into the provided FloatArray.
external fun getLooks3DLut(
engine: ByteBuffer,
lookGuid: String,
strength: Int,
contrast: Int,
saturation: Int,
final3Dlut: FloatArray
): IntsetAddonPath
Sets the directory path where the SDK searches for add-on files (e.g. .looks).
external fun setAddonPath(s: String)releaseAddonPath
Releases resources from a previous setAddonPath call.
external fun releaseAddonPath()Utility
releaseProfile
Releases a profile handle and its associated native resources.
external fun releaseProfile(profile: ByteBuffer)checkCertificate
Validates a license key and certificate. Returns the number of days remaining, -1 if expired, or -2 if the key/cert combination is invalid.
external fun checkCertificate(apiKey: String, certificate: String): IntgetVersion
Returns the SDK version string.
fun getVersion(): StringgetGitCommitSha
Returns the git commit SHA of the SDK build.
fun getGitCommitSha(): StringPFCParam
Image processing parameters. Pass an instance to V10.apply() to control which corrections are applied and at what strength.
class PFCParamEach correction group has an enable flag (core_bEnabled, fb_bEnabled, nr_bEnabled, re_bEnabled) that must be true for its settings to take effect.
Constructor
PFCParam()Creates a parameter object with default values.
Methods
reset
Resets all parameters to default values.
fun reset()read
Copies all parameter values from another PFCParam instance.
fun read(pfcParam: PFCParam)Core correction parameters
Enable flags
| Property | Type | Description |
|---|---|---|
core_bEnabled | Boolean | Master enable for all core_* parameters |
core_bContrast | Boolean | Apply contrast improvement |
core_bDCF | Boolean | Apply Digital Color Fidelity correction |
core_bDynamicRange | Boolean | Apply dynamic range correction |
core_bHighlightPreservation | Boolean | Enable highlight preservation |
core_bInfrared | Boolean | Apply infrared correction |
core_bLightDiffusion | Boolean | Enable light diffusion correction |
core_bLocalContrast | Boolean | Apply local contrast |
core_bSelectiveColor | Boolean | Apply selective color correction |
core_bSharpen | Boolean | Apply sharpening |
core_bVibrancy | Boolean | Apply true color calibration |
core_bAbnormalTintRemoval | Boolean | Apply abnormal tint removal |
core_bUseAutomaticStrengthSelection | Boolean | Use automatic exposure strength (ignores core_iStrength) |
core_bUseFAE | Boolean | Use Face Aware automatic exposure |
core_bSkintoneAuto | Boolean | Use auto skin tone parameters |
Enum/mode settings
| Property | Type | Values | Description |
|---|---|---|---|
core_eAggressiveness | Int | AGGRESSIVENESS_* | Exposure correction aggressiveness |
core_eBias | Int | BIAS_* | Skin depth bias method |
core_eContrast | Int | HIGH_CONTRAST, HIGH_DEFINITION | Contrast type |
core_eDCFMode | Int | DCF_STANDARD, DCF_VIVID | DCF correction mode |
core_eTint | Int | TINT_CORRECT_* | Tint correction method |
Float parameters
| Property | Type | Range | Description |
|---|---|---|---|
core_fBiasScale | Float | 0.0–1.0 | Skin depth bias strength |
core_fDCF | Float | 0.0–1.0 | Digital Color Fidelity level |
core_fInfrared | Float | 0.0–1.0 | Infrared correction ratio |
core_fLightDiffusion | Float | 0.0–1.0 | Light diffusion level |
core_fSharpenScale | Float | 0.0–3.0 | Sharpening level |
core_fTintScale | Float | 0.0–1.0 | Tint correction strength |
Integer parameters
| Property | Type | Range | Description |
|---|---|---|---|
core_iStrength | Int | 0–150 | Exposure correction strength |
core_iContrast | Int | 0–100 | Contrast level |
core_iHighlightPreservation | Int | 0–100 | Highlight preservation level |
core_iLocalContrast | Int | 0–100 | Local contrast level |
core_iVibrancy | Int | 0–100 | True color calibration level |
core_iBlackEnhancement | Int | — | Black correction level (default 12) |
core_iMinStrength | Int | — | Minimum auto exposure strength |
core_iMaxStrength | Int | — | Maximum auto exposure strength |
Skin tone parameters
| Property | Type | Range | Description |
|---|---|---|---|
core_iSkintoneType | Int | 1–10 | Skin tone category |
core_iSkintoneAutoStrength | Int | 0–100 | Auto skin tone strength (when core_bSkintoneAuto is true) |
core_iSkintoneStrengthExposure | Int | 0–100 | Skin tone exposure strength |
core_iSkintoneStrengthLut | Int | 0–100 | Skin tone LUT strength |
Color parameters
| Property | Type | Range | Description |
|---|---|---|---|
core_iSplitColorWarm | Int | -100–100 | Split color warmth (0 = off) |
core_iSplitColorCold | Int | -100–100 | Split color cold (0 = off) |
core_oSelectiveColor | Array<SelectiveColor> | 8 entries | Per-hue selective color adjustments |
Face Beautification parameters
Enable flags
| Property | Type | Description |
|---|---|---|
fb_bEnabled | Boolean | Master enable for all fb_* parameters |
fb_bBlemish | Boolean | Enable blemish removal |
fb_bBlush | Boolean | Enable blush |
fb_bCatchLight | Boolean | Enable catchlight enhancement |
fb_bDeFlash | Boolean | Enable deflash |
fb_bEnhance | Boolean | Enable eye enhancement |
fb_bEnlarge | Boolean | Enable eye enlargement |
fb_bEyeCirc | Boolean | Enable eye circle removal |
fb_bLipSharpen | Boolean | Enable lip sharpening |
fb_bSkinToning | Boolean | Enable skin toning |
fb_bSlim | Boolean | Enable face slimming |
fb_bSmooth | Boolean | Enable skin smoothing |
fb_bTeeth | Boolean | Enable teeth whitening |
Level parameters (all Int, range 0–100)
| Property | Description |
|---|---|
fb_iBlemish | Blemish removal level |
fb_iBlush | Blush level |
fb_iCatchLight | Catchlight level |
fb_iDeFlash | Deflash level |
fb_iEnhanceLevel | Eye enhancement level |
fb_iEnlargeLevel | Eye enlargement level |
fb_iEyeCirc | Eye circle removal level |
fb_iLipSharpen | Lip sharpening level |
fb_iSkinToning | Skin toning level |
fb_iSlim | Face slimming level |
fb_iSmoothLevel | Skin smoothing level |
fb_iTeethLevel | Teeth whitening level |
Mode/type parameters
| Property | Type | Values | Description |
|---|---|---|---|
fb_iCatchLightMode | Int | CATCH_LIGHT_* | Catchlight type |
fb_iLipSharpenType | Int | LIP_SHARPEN_TYPE_* | Lip sharpening type |
fb_iSkinToningMode | Int | SKIN_MODE_* | Skin toning scope (face only or body) |
fb_iSkinToningType | Int | SKIN_TONING_TYPE_* | Skin toning target |
fb_iSmoothMode | Int | SKIN_MODE_* | Skin smoothing scope (face only or body) |
fb_iSmoothType | Int | SKIN_SMOOTH_TYPE_* | Smoothing algorithm |
Color parameters
| Property | Type | Description |
|---|---|---|
fb_colorBlush | Long | Blush color in AARRGGBB format (default 0xFFFD7171) |
fb_colorSkinToning | Long | Skin toning color in AARRGGBB format (default 0xFFF5BCA9) |
Noise Reduction parameters
| Property | Type | Range | Description |
|---|---|---|---|
nr_bEnabled | Boolean | — | Master enable for noise reduction |
nr_iPreset | Int | 0–4 | Noise removal preset level |
nr_iStrengthOffset | Int | -5–5 | Offset to recommended strength |
nr_iDetailOffset | Int | -30–30 | Offset to detail preservation |
Red Eye parameters
| Property | Type | Description |
|---|---|---|
re_bEnabled | Boolean | Enable red eye removal |
V3 advanced parameters
Enable flags
| Property | Type | Description |
|---|---|---|
v3_bDynamic | Boolean | Enable dynamic correction |
v3_bPortraitLight | Boolean | Enable portrait light |
v3_bPreprocessEV | Boolean | Enable EV preprocessing (Image Ambulance) |
Dynamic and white balance
| Property | Type | Range | Description |
|---|---|---|---|
v3_iDynamic | Int | 0–100 | Dynamic correction strength |
v3_iDynamicWB | Int | 0–100 | Dynamic white balance strength |
Portrait light
| Property | Type | Range | Description |
|---|---|---|---|
v3_iPortraitLight | Int | 0–100 | Portrait light strength |
v3_iPortraitLightDepth | Int | 0–100 | Portrait light depth |
v3_iPortraitLightFeather | Int | 0–100 | Portrait light feather |
Color channels
| Property | Type | Range | Description |
|---|---|---|---|
v3_iDeltaR | Int | -255–255 | Red channel adjustment |
v3_iDeltaG | Int | -255–255 | Green channel adjustment |
v3_iDeltaB | Int | -255–255 | Blue channel adjustment |
Finishing tools (all Int, range -100–100)
| Property | Description |
|---|---|
v3_iFinishExposure | Exposure adjustment |
v3_iFinishContrast | Contrast adjustment |
v3_iFinishSaturation | Saturation adjustment |
v3_iFinishVibrancy | Vibrancy adjustment |
v3_iFinishTemp | Temperature adjustment |
v3_iFinishTint | Tint adjustment |
v3_iFinishHighlights | Highlights adjustment |
v3_iFinishShadows | Shadows adjustment |
v3_iFinishWhites | Whites adjustment |
v3_iFinishBlacks | Blacks adjustment |
v3_iFinishPositiveContrast | Positive contrast adjustment |
Color and density
| Property | Type | Range | Description |
|---|---|---|---|
v3_iColorVibrancy | Int | 0–200 | Color vibrancy amount |
v3_iDarkSkin | Int | 0–200 | Dark skin output LUT amount |
v3_iNeutralDensity | Int | 0–100 | Neutral density filter amount |
v3_iPreprocessEV | Int | -100–100 | EV correction amount (Image Ambulance) |
Creative looks (LUT)
| Property | Type | Range | Description |
|---|---|---|---|
v3_lutOutputGUID | String | — | Output 3D LUT GUID |
v3_lutOutputStrength | Int | 0–200 | Output LUT strength |
v3_iOutLUTcontrast | Int | -100–100 | Output LUT contrast adjustment |
v3_iOutLUTsaturation | Int | -100–100 | Output LUT saturation adjustment |
Input LUTs
| Property | Type | Range | Description |
|---|---|---|---|
v3_lutInputCorrectiveGUID | String | — | Corrective input LUT GUID |
v3_lutInputCorrectiveStrength | Int | 0–200 | Corrective input LUT strength |
v3_lutInputFoliageBrownGUID | String | — | Foliage brown input LUT GUID |
v3_lutInputFoliageBrownStrength | Int | 0–200 | Foliage brown input LUT strength |
v3_lutInputFoliageGreenGUID | String | — | Foliage green input LUT GUID |
v3_lutInputFoliageGreenStrength | Int | 0–200 | Foliage green input LUT strength |
v3_lutInputSkyGUID | String | — | Sky input LUT GUID |
v3_lutInputSkyStrength | Int | 0–200 | Sky input LUT strength |
FaceInfo
Face geometry data returned by V10.getFaceInfo() for Face Beautification.
class FaceInfoProperties
| Property | Type | Description |
|---|---|---|
faceLeft | Int | Left edge of face bounding box |
faceTop | Int | Top edge of face bounding box |
faceWidth | Int | Width of face bounding box |
faceHeight | Int | Height of face bounding box |
leftEyeX | Int | X coordinate of left eye center |
leftEyeY | Int | Y coordinate of left eye center |
rightEyeX | Int | X coordinate of right eye center |
rightEyeY | Int | Y coordinate of right eye center |
FaceRect
Detailed face geometry with attributes, returned by V10.getFAEFaceRect() for Face Aware Exposure.
class FaceRectProperties
Face bounding box
| Property | Type | Description |
|---|---|---|
faceLeft | Int | Left edge of face bounding box |
faceTop | Int | Top edge of face bounding box |
faceWidth | Int | Width of face bounding box |
faceHeight | Int | Height of face bounding box |
Left eye
| Property | Type | Description |
|---|---|---|
eyeLLeft | Int | Left edge of left eye bounding box |
eyeLTop | Int | Top edge of left eye bounding box |
eyeLWidth | Int | Width of left eye bounding box |
eyeLHeight | Int | Height of left eye bounding box |
eyeLX | Int | X coordinate of left eye center |
eyeLY | Int | Y coordinate of left eye center |
Right eye
| Property | Type | Description |
|---|---|---|
eyeRLeft | Int | Left edge of right eye bounding box |
eyeRTop | Int | Top edge of right eye bounding box |
eyeRWidth | Int | Width of right eye bounding box |
eyeRHeight | Int | Height of right eye bounding box |
eyeRX | Int | X coordinate of right eye center |
eyeRY | Int | Y coordinate of right eye center |
Image dimensions
| Property | Type | Description |
|---|---|---|
widthImage | Int | Width of the analyzed image |
heightImage | Int | Height of the analyzed image |
Attributes
| Property | Type | Description |
|---|---|---|
angle | Float | Face rotation angle |
confidence | Float | Detection confidence score |
blinkLevel | Float | Overall blink level |
blinkLevelL | Float | Left eye blink level |
blinkLevelR | Float | Right eye blink level |
smileLevel | Float | Smile intensity level |
SelectiveColor
Per-hue-range color adjustment model. Eight instances are stored in PFCParam.core_oSelectiveColor.
class SelectiveColorProperties
| Property | Type | Description |
|---|---|---|
H | Int | Target hue |
S | Int | Target saturation |
L | Int | Target lightness |
r | Int | Red/Cyan adjustment |
a | Int | Yellow adjustment |
m | Int | Magenta adjustment |
p | Int | Black adjustment |
Constants
All constants are defined as properties on V10.Companion and accessed via V10.CONSTANT_NAME.
Pixel formats
| Constant | Value | Description |
|---|---|---|
PFC_PixelFormat24bppRGB | 0 | 24-bit RGB |
PFC_PixelFormat24bppBGR | 1 | 24-bit BGR |
PFC_PixelFormat32bppABGR | 2 | 32-bit ABGR (Android ARGB_8888 native byte order) |
PFC_PixelFormat48bppRGB | 3 | 48-bit RGB (16-bit per channel) |
PFC_PixelFormat64bppARGB | 4 | 64-bit ARGB (16-bit per channel) |
PFC_PixelFormat32bppARGB | 5 | 32-bit ARGB |
PFC_PixelFormat48bppBGR | 6 | 48-bit BGR (16-bit per channel) |
PFC_PixelFormat64bppABGR | 7 | 64-bit ABGR (16-bit per channel) |
Preset IDs
| Constant | Value | Description |
|---|---|---|
PRESET_BEAUTIFY | 0 | Good defaults for portraits |
PRESET_BEAUTIFY_PLUS | 1 | Stronger portrait beautification |
PRESET_DETAILS | 2 | Legacy — iAuto Details |
PRESET_VIVID | 3 | Landscapes and general photography |
PRESET_INTELLIGENT_AUTO | 4 | Legacy — superseded by iAuto 2019 |
PRESET_I_AUTO_2019 | 5 | iAuto 2019 |
PRESET_I_AUTO_2019_RE | 6 | iAuto 2019 with Red Eye correction |
PRESET_I_AUTO_21 | 7 | iAuto 2021 — sharper images, skin correction |
PRESET_I_AUTO_21_ASIA | 8 | iAuto 2021 tuned for Asian skin tones |
PRESET_I_AUTO_PEOPLE | 9 | Default (2023) — best for people and general |
PRESET_NONE | -1 | All corrections off |
Apply status codes
| Constant | Value | Description |
|---|---|---|
APPLY_SUCCESS | 0 | Success |
APPLY_ERROR_PROFILE_MISSING | -1 | Profile pointer is null |
APPLY_ERROR_ENGINE_MISSING | -2 | Engine pointer is null |
APPLY_CANCELLED | -3 | Operation cancelled |
APPLY_NO_SOURCE | -4 | Source image missing |
APPLY_BAD_FORMAT | -5 | Pixel format not supported |
APPLY_INVALID_LICENSE | -6 | Invalid license or validation failed |
APPLY_LOOKS_MISSING | -12 | LUT file not found |
APPLY_ERROR_AI_CORRECTION_MISSING | -13 | AI correction not available |
Aggressiveness
| Constant | Value | Description |
|---|---|---|
AGGRESSIVENESS_CONSERVATIVE | 0 | Less aggressive exposure correction |
AGGRESSIVENESS_MODERATE | 1 | Moderate exposure correction |
AGGRESSIVENESS_AGGRESSIVE | 2 | More aggressive exposure correction |
Bias modes
| Constant | Value | Description |
|---|---|---|
BIAS_NONE | 0 | No bias correction |
BIAS_ASIAN_PREFERENCE | 1 | Tuned for Asian skin tone |
BIAS_AVERAGE_PREFERENCE | 2 | Average usage |
BIAS_BRIGHTER_PREFERENCE | 3 | Average with brighter tone |
Contrast types
| Constant | Value | Description |
|---|---|---|
HIGH_CONTRAST | 0 | Higher contrast |
HIGH_DEFINITION | 1 | More shadow/highlight detail and pleasing skin tones |
DCF modes
| Constant | Value | Description |
|---|---|---|
DCF_STANDARD | 0 | Standard Digital Color Fidelity |
DCF_VIVID | 1 | More color vibrancy |
Catchlight types
| Constant | Value | Description |
|---|---|---|
CATCH_LIGHT_UMBRELLA | 1 | Umbrella |
CATCH_LIGHT_RING_LIGHT | 2 | Ring light |
CATCH_LIGHT_SOFT_BOX | 3 | Soft box |
CATCH_LIGHT_BEAUTY_DISH | 4 | Beauty dish |
CATCH_LIGHT_OUTDOORS | 5 | Outdoors |
Skin modes
| Constant | Value | Description |
|---|---|---|
SKIN_MODE_FACE | 1 | Apply only to skin regions within detected faces |
SKIN_MODE_BODY | 2 | Apply to all detected skin regions |
Skin smooth types
| Constant | Value | Description |
|---|---|---|
SKIN_SMOOTH_TYPE_SUBTLE | 1 | Removes wrinkles and spots, keeps texture |
SKIN_SMOOTH_TYPE_DEFAULT | 2 | Balanced smoothing with natural appearance |
SKIN_SMOOTH_TYPE_SUPER_SMOOTH | 3 | Aggressive smoothing of entire skin surface |
Skin toning types
| Constant | Value | Description |
|---|---|---|
SKIN_TONING_TYPE_WHITE | 1 | Whitens/bleaches face (for darker skin) |
SKIN_TONING_TYPE_PALE | 2 | Lighter, more pale appearance |
SKIN_TONING_TYPE_WARM | 3 | Warmer skin tone |
SKIN_TONING_TYPE_TAN | 4 | Natural tanned appearance |
SKIN_TONING_TYPE_FOUNDATION | 5 | User-defined foundation color |
Lip sharpen types
| Constant | Value | Description |
|---|---|---|
LIP_SHARPEN_TYPE_FINE | 1 | Fine touch of sharpening |
LIP_SHARPEN_TYPE_MEDIUM | 2 | Stronger, more pronounced details |
LIP_SHARPEN_TYPE_COARSE | 3 | Coarsely pronounced lip details |
Tint correction modes
| Constant | Value | Description |
|---|---|---|
TINT_CORRECT_AGGRESSIVE | 0 | Aggressive tint detection |
TINT_CORRECT_DEFAULT | 1 | Moderate tint detection |
TINT_CORRECT_CONSERVATIVE | 2 | Minimum false positive detection |
TINT_CORRECT_STRONGEST | 3 | Highest sensitivity tint detection |