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.themasterofnone.xyz/#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.themasterofnone.xyz/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.