llmpeg
LLM-powered FFmpeg command assistant that converts natural language instructions into ffmpeg commands.
Repository: https://github.com/imortaltatsu/llmpeg
PyPI Package: https://pypi.org/project/llmpeg/
Features
- Conversational interface that converts natural language instructions into
ffmpegcommands - GPT-compatible API support (OpenRouter, Ollama, or custom endpoints)
- Interactive file selection when requests are ambiguous
- Automatic command validation and error correction
- Support for compression, conversion, and cropping operations
Installation
From PyPI (Recommended)
Using pip:
pip install llmpeg
Using pipx (isolated installation, recommended for CLI tools):
pipx install llmpeg
Using uv:
uv pip install llmpeg
From Git Repository
Using pip:
pip install git+https://github.com/imortaltatsu/llmpeg.git
Using pipx:
pipx install git+https://github.com/imortaltatsu/llmpeg.git
Using uv:
uv pip install git+https://github.com/imortaltatsu/llmpeg.git
Using uvx (run without installing):
uvx git+https://github.com/imortaltatsu/llmpeg.git
Local Development
# Clone the repository
git clone https://github.com/imortaltatsu/llmpeg.git
cd llmpeg
# Install in development mode
uv sync
# or
pip install -e .
Setup
After installation, configure your API settings:
# Interactive setup
llmpeg setup init
# Or use environment variables
export LLMPEG_PROVIDER=openrouter
export LLMPEG_API_KEY=your-api-key
export LLMPEG_MODEL_NAME=gpt-oss:20b
Usage
# Single command
llmpeg -p "convert sample.png to jpg"
# Interactive mode
llmpeg
# Setup commands
llmpeg setup init # Configure API settings
llmpeg setup show # Show current configuration
llmpeg setup test # Test API connection
Configuration
Configuration is stored in ~/.llmpeg/config.py or ~/.llmpeg/config.json.
Supported providers:
- OpenRouter: Use
gpt-oss:20bor other models - Ollama: Local Ollama instance (defaults to
gpt-oss:20b) - Custom: Any OpenAI-compatible API endpoint
Requirements
- Python 3.12+
- FFmpeg installed and available in PATH
- API access (OpenRouter API key, Ollama running locally, or custom endpoint)
Metadata
Release files for llmpeg 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llmpeg-0.1.2.tar.gz | 20.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llmpeg-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.7 kB
Release files / llmpeg-0.1.2.tar.gz
| Download URL | llmpeg-0.1.2.tar.gz |
|---|---|
| Size | 20.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
434df4bdb43b5cb70c77615083fd98b3bf869d55be57871f428701c510713159
|
|
BLAKE2b-256 checksum How to use checksums |
aec69ae8b123581af7e3d9b202f687995045c7a14549e6c5a2dce79139c104f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / llmpeg-0.1.2-py3-none-any.whl
| Download URL | llmpeg-0.1.2-py3-none-any.whl |
|---|---|
| Size | 22.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb2ce66ce91e0050582f17c8702e4a9a980adb417ba6d585c25baf5fb76bd397
|
|
BLAKE2b-256 checksum How to use checksums |
4ec27f251f5f5ba6f5eae4a4971b4ca3797a7d99bfbbcb7ea5242c57405b1abd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|