Command-line interface for Openscreen — a screen recording editor. A stateful CLI for editing screen recordings with zoom, speed ramps, trim, crop, annotations, and polished exports. Built on the Openscreen JSON project format with ffmpeg as the rendering backend. Designed for AI agents and power users who need programmatic video editing.
A stateful command-line interface for editing screen recordings. Transform raw captures into polished demo videos with zoom effects, speed adjustments, trimming, annotations, and beautiful backgrounds.
pip install cli-anything-openscreen
Prerequisites:
cli-anything-openscreen --help
cli-anything-openscreen # REPL mode
cli-anything-openscreen project new -v recording.mp4 -o project.openscreen
cli-anything-openscreen --json project info
Run without arguments to enter interactive mode. Type for available commands, to exit.
cli-anything-openscreenhelpquitCreate, open, save, and configure projects.
| Command | Description |
|---|---|
project new [-v VIDEO] [-o PATH] | Create new project with optional video |
project open <path> | Open existing .openscreen project |
project save [-o PATH] | Save project to file |
project info | Show project metadata and region counts |
project set-video <path> | Set source video file |
project set <key> <value> | Set editor setting (padding, wallpaper, etc.) |
Manage zoom regions — smooth zoom effects on specific timeline areas.
| Command | Description |
|---|---|
zoom list | List all zoom regions |
zoom add --start MS --end MS [--depth 1-6] [--focus-x 0-1] [--focus-y 0-1] | Add zoom |
zoom remove <id> | Remove zoom region |
Zoom depths: 1=1.25x, 2=1.5x, 3=1.8x, 4=2.2x, 5=3.5x, 6=5.0x
Manage speed regions — speed up idle time, slow down important moments.
| Command | Description |
|---|---|
speed list | List all speed regions |
speed add --start MS --end MS [--speed 0.25-2.0] | Add speed change |
speed remove <id> | Remove speed region |
Valid speeds: 0.25, 0.5, 0.75, 1.25, 1.5, 1.75, 2.0
Manage trim regions — cut out sections of the recording.
| Command | Description |
|---|---|
trim list | List all trim regions |
trim add --start MS --end MS | Cut out a section |
trim remove <id> | Remove trim region |
Set the visible area of the recording.
| Command | Description |
|---|---|
crop get | Show current crop region |
crop set --x 0-1 --y 0-1 --width 0-1 --height 0-1 | Set crop (normalized) |
Add text overlays to the recording.
| Command | Description |
|---|---|
annotation list | List all annotations |
annotation add-text --start MS --end MS --text "..." [--x 0-1] [--y 0-1] | Add text |
annotation remove <id> | Remove annotation |
Inspect and validate media files.
| Command | Description |
|---|---|
media probe <path> | Show video metadata (resolution, duration, codec) |
media check <path> | Validate a video file |
media thumbnail <input> <output> [-t TIME] | Extract a frame |
Render the final polished video.
| Command | Description |
|---|---|
export presets | List available export presets |
export render <output_path> | Render project to video file |
Manage session state with undo/redo.
| Command | Description |
|---|---|
session status | Show session info |
session undo | Undo last operation |
session redo | Redo last undone operation |
session save | Save session state to disk |
session list | List all saved sessions |
.openscreen files--json): Structured JSON output| Setting | Type | Default | Description |
|---|---|---|---|
aspectRatio | string | "16:9" | 16:9, 9:16, 1:1, 4:3, 4:5 |
wallpaper | string | "gradient_dark" | Background preset |
padding | int | 50 | 0-100, padding around video |
borderRadius | int | 12 | Corner radius in pixels |
shadowIntensity | float | 0 | 0-1, drop shadow strength |
motionBlurAmount | float | 0 | 0-1, motion blur during zoom |
exportQuality | string | "good" | medium, good, source |
exportFormat | string | "mp4" | mp4, gif |
--json for parseable outputexport render, verify the output exists and probe it1.0.0