Metadata-Version: 2.3
Name: video-edit-cli
Version: 0.1.0
Summary: Headless, project-agnostic video-editing CLI with atomic subcommands for AI agents.
Keywords: video,editing,ffmpeg,agents,cli
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Multimedia :: Video :: Conversion
Requires-Dist: jsonschema>=4.21
Requires-Dist: pyyaml>=6
Requires-Dist: deepfilternet>=0.5 ; extra == 'df'
Requires-Dist: mlx-whisper>=0.4 ; extra == 'mlx'
Requires-Python: >=3.11
Project-URL: Issues, https://github.com/computerlovetech/video-edit-cli/issues
Project-URL: Repository, https://github.com/computerlovetech/video-edit-cli
Provides-Extra: df
Provides-Extra: mlx
Description-Content-Type: text/markdown

# video-edit-cli

Headless, project-agnostic video-editing workbench for AI agents. One `video-edit-cli`
CLI exposes atomic, non-interactive subcommands that inspect and transform media
deterministically; the agent plans the edit and composes the primitives.

Contract:

- Machine-readable JSON on stdout (one result envelope per command), diagnostics on
  stderr, meaningful non-zero exit codes on failure.
- Source media is immutable. Every derived file is new and gets a
  `*.provenance.json` sidecar recording inputs, hashes, tool versions, parameters,
  and the exact tool commands.
- Requires `ffmpeg` and `ffprobe` on PATH; commands fail with the stable error code
  `missing-binary` when absent.

Install the base CLI with `uv tool install video-edit-cli`. For local Apple Silicon
transcription, install `uv tool install 'video-edit-cli[mlx]'`. FFmpeg and FFprobe must
be installed separately and available on `PATH`.

Usage discovery: `video-edit-cli --help` and `--help` on every subcommand. Inside this
repository, prefix commands with `uv run`.

Example:

```sh
uv run video-edit-cli workspace init --root /tmp/ep1 --source recording.mp4
uv run video-edit-cli probe --input recording.mp4
uv run video-edit-cli filmstrip create --input recording.mp4 \
  --start 60 --end 90 --output /tmp/ep1/analysis/strip.png --workspace /tmp/ep1
```

The companion skill in `skills/video-editor/` teaches agents the editing method;
this package owns the mechanics. Tests generate small deterministic fixtures at
runtime (`tests/generate_fixtures.py`); no media is committed.

Quality gates (run from this directory):

```sh
uv run ruff check .
uv run ruff format --check .
uv run ty check
uv run pytest
```
