Skip to main content

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 ffmpeg commands
  • 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:20b or 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)

Source distribution for llmpeg 0.1.2
File Size Uploaded
llmpeg-0.1.2.tar.gz 20.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llmpeg 0.1.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

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