Building Fram — one media pipeline, three interfaces
Why I built a media toolkit in CLI
Building Fram — one media pipeline for everything
I process a lot of media: screenshots, memes, video clips. And every time I needed to crop, compress, or convert something, I reached for a different tool — a CLI here. It is also a agent friendly — I made a skill for it, and it would be much easier to agent use this CLI instead of huge python pillow inline scripts.
By the way, I always wanted to create some TUI for a CLI tool, so here it is, it was one of the main reasons why I made that :)
Examples
CLI for scripting:
fram resize input.jpg 128x128 -o output.jpg
fram cut input.mp4 --start 00:00:05 --end 00:00:12 -o clip.mp4
fram gif input.mp4 --fps 12 --width 480 -o clip.gifRunning just fram opens an interactive TUI instead — image previews right in the terminal, sliders for parameters. For when you don't remember the flags.
Installing
Install with the script (MacOS/Linux-like):
curl -LsSf https://fram.serhiifotex.dev/install.sh | sh
UV tool (Windows/Others):
uv tool install git+https://github.com/Sergio-prog/fram.gitInstall skill:
npx skills add Sergio-prog/framIt's a hobby project, I build it when I need a feature. Open source at github.com/Sergio-prog/fram.