Fluid — Manual
Everything the instrument does — two minutes to read, free forever, nothing leaves your device
What it is
A generative art instrument. A domain-warped noise field is colored through thermal-optics
palettes, quantized into pixels, screened with halftone dots, finished with grain. Load a photo
and its luminance drives the structure while the palette drives the color — anything melts into
glowing chromatic imagery. Everything renders live on your GPU; there is no server, no account,
no upload.
You land on a random built-in image, already melted. Tap the canvas to reseed,
pick a look, or load your own photo.
01 — Source
Five built-in sources (hands, profile, orchid, silk, splash) generated for melting: strong
silhouette, glossy highlights, true-black background. Or bring your own —
LOAD PHOTO, paste from the clipboard, or drag a file anywhere onto the page.
Photos are read by your GPU only; they never upload anywhere.
CAMERA starts the front camera live (selfies are mirrored so they read
naturally). FLIP switches facing. FREEZE captures the current
frame as a still source.
When a source loads, a before/after divider appears — drag it to compare the
original against the melt. It clamps at 70%, so the effect can never be fully hidden.
- Liquify
- how much the field displaces the photo — the melt amount.
- Photo blend
- how much the photo drives the structure vs pure noise.
02 — Size
- 1:1 / 4:5 / 5:4 / 3:2 / 16:9 / 9:16
- square, portrait, two landscapes, wide, and story.
The piece reflows, centered; a loaded image cover-fits the frame.
- Reposition
- with an image loaded, drag the artwork to pan it inside the
frame; CENTER IMAGE resets it.
03 — Templates
Curated starting points, one tap each. A template sets the field, palette and shape; tweak anything
afterwards, or hit Randomize for a fresh pattern. The active one stays highlighted until you change
something.
04 — Field
- Mode — fifteen engines
- the generator. NOISE is domain-warped value noise (the default).
FLOW is the curl of a noise potential — divergence-free, so it swirls like fluid and smoke.
CELLULAR is Voronoi noise — crystalline cells whose edges vs centers are blended by Warp.
GYROID slices a 3D gyroid through time for interwoven organic bands. TRUCHET draws random corner
arcs per cell into woven maze / circuit lines. INTERFERE overlaps moving
ripple sources into moiré rings. KALEIDO folds the field into mirrored sectors for a mandala.
LINES is rotated parallel bands (Warp rotates them); GRID crosses two rulings into a lattice;
GOLDEN is a phyllotaxis sunflower spiral built on the golden angle; SMOKE is a soft turbulent plume;
CRYSTAL sums plane-waves into a quasicrystal (Warp sets the symmetry order); HONEYCOMB is a true
hex lattice of walls and cells; BLOOM is a living mesh gradient — the four palette colours drift
as soft 2D blobs and blend directly, made for grainy-gradient posters and soft logo fills;
SWEEP lays the colours corner-to-corner across the frame — a directional gradient whose
boundary breathes with noise (Warp = wobble). Pair it with 2 custom colours for a clean
two-tone gradient background.
- Speed
- animation rate. 0 freezes the drift; the piece itself stays.
- Zoom
- scale of the forms — low is large slow shapes, high is dense detail.
- Warp
- how violently the field folds — slides CELLULAR cells toward edges, tightens FLOW,
packs TRUCHET bands, and adds KALEIDO sectors.
- Grain
- analog noise over the final image.
05 — Surface
- Screen — Square / Hex / ASCII / Dither
- the pixel geometry. SQUARE is the classic mosaic
(with optional halftone dots). HEX is a honeycomb. ASCII maps each cell's brightness to a
character from a dark→light ramp ( .:-=+*#%@ ). DITHER uses an ordered Bayer threshold; Threshold
controls the bright-pixel density. Pixelate sets the cell size.
- Pixelate
- mosaic / hex / glyph cell size. 1 is off (square only); 48 is brutalist.
- Halftone + dot size
- CMYK-style dot screen over a square field — dots over pixels is the signature look.
05b — Colours
- Palettes
- eight designer gradients — AURORA (navy→teal→green→pink), SUNSET
(plum→magenta→orange→gold), OCEAN (midnight→blue→cyan→seafoam), DUSK (indigo→violet→blush),
EMBER (black→crimson→amber→cream), MINT (teal→mint→cream), IRIS (indigo→blue→lilac), and CHROME
(a procedural liquid metal).
- Custom
- pick your own gradient with the colour swatches — your exact brand colours.
Choose how many colours to work with (2 / 3 / 4): with 2 or 3, Fluid blends the full dark→light
gradient between them; with 4 you design every stop yourself. Editing any swatch drops into
Custom; tap a preset to start over. Custom colours travel
in the share link and embeds, so the piece reproduces anywhere.
06 — Share & embed
- Live / Still
- the pill above the image. LIVE animates; STILL freezes the drift for a
clean static export (you can still tweak sliders and reseed while frozen). Recording is hidden in STILL.
- Randomize
- spins through seeds and settles. Tapping the canvas reseeds instantly.
- Copy share link
- a URL that reproduces this exact piece — every slider, the seed,
even the built-in source. Open it anywhere, remix from there.
- Copy iframe / full-bleed / CSS
- three ways to put the piece on a site: a responsive iframe,
a fixed full-bleed background that never eats clicks, or a CSS snippet for a static exported image.
See DEV.
07 — Export
- Size presets
- pick a target — Wallpaper (1080p, 1440p, 4K, ultrawide, phone), Web (hero,
OG image, background, X header), Social (post, story), or Icon. The export is exactly those pixels and
the frame reflows to match. 4K / ultrawide are heavy and scale down if the GPU can't hold them.
- PNG / JPG / WebP
- PNG and WebP keep transparency and are crisp; JPG is much smaller. The
readout shows the exact pixels and format.
- Poster + caption
- POSTER stamps a lab caption bar onto exports — your caption (or seed +
palette) plus attribution. The caption also names the file; leave it empty and the piece names itself
with a codename like neon-current.
- Export image
- renders exactly the on-screen look at the chosen size. On phones it opens the
native share sheet instead of downloading.
- Record clip
- the REC chip on the canvas (or this button) records the animation with a live
timer — MP4 (H.264) where the browser allows, so it plays everywhere; Firefox saves WebM. Clips and
exports always render the pure effect — no divider, no UI.
08 — Share links, under the hood
Everything after #p= is the piece: speed, zoom, warp, grain, pixel, dot,
halftone, palette, seed, liquify, blend, aspect, source preset — and an optional final flag that
switches to canvas-only embed mode. The format only ever grows; old links keep working.
https://fluid.krackeddevs.com/#p=0.5,1.6,4.5,0.1,8,10,1,2,18.4,0.9,0.95,1,1
09 — Use it in your code
Iframe embeds, an MCP server for Claude (claude mcp add --transport http fluid
https://fluid.krackeddevs.com/mcp), and a plain JSON API live on
the DEV page.
10 — Notes
Free forever — all computation happens on the viewer's device, so there is nothing to pay
for and nothing to outgrow. No account, no upload, no app backend. Reduced-motion
users start paused. If the camera is blocked (some embedded browsers), photos and presets still
work — errors always say what still works.