Metadata-Version: 2.5
Name: cutpoint
Version: 0.1.0
Summary: Local, agent-driven AI video editor: finds highlights, cuts clips, builds montages, handles 360 video.
License-Expression: MIT
License-File: LICENSE
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Video
Requires-Python: <3.13,>=3.12
Requires-Dist: faster-whisper>=1.2.1
Requires-Dist: numpy<3,>=2.5.4
Requires-Dist: nvidia-cublas-cu12>=12.4; sys_platform == 'linux'
Requires-Dist: nvidia-cublas-cu12>=12.9.2.10; sys_platform == 'win32'
Requires-Dist: nvidia-cudnn-cu12>=9.1; sys_platform == 'linux'
Requires-Dist: nvidia-cudnn-cu12>=9.27.0.42; sys_platform == 'win32'
Requires-Dist: opencv-python>=5.0.0.93
Requires-Dist: opentimelineio>=0.18.1
Requires-Dist: requests>=2.34.2
Requires-Dist: scenedetect>=0.7.2
Provides-Extra: all
Requires-Dist: onnxruntime>=1.31.0; extra == 'all'
Requires-Dist: open-clip-torch>=3.3.0; extra == 'all'
Requires-Dist: panns-inference>=0.1.1; extra == 'all'
Requires-Dist: rapidocr-onnxruntime>=1.4.4; extra == 'all'
Requires-Dist: scikit-learn>=1.9.1; extra == 'all'
Requires-Dist: scipy>=1.18.1; extra == 'all'
Requires-Dist: telemetry-parser>=0.3.0; extra == 'all'
Requires-Dist: torch==2.14.1; extra == 'all'
Requires-Dist: torchlibrosa>=0.1.0; extra == 'all'
Requires-Dist: torchvision==0.29.1; extra == 'all'
Provides-Extra: dev
Requires-Dist: pre-commit>=3.7; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff==0.17.1; extra == 'dev'
Provides-Extra: events
Requires-Dist: onnxruntime>=1.31.0; extra == 'events'
Requires-Dist: open-clip-torch>=3.3.0; extra == 'events'
Requires-Dist: panns-inference>=0.1.1; extra == 'events'
Requires-Dist: rapidocr-onnxruntime>=1.4.4; extra == 'events'
Requires-Dist: scikit-learn>=1.9.1; extra == 'events'
Requires-Dist: scipy>=1.18.1; extra == 'events'
Requires-Dist: torch==2.14.1; extra == 'events'
Requires-Dist: torchlibrosa>=0.1.0; extra == 'events'
Requires-Dist: torchvision==0.29.1; extra == 'events'
Provides-Extra: gpu
Provides-Extra: ski
Requires-Dist: telemetry-parser>=0.3.0; extra == 'ski'
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/FerventOrange/cutpoint/main/docs/assets/logo-256.png" alt="Cutpoint logo: a clapperboard with three characters peeking out" width="200">
</p>

# Cutpoint

Cutpoint is an AI video editor that your coding agent drives. Tell the agent to edit a video and
it finds the best moments, cuts them into clips and assembles the result. All analysis runs on
your own computer, so your agent does not spend API credits on video, and your original files
are never changed.

[Are you an AI agent? Start here](https://github.com/FerventOrange/cutpoint/blob/main/AGENTS.md)

(Installed from PyPI? Run `cutpoint guide`.)

## What you get

- Trimmed, numbered clips of the best moments
- A transcript of the video with timestamps
- A finished video, `final.mp4`, plus timelines you can open in DaVinci Resolve
- Vertical (9:16) versions for shorts and reels
- Works on gameplay, action-cam, sport, funny moments, commentary and 360 video

## Use it

1. Install Cutpoint (below).
2. Open your agent (Claude Code, Codex, Grok CLI or any CLI agent) in the Cutpoint folder, or
   tell it where Cutpoint is.
3. Ask it to edit your video:

   > Edit D:\Videos\clip.mp4 into a 60 second highlights video with Cutpoint.

   > Find the funniest moments in ~/Videos/stream.mp4 and show me the clips before you
   > assemble them.

   > Make a vertical montage from ~/Videos/ride.mp4.

The agent runs Cutpoint, shows you the clips and writes the result into a project folder.
Delete or rename clips to change the cut, then ask the agent to assemble again.

One-command editing (`cutpoint edit`), a first-run setup wizard and an agent skill are
planned. Today the agent runs the steps itself using [AGENTS.md](https://github.com/FerventOrange/cutpoint/blob/main/AGENTS.md).

## Requirements

- Windows or Linux
- Python 3.12 and [uv](https://docs.astral.sh/uv/)
- ffmpeg
- An NVIDIA GPU is recommended. Without one, everything still runs but slower.
- Optional: Ollama for AI frame rating, extra downloads (about 8 GB) for sound, on-screen text
  and scene-description features

## Install

```powershell
winget install --id Gyan.FFmpeg -e
winget install --id astral-sh.uv -e
git clone https://github.com/FerventOrange/cutpoint.git
cd cutpoint
uv sync
uv run cutpoint paths
```

To get a global `cutpoint` command instead, run `uv tool install cutpoint` (from PyPI) after
installing ffmpeg and uv.

On Linux, install ffmpeg and uv with your package manager or their installers, then run the
last four commands. The optional extras and model downloads are explained in
[Getting started](https://github.com/FerventOrange/cutpoint/blob/main/docs/getting-started.md).

## Documentation

- [Getting started](https://github.com/FerventOrange/cutpoint/blob/main/docs/getting-started.md): install, first run, where data is stored, models
- [Using Cutpoint from an agent](https://github.com/FerventOrange/cutpoint/blob/main/docs/agents.md): set up Claude Code, Codex, Grok or another agent
- [Workflows](https://github.com/FerventOrange/cutpoint/blob/main/docs/workflows/README.md): montages, game streams, action-cam, 360 video, vertical output
- [Command reference](https://github.com/FerventOrange/cutpoint/blob/main/docs/commands.md)
- [Configuration](https://github.com/FerventOrange/cutpoint/blob/main/docs/configuration.md)
- [Troubleshooting](https://github.com/FerventOrange/cutpoint/blob/main/docs/troubleshooting/README.md)
- [FAQ](https://github.com/FerventOrange/cutpoint/blob/main/docs/faq.md)
- [Architecture](https://github.com/FerventOrange/cutpoint/blob/main/docs/architecture.md), [Contributing](https://github.com/FerventOrange/cutpoint/blob/main/CONTRIBUTING.md), [Security](https://github.com/FerventOrange/cutpoint/blob/main/SECURITY.md)
- [Insta360 SDK](https://github.com/FerventOrange/cutpoint/blob/main/docs/insta360-sdk.md): optional, for high-quality 360 stitching

## License

Cutpoint is released under the [MIT License](https://github.com/FerventOrange/cutpoint/blob/main/LICENSE).
