A browser tool that makes colour LUTs for the Flashback ONE35 V2 camera. The camera can't load LUTs itself; the Flashback phone app applies them. This page builds the file the app imports.
Quick start
- Leave the base on Classic v12 (or pick another).
- Choose a preset, or hit Randomize. The seed number reproduces a random look.
- Drag the divider on the photo to compare base and graded. Tweak the sliders.
- Export LUT, sync the
.lut.png to your phone and import it in the Flashback app.
Controls
- Tone: black lift, contrast (S-curve around a pivot), highlight knee and white point.
- Colour: overall saturation.
- Split toning: tint for shadows, mids and highlights, plus skin protection, which keeps tints from shifting skin tones.
- Hue mixer: per colour (red to magenta), saturation and hue shift.
- Nudge: a small random variation of the current look.
How it works
Every look is grade(base LUT). For each of the 64³ grid points the page samples the base LUT, then runs that colour through the grade. The base carries the app's own exposure and colour encoding, which is why you build on top of it instead of from scratch.
- The grade runs in OKLab, a perceptual colour space: lightness, chroma and hue are separate, so contrast doesn't shift colours and tints stay clean.
- Highlights roll off with a soft shoulder (slope 1 at the knee, 1.0 lands on the white point). Blacks are lifted gently, since the sensor is small and noisy.
- Out-of-range colours are brought back by reducing chroma, never by hard clipping.
- The preview uses a 33³ grid for speed. Export bakes the full 64³ grid.
File formats
- .lut.png: 512×512, 8-bit RGB. A 64³ table in 8×8 tiles:
x = (b%8)·64 + r, y = (b÷8)·64 + g. The app rejects larger files.
- .cube: 64³, red varies fastest. For Lightroom, DaVinci Resolve and similar.
- Preset .json: your slider values and base, to reload and keep editing.
Built on
- One plain HTML/CSS/JavaScript file: no framework, no dependencies, canvas 2D for the preview. Your photos never leave the page.
- A Python version of the same grade (NumPy, Pillow) builds the
custom/ looks and checks grey-ramp monotonicity and step size.
- GitHub Actions builds and publishes this page to GitHub Pages.
- The base LUTs come from the Flashback app and belong to Flashback. Demo photos are public domain or CC0 (credits in the repo).
Not verified yet
Exported PNGs have not been tested inside the Flashback app, and the looks haven't been tuned on real ONE35 V2 photos. Treat them as a starting point; reports from real use are welcome on GitHub.