Animator

by dckface

Generate animated GIFs and still AVIF images via simple URL endpoints.

Use ?width=, ?height=, ?time=, ?fps= (and ?period= for periodic generators) to customise each request.

System

/status

Check the health of the application.

Random Each frame is generated independently — fully parallel.

/randframe/gif

Animated GIF — every frame is a fresh burst of random colours.

/randframe/gif?width=200&height=200&time=3&fps=10

randframe demo

/noisygrad/gif

Animated GIF — frames are random noisy gradients with x/y colour biasing.

/noisygrad/gif?width=200&height=200&time=3&fps=10

noisygrad demo

/randframe/avif

Single still AVIF — random colours.

/randframe/avif?width=200&height=200

randframe avif demo

/noisygrad/avif

Single still AVIF — noisy gradient.

/noisygrad/avif?width=200&height=200

noisygrad avif demo
Progressive Each frame is derived from the previous frame — colours evolve over time.

/colordrift/gif

Animated GIF — pixel colours drift and mutate from frame to frame, occasionally exploding into vivid new hues.

/colordrift/gif?width=200&height=200&time=4&fps=10

colordrift demo

/colordrift/avif

Single still AVIF — one step of colour drift from a blank canvas.

/colordrift/avif?width=200&height=200

colordrift avif demo
Timed Each frame is a function of the previous frame and the current playback time in seconds.

/timewave/gif

Animated GIF — smooth, flowing sine-wave colour fields driven by absolute time, blended with the previous frame.

/timewave/gif?width=200&height=200&time=4&fps=15

timewave demo

/timewave/avif

Single still AVIF — time-wave pattern at t = 0.

/timewave/avif?width=200&height=200

timewave avif demo
Periodic Each frame uses the previous frame, the current time, and a loop period — the animation cycles seamlessly.

/plasmawave/gif

Animated GIF — vibrant plasma patterns that repeat every period seconds.

/plasmawave/gif?width=200&height=200&time=4&fps=15&period=2

plasmawave demo

/plasmawave/avif

Single still AVIF — plasma pattern at t = 0 with the given period.

/plasmawave/avif?width=200&height=200&period=1

plasmawave avif demo

/lysseous/gif

Animated GIF — Lissajous parametric curves with a rainbow glow, cycling seamlessly each period seconds.

/lysseous/gif?width=200&height=200&time=4&fps=15&period=4

lysseous demo

/lysseous/avif

Single still AVIF — Lissajous curve snapshot at t = 0.

/lysseous/avif?width=200&height=200&period=4

lysseous avif demo

/wirecube/gif

Animated GIF — a rotating wireframe cube drawn with Bresenham lines, completing one full revolution per period.

/wirecube/gif?width=200&height=200&time=4&fps=15&period=3

wirecube demo

/wirecube/avif

Single still AVIF — wireframe cube at t = 0.

/wirecube/avif?width=200&height=200&period=3

wirecube avif demo

/bresenham/gif

Animated GIF — a magnified grid showing Bresenham's line algorithm in action as the line rotates; green cells are rasterised, the yellow overlay is the true line.

/bresenham/gif?width=200&height=200&time=3&fps=10&period=4

bresenham demo

/bresenham/avif

Single still AVIF — Bresenham grid snapshot at t = 0.

/bresenham/avif?width=200&height=200&period=4

bresenham avif demo

/marchingcubes/gif

Animated GIF — marching-cubes isosurface of two orbiting metaballs, rendered as a perspective wireframe that loops every period seconds.

/marchingcubes/gif?width=200&height=200&time=4&fps=10&period=4

marchingcubes demo

/marchingcubes/avif

Single still AVIF — marching-cubes metaball snapshot at t = 0.

/marchingcubes/avif?width=200&height=200&period=4

marchingcubes avif demo