A deep-sea jellyfish glows blue in dark water: its see-through bell, radial canals and frilled arms contract in a quick jet and relax in a slow glide, light runs round its margin on each pulse, long tentacles lag and stream, and two dimmer jellies drift behind through marine snow.
Written and rendered by AI CSS Animations Oct 18, 2026
Most animals in the open deep ocean can make their own light, and much of that bioluminescence is blue, the color that travels farthest through seawater. Jellyfish swim by contracting the bell to push water out, then gliding while it relaxes, with tentacles armed with stinging cells trailing behind. Many deep-sea jellies send waves of light around the bell's margin when disturbed. Footage from submersibles and remotely operated vehicles has made glowing jellies a favorite subject for nature films, aquariums and calm ambient visuals.
Make a 10-second deep-sea shot of bioluminescent jellyfish pulsing through dark water, trailing long tentacles through drifting marine snow. <inputs> If I don't give you something, use the default and don't ask. - Title: "Below the Light" - Line: "1,050 m · Orrisk Basin · 4 °C" (fictional) - Jellyfish: one close, two farther back. - Length: 10 seconds. </inputs> <direction> - Look: deep, dark water, but never a black screen: the jellies glow and the water holds a faint blue, so their structure reads from the first frame. - Palette: water #0A2140 at the top to #020814 at the bottom, with a soft haze #0E3A66 at 35% (700px radius) behind the hero; jelly bodies glassy #9FD8FF at low opacity with rims #C9F0FF; bioluminescence blue #46D4FF with hot points #D9F7FF (deep-sea light is mostly blue, the color that travels farthest in seawater); the second jelly violet #9A86FF; gonads soft violet #8C7CFF; marine snow #8FA7C2 at 25–60%; title #DDEBFF, line #7F97B8. - The hero jelly, built like the real animal: a bell (radius 1.0) from LatheGeometry as a thick jelly lens: an outer exumbrella and an inner subumbrella joined at a margin with a thin velum lip, 128 radial × 48 profile segments. Inside, 16 radial canals run from the central stomach to a ring canal at the margin, faint concentric muscle bands line the subumbrella, and four soft violet gonads sit near the center. Four frilled oral arms (ribbons with ruffled edges) hang 1.6 units below; 32 marginal tentacles 4–7 units long are thin glowing threads (Line2 from three/addons/lines at 1.5–2.5px, or thin camera-facing ribbons) beaded with brighter clusters of stinging cells; 32 light organs dot the margin. - Shading: a ShaderMaterial with additive blending and depthWrite false, opacity 0.06 + 0.5 × fresnel^2.5, so the bell is clear in the middle and glows at its edges, with the canals, muscle bands and gonads drawn inside it. Bloom only what glows: EffectComposer with RenderPass, UnrealBloomPass (strength 0.85, radius 0.5, threshold 0.12) and OutputPass. - Jet-and-glide swimming: each pulse is a fast contraction (0.35 s: the margin pulls in 22% and the bell deepens 12%, the margin moving most) and a slow relaxation (0.85 s); the hero pulses every 1.6 s. Each contraction gives a forward impulse of 1.2 units/s that drag (1.8 per second) bleeds away, so the jelly surges and coasts; its position is the closed-form sum of those decaying impulses along its axis, tilted 20° from vertical. - Light: on each contraction a wave of light runs around the margin (the light organs igniting in sequence over 0.4 s and fading over 1.0 s) and climbs the canals; between pulses the bell glows steadily ±10%. Brightness always rises over at least 0.2 s. - Tentacles and arms: chains of 40 points each, simulated once at load at a fixed 1/60 s step from t = −4 s (Verlet with drag and a little stiffness) and anchored to the moving margin, so they lag, fan out on each contraction and stream back during the glide, each with its own slow sway, never in unison. - Far jellies: radius 0.5 (violet) and 0.35 (blue), 6 and 9 units behind, pulsing every 1.3 s and 1.1 s, dimmer (55%) with softer edges, so they read as out of focus. - Marine snow: 4,000 flecks sinking at 2–8 cm/s with slow sideways wander, brighter within 2 units of a jelly (jelly positions passed as uniforms); flecks near the lens are large soft discs. - Camera: fov 40 easing to 34, drifting upward with the hero and keeping it right of center around x 1220, with slight parallax against the snow. - Type (HTML over the canvas): title in Spectral 400 italic, 92px, #DDEBFF, baseline at (120, 900); line in Space Grotesk 400, 22px, uppercase, tracked 0.18em, #7F97B8, baseline at (124, 950). Each rises 12px as it fades in over 1.0 s on cubic-bezier(0.22, 1, 0.36, 1). The hero's tentacles stay right of x 820. - Premium: a bell you can see into, with canals, muscle bands and frilled arms; a jet-and-glide pulse; tentacles that lag and stream; blue light that runs around the margin. Cheap: glowing domes bobbing on a sine, wiggling lines for tentacles, neon colors. Banned: neon pink or green, faces, fish, divers or submarines, bubbles, god rays, a pure black frame, sine bobbing, tentacles moving in unison, strobing, anything flashing more than 3 times per second. </direction> <structure> - 0.0–1.2s: dark blue water and drifting snow; the hero already glowing right of center; its first contraction sends light round the margin. - 1.2–3.6s: two pulses carry it up and forward, its tentacles fanning and streaming; the far jellies appear behind it, soft and dim; the title and line rise in at lower left from 1.6 s. - 3.6–6.4s: the camera eases closer (fov 40 → 34) until the bell spans about 520px; canals, muscle bands and frilled arms read clearly; light climbs the canals on each pulse. - 6.4–8.8s: the hero's pulses slow (from every 1.6 s to every 2.4 s) into a long glide, its tentacles streaming behind. - 8.8–10.0s: hold: camera and type still, the hero gliding relaxed, snow drifting. For other lengths, stretch 1.2–6.4s by whole pulses; keep at least 1 s of hold. </structure> <build> - One self-contained index.html (inline CSS and JS), a 1920×1080 (16:9) stage scaled to fit the window, designed for 60fps. No image, video, texture or model files: every shape and texture is generated in code. - window.seek(t), t in seconds, computes every visual from t alone: no CSS transitions or CSS animations, no setTimeout/setInterval, no state carried between frames, randomness only from a seeded PRNG. Anything cumulative is solved analytically from t or precomputed once at load at a fixed step. Past the end, seek clamps to the last frame. - Without ?render in the URL, drive seek from requestAnimationFrame so it plays in a browser (loop after a 1s end hold); with ?render, don't start that loop. - Google Fonts via <link> are fine; await document.fonts.load() for each face before defining window.seek. - Engine: three.js as an ES module pinned to three@0.160.0 through an import map on jsDelivr (`three` and `three/addons/`). WebGLRenderer with antialias, preserveDrawingBuffer: true and setPixelRatio(window.devicePixelRatio); render once at the end of every seek. Text is HTML over the canvas. - Call composer.render() once per seek in place of renderer.render(). Pulses, positions and glow are closed-form functions of t; tentacle chains are read from the precomputed arrays. </build> <check> Before showing me, step through one frame per second (t = 0…10): screenshot each and look at it. Fix overlaps, clipped or cramped text, and anything off-style or Banned. Check the bell reads as a see-through lens with canals and a margin in every frame, contractions are quick and relaxations slow, tentacles lag and never move in unison, the hero is clearly visible from the first frame and the water never goes black, the title zone stays clear of tentacles, and no brightness rises in under 0.2 s. Confirm seek(10) and seek(11) match, so the final frame holds. </check>
Ours, and free to use under CC0: copy it, change it, ship it. No credit needed.
Thousands of fine particles ride a curl-noise current, gather into a word or logo like a living engraving, dissolve bac…
A deep starfield stretches into blue-white streaks around one vanishing point, merges into a rolling tunnel of light, t…
Shells climb from harbor barges and burst into peonies, chrysanthemums, rings, palms and a finale of drooping gold will…
Thousands of starlings flow across a peach and mauve dusk sky as one mass, darkening into bands as the flock turns, par…
More like this on the motion design inspiration board: 3D motion design inspirationParticle animation inspiration