Run Command

Record a shell script to MP4/WebM using the high-performance native canvas renderer.

slides-tape run demo.sh -o demo.mp4 --speed 1.5 --font-size 18
OptionDescriptionDefault
-o, --output <path>Output file path<script>.mp4
-r, --resolution <WxH>Video resolution1920x1080
-f, --fps <fps>Framerate30
--format <fmt>mp4 | webmmp4
--speed <n>Playback speed multiplier1
--narrative-onlyOverwrite outputs with audio narrative-
--no-narrativeForce silent export (ignores logs)-
--cols / --rows <n>Terminal dimensions120x30
--ps1 <prompt>Shell prompt string"$ "
--font-size <px>Font size (Canvas only)14
--font-family <name>Font family (Canvas only)"JetBrains Mono"
--load-events <path>Render from a .tre file-
--skip-idle <ms>Collapse idle gaps > ms-
--highlight-cmdsVisual flash on command start-
--no-save-eventsDisable auto-saving .tre-
--keep-framesKeep raw PNG files-

🏗️ Deterministic Runner

Starting with v2.1.0, the run command uses a two-phase execution loop:

  1. The Capture Phase: Your script runs in a native Unix PTY while the engine records raw ANSI sequence timestamps into a .tre file.
  2. The Render Phase: The .tre file is pushed through the @napi-rs/canvas engine to compile frames at a perfect, constant framerate, regardless of system load during execution.