CLI-Studio
An advanced Terminal User Interface (TUI) that abstracts and simplifies powerful command-line media tools (FFmpeg, ImageMagick, yt-dlp, Pillow, ExifTool).
Key Features
- 37+ Integrated Tools: A massive suite of media manipulation utilities out-of-the-box.
- Interactive File Explorer: Visually browse your filesystem to select files and destinations. No more typing absolute paths.
- Auto-Batch Processing: Select a folder instead of a file, and process every piece of media inside it with live progress bars.
- Smart Input Autofill: Integrates ffprobe to dynamically analyze file metadata and pre-fill fields (e.g., video length).
- Power User Log Console: Press Ctrl + L to toggle a debug log revealing the exact raw CLI commands being executed.
- Dynamic Theming Engine: 8 built-in aesthetic themes that save to preferences. Switch instantly via
/themes.
Prerequisites
CLI-Studio relies on several system-level media engines. Our installer attempts to configure these automatically.
- Python 3.10+
- FFmpeg & FFprobe: For all video and audio manipulation.
- ImageMagick: For advanced image filtering and background removal.
- ExifTool: For reading and stripping media metadata.
- yt-dlp: For fetching web video and audio streams.
Installation
Option A: Automatic Install Recommended
Installs dependencies, sets up an isolated Python environment, and creates global command aliases on Linux or macOS.
curl -fsSL https://cso.codefxr.com/install | bashOption B: Manual Setup
# 1. Ensure ffmpeg, imagemagick, and exiftool are installed via apt/brew/pacman
# 2. Clone the repository
git clone https://github.com/codefxr/cli-studio.git
cd cli-studio
# 3. Create Environment & Install
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 4. Run
python cli-studio.pyUsage & Navigation
Launch the dashboard from anywhere using the full name or acronym:
cli-studio
# OR
csoKeyboard Shortcuts
| Key Binding | Action | Description |
|---|---|---|
| ? | Help | Open explanation for current tool |
| Ctrl + L | Log Console | Toggle raw execution log view |
| Alt + M | Menu | Open the main tools menu |
| Alt + T | Themes | Open theme selection screen |
| Alt + B | Back | Return to previous screen |
| Alt + E | Exit | Close the application |
| Esc | Home / Cancel | Go to Home or close modal |
| Ctrl + C | Quit | Force quit application |
Command Bar Input
Type these commands into the bottom input bar to navigate quickly:
/home- Go to dashboard./menu- Open tool menu./video,/audio,/image- Jump directly to specific Toolkits./themes- Open theme picker./themes <name>- Apply a specific theme (e.g.,/themes pink).
Tool Capabilities
Video Tools (ffmpeg & yt-dlp)
- Download Media: Fetch single videos or playlists (
--yes-playlist). - Convert & Scale: Transcode to MP4, MKV, AVI, WebM, MOV. Resize instantly (
1920:-1). - Edit & Manipulate: Trim, extract audio, mute, rotate, reverse time, or change speed.
- Advanced Filtering: Optimized GIFs, extract frames, watermarks, fade, or mux audio.
Audio Tools (ffmpeg)
- Convert & Trim: Transcode to MP3, WAV, FLAC, AAC, OGG. Slice precise segments.
- Professional Polish: Normalize audio (
-af loudnorm), adjust multipliers, speed up tempo without shifting pitch, or mix tracks.
Image Tools (Pillow, ImageMagick, ExifTool)
- Batch Convert & Resize: Process folders. High-quality scaling.
- Creative Edits: Remove solid backgrounds, apply filters (Sepia, Charcoal), flip, crop.
- Privacy & Utility: Strip tracking metadata (
-all=), or convert folders to PDF.
Architecture & Security
Built on the Textual framework, utilizing an async component-based architecture.
Worker Threading
Heavy operations (transcodes, downloads) are offloaded to Textual Workers, ensuring the TUI remains responsive and updates progress bars without freezing.
Security (Anti-Flag Injection)
All user-provided paths are wrapped in abspath(expanduser()) to neutralize flag injection vulnerabilities when executing shell commands.
Troubleshooting
"ffmpeg not found"
Cause: System cannot locate ffmpeg in your PATH.
Solution: Install globally via apt install ffmpeg or brew install ffmpeg.
Downloads Failing (yt-dlp)
Cause: Websites update players, breaking older yt-dlp versions.
Solution: Update manually: pip install --upgrade yt-dlp
TUI Visual Glitches
Cause: Terminal lacks truecolor support, or window is too small.
Solution: Use modern, GPU-accelerated terminals like Ghostty, Alacritty, or Kitty.
Uninstalling
# 1. Remove application directory
rm -rf ~/.cli-studio
# 2. Remove global aliases
rm ~/.local/bin/cli-studio
rm ~/.local/bin/cso