genart.dev
CLI

genart video

Render video from an animated sketch

Render an animated .genart sketch to video. Captures frames over a specified duration and encodes them to MP4, WebM, or GIF.

Usage

genart video <file> [options]

Arguments

ArgumentRequiredDescription
<file>YesPath to a .genart sketch file

Options

FlagTypeDefaultDescription
--durationnumberrequiredVideo duration in seconds
--fpsnumber30Frames per second
--formatmp4 | webm | gifmp4Output video format
--codech264 | h265 | vp9Video codec (format-dependent)
--quality0-10075Encoding quality
--animatestringAnimate a parameter over time (repeatable, e.g. speed=0:10)
--easingstringlinearEasing function: linear, ease-in, ease-out, ease-in-out
--loopnumber0Number of loops (0 = no loop, GIF only)
--concurrencynumber4Number of parallel frame renders
--waitstring500msTime to wait before each frame capture
--seednumberSeed value
--paramsJSONBase parameter overrides
--colorsJSONColor palette override
--widthnumberCanvas width
--heightnumberCanvas height
--presetstringCanvas size preset
--scalenumber1Device pixel ratio
-o, --outputpathOutput file path

Examples

Render a 10-second MP4:

genart video my-sketch.genart --duration 10

Render a high-quality 4K video:

genart video my-sketch.genart \
  --duration 30 \
  --width 3840 --height 2160 \
  --codec h265 --quality 95 \
  -o output-4k.mp4

Animate a parameter over time with easing:

genart video my-sketch.genart \
  --duration 5 \
  --animate "density=0:1" \
  --easing ease-in-out

Animate multiple parameters simultaneously:

genart video my-sketch.genart \
  --duration 10 \
  --animate "density=0:1" \
  --animate "speed=1:5"

Create a looping GIF:

genart video my-sketch.genart \
  --duration 3 \
  --format gif \
  --loop 0 \
  --width 400 --height 400 \
  -o animation.gif

Render at 60fps with parallel frame capture:

genart video my-sketch.genart \
  --duration 15 \
  --fps 60 \
  --concurrency 8