Creative tools
Shape a look beyond the basics.
Start from a LUT, direct attention with blur, or refine portraits with local analysis and maskable effects.
LUTs
A LUT applies a pre-made color transform. Add a LUT layer, choose a built-in look, or select + File to import a .cube file.
- Intensity ranges from 0 to 200%. Values over 100% amplify the transform.
- Opacity controls the final layer blend.
- A layer mask restricts the look to selected parts of the image.
Blur
A Blur layer is fully maskable for selective focus, background separation, or soft glow effects.
- Gaussian creates smooth, natural softening.
- Box creates a faster, flatter blur.
- Bokeh blooms highlights to resemble lens defocus. Highlight Threshold chooses which pixels bloom and Highlight Boost controls their strength.
Face contouring
A Face layer uses MediaPipe Face Landmarker locally to locate up to five faces. It projects a premade contour pattern onto each landmark mesh, then dodges highlights and burns shadows while preserving color.
- Natural adds restrained definition.
- Sculpted uses narrower highlights and stronger shadows.
- Soft Glam uses broad, soft transitions.
- Cute emphasizes rosy cheeks with restrained jaw sculpting.
- Amount controls exposure strength and Softness controls region falloff.
- Dodge Tint and Burn Tint color the light and dark regions independently.
Show Guides displays landmarks and contour regions in the preview. Guides never appear in exports. Select Analyze Faces to retry detection.
Custom face presets
Face presets are YAML files in face-presets/ and are listed in face-presets/manifest.json. Presets support forehead, nose, cheek, under-eye, temple, jawline, and chin regions with dodge, burn, or off effects.
version: 1
id: editorial
label: Editorial
regions:
cheekbones:
effect: dodge
strength: 0.60
size: 0.90
jawline:
effect: burn
strength: 0.45
size: 1.00
Strength accepts 0 to 1 and size accepts 0.25 to 2. Preset IDs must be unique lowercase identifiers. Optional dodge and burn tints accept a quoted #RRGGBB color and a strength from 0 to 1.
Portrait lighting
A Lighting layer estimates a smooth relative-depth field locally. The renderer converts depth changes into surface normals so the inferred portrait can react to a movable light.
- Direction and Elevation position the light.
- Intensity and Ambient Light shape the tonal range.
- Depth Strength exaggerates or flattens the inferred geometry.
- Light Color adds a tint without changing the depth estimate.
Select Analyze Depth to rerun analysis. The model is optimized for people, so other subjects may produce a flatter estimate.
Generative Fill
Generative Fill replaces a masked region from a text prompt. Inference runs in a browser worker through WebGPU, and the image and prompt are not uploaded to an inference service.
- Add a Generative Fill layer and mask the area to replace.
- Enter a prompt and optional negative prompt.
- Select Download and Generate for the first run, then Generate later.
- Adjust seed, steps, and guidance as needed.
Generation uses a padded 512 by 512 context crop and stores the result at the editor working resolution. The model is subject to the CreativeML Open RAIL-M terms, and this build does not include a prompt safety checker.