VHS
Terminal recorder from Charm that creates GIFs/PNGs from scripted interactions.
Run
nix run nixpkgs#vhs -- <file>.tape
Tape File Syntax
Output output.gif # or .png, .mp4, .webm
Set Shell "bash" Set FontSize 14 Set Width 1200 Set Height 600 Set Theme "Catppuccin Mocha"
Hide # Hide commands from output Type "echo hello" Enter Sleep 1s Show # Show commands again
Screenshot output.png # Capture current frame
Commands
Command Description
Type "text"
Type text
Enter , Tab , Escape , Space
Press key
Ctrl+x , Alt+x
Key combo
Up , Down , Left , Right
Arrow keys
Sleep 1s
Wait (ms, s)
Screenshot file.png
Capture frame
Hide / Show
Toggle visibility
Settings
Setting Example
Set Shell "bash"
Shell to use
Set FontSize 14
Font size
Set Width 1200
Terminal width
Set Height 600
Terminal height
Set Theme "Catppuccin Mocha"
Color theme
Set Padding 20
Window padding
Set WindowBar Colorful
Window decorations
Example: TUI Screenshot
Output screenshots/demo.png
Set Shell "bash" Set FontSize 14 Set Width 1400 Set Height 800 Set Theme "Catppuccin Mocha"
Hide Type "cd /path/to/project && my-tui-app" Enter Sleep 2s Show
Ctrl+p Sleep 1s Screenshot screenshots/demo.png
Escape Type "q" Enter
List Themes
nix run nixpkgs#vhs -- themes