Appearance
Screen Flashlight
Screen Flashlight lights the face with the device display at the capture moment. It can add light to a face when the user is holding a phone close enough for the display to help.
Enable it with the screen-flashlight attribute:
tsx
tsx<hautai-liqa license ="LICENSE_KEY_PROVIDED_BY_HAUT.AI"preset ="face"sources ="front_camera"screen-flashlight > </hautai-liqa >
tsx<hautai-liqa license ="LICENSE_KEY_PROVIDED_BY_HAUT.AI"preset ="face"sources ="front_camera"screen-flashlight > </hautai-liqa >
An empty attribute, screen-flashlight="true", and screen-flashlight="1" enable the feature. Use screen-flashlight="false" or screen-flashlight="0" to disable it. The default is false.
Supported flows
Screen Flashlight is used only when all of these conditions are met:
- The selected preset is
faceorface-180. - LIQA is capturing from the front camera. In
face-180, the feature is applied independently to the front, left, and right captures.
It is not used for the back camera, upload, companion capture, or the hair and photo presets. The same behavior applies in Shadow DOM and use-iframe="true" integrations.
How the capture works
The capture has two paths. Both take the photo at the flash moment.
System flash (primary). Where the browser exposes a working ImageCapture.takePhoto() on the live camera track, LIQA requests a still photo. On phones the still pipeline fires the real system screen flash (the vendor drives the display to full brightness regardless of the user's brightness setting), and the returned photo is exposed during that flash — the synchronization is native to the camera. When the camera advertises the fillLightMode: "flash" capability, LIQA requests the flash explicitly. LIQA waits up to 4 seconds for the still: some platforms prepare the still pipeline lazily (macOS Chromium delays the first photo of a session by about 3 seconds by design), and a photo that arrives within the budget is always used. No white screen of LIQA's own is shown on this path.
Overlay flash (fallback). When the still photo is unavailable, rejected, or does not arrive within the budget, LIQA covers the capture view with a white screen showing a "Hold still" hint, gives the camera exposure 300 ms to react, and grabs the video frame while the screen is lit. This path needs no ImageCapture support and works in every browser, including Safari on iOS and desktop browsers.
In both paths the capture proceeds straight to the processing screen — the flash itself is the "photo taken" signal.
If the session, camera, or face-180 side changes while a request is running, LIQA discards the stale result instead of attaching it to the new capture.
A still photo is decoded with image orientation applied, center-cropped to the visible camera viewport, kept unmirrored, and limited to LIQA's current capture-resolution envelope and a maximum output dimension of 4096 px. An overlay-flash frame is the regular capture frame, taken under the flash.
Lighting limitations
The overlay flash renders white content but cannot raise the device's hardware brightness — manual brightness, auto-brightness, Night Shift, True Tone, battery-saving modes, display size, distance from the face, and ambient light all affect its result. The system flash does not have this limitation where the platform implements it. Neither path activates the physical LED camera flash.
The feature also does not bypass Required Lighting or Photo Quality Check. LIQA still needs to reach its live capture conditions before Screen Flashlight runs, and the captured photo is still evaluated under the configured post-capture policy.