Skip to main content

vidio

Stop Googling ffmpeg flags. Just tell vidio what you want.

vidio trim long-meeting.mp4 highlight.mp4 --start 1:30 --duration 45
vidio resize raw-footage.mp4 web-ready.mp4 --width 1280
vidio to-gif funny-moment.mp4 reaction.gif --fps 15 --quality high

vidio is a CLI tool that wraps ffmpeg with sane defaults so you can trim, resize, crop, concatenate, and convert videos without memorizing arcane flags every single time.


Install

Requires Python 3.10+ and ffmpeg in your PATH.

# Recommended — install as a standalone tool with uv
uv tool install vidio-cli

# Or run it directly without installing
uvx vidio-cli trim input.mp4 output.mp4 --start 10 --end 30

# Or if you prefer pip
pip install vidio-cli

Once installed, the vidio command is available globally.


What's in the box

Command What it does
vidio ls Find video files in a directory
vidio info Inspect metadata, codecs, resolution
vidio trim Cut a clip by time range
vidio resize Scale to target dimensions or percentage
vidio crop Crop to aspect ratios like 16:9, 9:16, square
vidio concat Place videos side-by-side or stacked
vidio grid Build multi-video grid layouts
vidio to-gif Convert clips to GIF with palette optimization

That's it. No bloat, no kitchen-sink features. Just the things you actually do with video files on a regular basis.


Usage

Every command has --help:

vidio --help
vidio trim --help

Trim

# Cut from 30s to 1:30
vidio trim input.mp4 clip.mp4 --start 30 --end 1:30

# Take 45 seconds starting at 1:30
vidio trim input.mp4 clip.mp4 --start 1:30 --duration 45

# Chop off everything after 2:15
vidio trim input.mp4 clip.mp4 --end 2:15

Resize

# Scale to a specific width (height calculated automatically)
vidio resize input.mp4 output.mp4 --width 1280

# Scale to 50%
vidio resize input.mp4 output.mp4 --scale 0.5

# Force exact dimensions (may distort)
vidio resize input.mp4 output.mp4 -w 1920 -h 1080 --force-aspect

Crop

# Square crop, centered (great for Instagram)
vidio crop input.mp4 output.mp4 --preset center-square

# Vertical video for Reels/TikTok
vidio crop input.mp4 output.mp4 --preset 9:16

# Widescreen
vidio crop input.mp4 output.mp4 --preset 16:9

# Manual crop with offset
vidio crop input.mp4 output.mp4 -w 1280 -h 720 --x 100 --y 50

Concat

# Side-by-side
vidio concat left.mp4 right.mp4 combined.mp4

# Stacked vertically
vidio concat top.mp4 bottom.mp4 combined.mp4 --vertical

Grid

# Auto-arranged grid
vidio grid a.mp4 b.mp4 c.mp4 d.mp4 mosaic.mp4

# Explicit 2x2 with padding
vidio grid a.mp4 b.mp4 c.mp4 d.mp4 mosaic.mp4 --rows 2 --cols 2 --padding 10

# Custom cell size
vidio grid a.mp4 b.mp4 c.mp4 d.mp4 mosaic.mp4 --width 640 --height 360

Convert to GIF

# Good defaults out of the box
vidio to-gif clip.mp4 output.gif

# Optimized for small file size
vidio to-gif clip.mp4 output.gif --scale 0.3 --fps 8 --quality low

# Specific time range
vidio to-gif clip.mp4 output.gif --start 10 --duration 5

List & Info

# Quick ls-style listing
vidio ls

# Detailed view with duration, resolution, codec
vidio ls --list

# Recursive search
vidio ls --recursive

# JSON output (handy for scripting)
vidio ls --json

# Full metadata for a single file
vidio info video.mp4
vidio info video.mp4 --json

Development

git clone https://github.com/matanb/vidio-cli.git
cd vidio-cli
uv sync --group dev

# Run tests
uv run pytest -q

# Lint
uv run ruff check .

License

MIT

Release files for vidio-cli 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vidio-cli 0.1.2
File Size Uploaded
vidio_cli-0.1.2.tar.gz 42.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vidio-cli 0.1.2
File Interpreter ABI Platform
vidio_cli-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 70.0 kB

Release files / vidio_cli-0.1.2.tar.gz

Download URL vidio_cli-0.1.2.tar.gz
Size 42.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8bfe77e645a749fdff3c2aefae14a88c617b11b7fff735e7823e85513eb59a11
BLAKE2b-256 checksum
How to use checksums
5db5372c505ef960541f36b2d5199d64dab30fb9df88d1bfc73749f8aa7edc17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 15, 2026.

Transparency log

Release files / vidio_cli-0.1.2-py3-none-any.whl

Download URL vidio_cli-0.1.2-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47546d400e6d7b25d2886cf0ed48bc88b0ddd04423624b4bf0da3e03e82af214
BLAKE2b-256 checksum
How to use checksums
eca308df53af2b111b34a2a0b0e6e06f8c390b16aa331a1e69d2c9de28a8810f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page