Night shadow lift

Night Lift grade: lifted shadows, vignette. Preview is an approximation; in HyperFrames the export applies HeyGen's real shader grade via data-color-grading.

Apply this to my video: "Night shadow lift" from the 24fps video editor library.
Preset JSON: https://24fps.dev/video-editor/effects/hf-night-lift/preset.json (pass its "preset" to the engine).
Engine (MIT, no dependencies, ES module): https://24fps.dev/editor/engine.js. Download the engine next to your page (curl -O) rather than importing cross-origin, then import { mount } from "./engine.js" in a <script type="module"> served over http.
Wiring: root = a position:relative box at the video's size. media = { main }: main is a wrapper holding my video, filling the root. Then const fx = mount(root, { kind: "effect", preset, media }) and call fx.render(seconds) every frame. It is seek-safe: drive it from the GSAP timeline in HyperFrames or call render(frame / fps) in Remotion. Before capturing frames, await (fx.ready ?? document.fonts.ready).
In HyperFrames, apply the real shader grade instead of the CSS preview: data-color-grading='{"preset":"night-lift","intensity":1}' on the <video> (see the media-use skill).
Field reference: https://24fps.dev/video-editor/llms.txt. Keep sizes as fractions of the frame height so it works at any resolution. Credit: 24fps.dev/video-editor
Same idea
Also called: Backlight Fix, HD Light, Sleepless City, Light Boost, Low Light, Humble · HyperFrames: media-use preset night-lift
Technique
HyperFrames media-use colour treatment preset (Apache-2.0). · source ↗
Footage
Man talking and gesturing, Pexels

Similar effects & grades