AI-powered CLI that generates timestamped chapter summaries for videos using AssemblyAI transcripts and Gemini vision analysis
Project description
Video to Chapters (with Transcript)
AI-powered Python library and CLI that automatically generates timestamped chapter summaries for video content.
Features
- Automatic transcript generation (with speaker labels) using AssemblyAI
- Cheap local scene detection (SSIM + histogram comparison) to find chapter boundaries
- Google Gemini used only where it adds value: describing detected scene changes and writing chapter titles/summaries
- Chapter segmentation based on scene changes and speaker turns
- Export formats for YouTube, Vimeo, Spotify, Markdown, SRT, and JSON
Requirements
- Python 3.13+
ffmpeg/ffprobeon yourPATH- API keys for AssemblyAI and Google Gemini (see
.env.example)
Installation
uv tool install video-to-chapters-with-transcript
Or for development:
git clone https://github.com/hbmartin/video-to-chapters-with-transcript
cd video-to-chapters-with-transcript
uv sync
Usage
# Process a video end-to-end (transcript, scene detection, chapters)
video-to-chapters process video.mp4
# Choose an output format and save to a file
video-to-chapters process video.mp4 --format youtube --output chapters.txt
# List previously processed videos
video-to-chapters list
# Show chapters for an already-processed video without reprocessing
video-to-chapters show --video-id 1
# Re-segment with a different scene-change threshold (reuses cached AI summaries)
video-to-chapters regenerate --threshold 0.6
Run video-to-chapters --help for all commands and options.
Configuration
Copy .env.example to .env and fill in your API keys:
ASSEMBLYAI_API_KEY=...
GEMINI_API_KEY=...
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file video_to_chapters_with_transcript-0.1.0.tar.gz.
File metadata
- Download URL: video_to_chapters_with_transcript-0.1.0.tar.gz
- Upload date:
- Size: 25.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd5c0ff72d13c9f4203215d50dc20ae69377198fa7ef6320b927117faa88005b
|
|
| MD5 |
ea152113a560d505716b713018e84132
|
|
| BLAKE2b-256 |
17c452b5f58ffcf4582c96360ed1e0c0486f10cb82b4aae37c851c58faff5a19
|
Provenance
The following attestation bundles were made for video_to_chapters_with_transcript-0.1.0.tar.gz:
Publisher:
publish.yml on hbmartin/video-to-chapters-with-transcript
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
video_to_chapters_with_transcript-0.1.0.tar.gz -
Subject digest:
fd5c0ff72d13c9f4203215d50dc20ae69377198fa7ef6320b927117faa88005b - Sigstore transparency entry: 2104055502
- Sigstore integration time:
-
Permalink:
hbmartin/video-to-chapters-with-transcript@7545c6c87712a4e331f5022f9eed42b8ec93d560 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/hbmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7545c6c87712a4e331f5022f9eed42b8ec93d560 -
Trigger Event:
release
-
Statement type:
File details
Details for the file video_to_chapters_with_transcript-0.1.0-py3-none-any.whl.
File metadata
- Download URL: video_to_chapters_with_transcript-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02083213d90fc304c2e0a90d7ab8581a35fca04e6475ccf70742839882a3ab7b
|
|
| MD5 |
5153e46004b9ba12628f02400b3189a6
|
|
| BLAKE2b-256 |
c6044e6dac91a58d37a1452b3a3804474c0d00bdefd89d3c9f7b13d1679b1a93
|
Provenance
The following attestation bundles were made for video_to_chapters_with_transcript-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on hbmartin/video-to-chapters-with-transcript
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
video_to_chapters_with_transcript-0.1.0-py3-none-any.whl -
Subject digest:
02083213d90fc304c2e0a90d7ab8581a35fca04e6475ccf70742839882a3ab7b - Sigstore transparency entry: 2104055787
- Sigstore integration time:
-
Permalink:
hbmartin/video-to-chapters-with-transcript@7545c6c87712a4e331f5022f9eed42b8ec93d560 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/hbmartin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7545c6c87712a4e331f5022f9eed42b8ec93d560 -
Trigger Event:
release
-
Statement type: