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.
Seamless
makes the export a tileable pattern that repeats with no seam — perfect for a CSS background-repeat. Works on Noise and Cellular fields, any palette; photo, flow, grain and vignette switch off while it is on. Exports report TILES SEAMLESSLY when verified.
03 — Templates

Twelve beautiful starting points, one tap each — BOREALIS, AFTERGLOW, TIDE, TWILIGHT, MAGMA, MERIDIAN, NEBULA, PLASMA, VELVET, CORAL, GLACIER, ONYX. 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 — seven 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 — woven maze / circuit lines, and it tiles seamlessly. INTERFERE overlaps moving ripple sources into moiré rings. KALEIDO folds the field into mirrored sectors for a mandala.
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
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 ( .:-=+*#%@ ) — 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.
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 (liquid metal).
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 analytics, no tracking, no third-party scripts. Reduced-motion users start paused. If the camera is blocked (some embedded browsers), photos and presets still work — errors always say what still works.

STAGING