LEGENKI®
Shop
← All apps

19 modules · One pipeline · Browser-based

Stack shaders.
Filter anything.

Lumen is a generative image-filtering studio built on p5.js and WebGL2. Stack shader modules — fills, displacements, blurs, colour operations, masks — into a pipeline, drive it with your own media, and export a still or a video. It runs entirely in your browser.

19 shader modules
28 built-in presets
21 media assets included
MP4 PNG · MP4 export

Made with Lumen

One toolkit,
many visual languages.

Every workspace speaks a different dialect, all rendered from the same shared core.

Hover to pause · click any frame to view it full size

The workspaces

6 engines.
One studio.

Switch from a single tab bar. Each is an isolated sketch with its own control panel — but they share palettes, presets and export.

FILLS

Free

Where a stack starts

Colour, gradient, media and noise sources. Every pipeline begins with one of these, and each is a full module with its own parameters.

DISPLACEMENT

Free

Push pixels around

Sine, cubic, simplex and texture-map warps. Feed one module's output into another's displacement input and the image starts to flow.

BLUR

Free

Soften and smear

Gaussian, motion and blue-noise blurs, each pre-blurred without self-sampling its own ping-pong target — so stacks stay stable.

COLOUR

Free

Grade and shift

Correction, gradient map, luma bands and RGB shift. The grading end of the pipeline, applied to whatever the modules above produced.

EFFECTS

Pro

Emboss, lens, warp

Emboss, lens grid and warp grid — the modules that give a stack its physical, optical character.

MASK

Pro

Limit any group

Any module can act as an alpha mask for a group of the passes that follow it, with drag-and-drop membership editing.

The shared engine

Different outputs.
Same DNA.

One architecture behind every workspace. Everything you learn in one carries to the next.

1

Modular pipeline

Each module does one thing to what the previous module produced. The stack is the piece — reorder it and you have a different image.

2

Dirty-flag scheduler

No eternal animation loop. Lumen renders only when something actually changes, so a complex stack costs nothing while you think.

3

Offline-first PWA

Install it to your home screen and it keeps working without a network. Your media pool and presets stay on your device.

The full rack

20 modules.
6 workspaces.

Every generator, filter and colour engine on board.

FILLS
ColourGradientMediaNoise
DISPLACEMENT
SineCubicSimplexTexture map
BLUR
GaussianMotionBlue noise
COLOUR
CorrectionGradient mapLuma bandsRGB shift
EFFECTS
EmbossLens gridWarp grid
MASK
Media file maskGroup membership

Pricing

Start free.
Go Pro when you're ready.

The core workspaces and PNG export are free, no account needed. Pro unlocks the rest — monthly, or yearly for a third less.

Free
$0
No signup to try
  • Fills, displacement, blur and colour modules
  • All 28 built-in presets
  • Your own media uploads
  • PNG export
Open Lumen →
Pro Monthly
$8/ month
Billed monthly · cancel anytime
  • Everything in Free, plus:
  • Effects modules — emboss, lens grid, warp grid
  • MASK groups
  • MP4 video export
  • Save and sync your own presets
  • Import and export preset packs
Go Pro monthly →
Save 58%
Pro Yearly
$40/ year
$96You save $56 a year
Works out to $3.33 / month
  • Everything in Pro Monthly
  • Two months free vs. paying monthly
  • One payment, a whole year of modules
  • Same instant access, no extra steps
Go Pro yearly →

Subscriptions run through Stripe. Sign in inside the app to start.

What's new

Shipped,
and still shipping.

Lumen updates in place — open it and you have the latest.

  1. 1.0.0

    Lumen gets a top bar, and stops being the odd one out.

    • A bar across the top carries the theme toggle and your account — there was previously nowhere inside Lumen to sign in.
    • Fixed the two panels overlapping each other below roughly 720px wide.
    • Fixed a white flash while the theme was being applied.
    • Links to Lumen now show a preview image when shared.
  2. 0.9.0

    Lumen gets its own address.

    • The studio now lives at lumen.legenki.com instead of a path on a shared domain.
    • The monthly price now reads $8, matching what Stripe actually charges.
  3. 0.8.0

    Accounts and Pro.

    • Sign in with Google and subscribe through Stripe.
    • Fills, displacement, blur and colour stay free. Emboss, lens grid, warp grid, MASK and MP4 export need a subscription — PNG export stays free.
    • Pro modules stay visible and selectable in the list, marked as Pro, so you can see what a subscription adds before paying for it.
  4. 0.7.1

    Media handling fixed.

    • Video files you imported were silently dropped — they now load.
    • Fixed leaks that made the media pool heavier every time you opened it.
    • A broken or hand-edited saved stack no longer takes the studio down with it.
    • Mask groups get a bracket in the Layers panel, so you can see what a mask covers.
  5. 0.7.0

    The interface no longer waits for the renderer.

    • Panels appear immediately instead of leaving a blank page while the renderer downloads — measured at 61ms against 2.2 seconds before.
    • Shaders compile once per stack rather than per frame, and the preview buffer is sized to your window instead of a fixed cap.
    • Masks redraw only when something they depend on changes.
  6. 0.6.1

    Emboss and lens grid stop smearing.

    • Fixed the pre-blur inside emboss and lens grid reading from the buffer it was writing to, which fed the effect its own output.
  7. 0.6.0

    Video export you can trust.

    • MP4 export is frame-accurate — it used to skip and freeze frames, producing a slideshow.
    • A timeline with a scrubber, and preview playback aligned to the export frame rate.
    • The live preview renders at a lighter quality while PNG and MP4 rebuild at full resolution.
    • Fixed presets rendering wrong — flipped, mis-sampled or blank.
  8. 0.5.0

    Dark mode, and a usable gradient editor.

    • A dark and light theme matching the other studios.
    • Gradient markers no longer clip at the ends of the bar, and the controls say what they do.
  9. 0.4.0

    A proper media pool.

    • Media opens as a dialog with thumbnails of everything loaded, an upload button and drag-and-drop.
    • MP4 export at 30fps, without the frame tearing.
    • Fixed displacement modules sampling at the wrong resolution.
  10. 0.3.0

    Presets, your own media, and video out.

    • 28 built-in presets, plus saving, importing and exporting your own.
    • Upload your own images and use them as a source anywhere in the stack.
    • Drag layers into and out of MASK groups.
    • MP4 export.
  11. 0.2.0

    All 19 modules, and the Layers panel.

    • Displacement, blur, colour and effects modules — sine, cubic, simplex and texture warps, gaussian, motion and blue-noise blurs, colour correction, gradient map, luma bands, RGB shift, emboss, lens grid and warp grid.
    • A Layers panel with a per-layer inspector, and mask groups that apply a mask to the layers below.
  12. 0.1.0

    First build — the pipeline runs.

    • Stack shader passes on a WebGL2 pipeline, starting from a colour, gradient, media or noise fill.
    • PNG export, and a stack that survives closing the tab.

No catch · Runs in your browser

Ready when you are.

→ Open Lumen

Lumen treats an image the way a modular synth treats a signal. Each module does one thing to what the previous module produced, and the stack is the piece.

GitHub·All apps