Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
AI-Powered Video Retrieval & Clipping Tool
| Date | Stars |
|---|---|
| 2026-07-24 | 406 |
| 2026-07-25 | 406 |
| 2026-07-28 | 405 |
| 2026-07-30 | 405 |
| 2026-08-06 | 405 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# 🎬 PreenCut - AI-Powered Video Clipping Tool
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://gradio.app/)
PreenCut is an intelligent video editing tool that automatically analyzes audio/video content using speech recognition
and large language models. It helps you quickly find and extract relevant segments from your media files using natural
language queries.

## ✨ Key Features
- **Automatic Speech Recognition**: Powered by OpenAI Whisper for accurate transcription
- **AI-Powered Analysis**: Uses large language models to segment and summarize content
- **Natural Language Querying**: Find clips using descriptive prompts like "Find all product demo segments"
- **Smart Clipping**: Select and export segments as individual files or merged video
- **SRT Export**: Generate subtitles with accurate timestamps and custom line length
- **Batch Processing**: find a specific topic across multiple files
- **Re-analysis**: Experiment with different prompts without reprocessing audio
## ⚙️ Installation
1. Clone the repository:
```bash
git clone https://github.com/roothch/PreenCut.git
cd PreenCut
```
2. Install dependencies, recommend creating a conda virtual environment and using Python 3.9+:
```bash
pip install -r requirements.txt
```
3. Install FFmpeg (required for video processing):
```bash
# ubuntu/Debian
sudo apt install ffmpeg
# CentOS/RHEL
sudo yum install ffmpeg
# macOS (using Homebrew)
brew install ffmpeg
# Windows: Download from https://ffmpeg.org/
```
4. Set up API keys (for LLM services):
First you need to set your llm services in LLM_MODEL_OPTIONS of `config.py`.
Then set your API keys as environment variables:
```bash
# for example, if you are using DeepSeek and DouBao as LLM services
export DEEPSEEK_V3_API_KEY=your_deepseek_api_key
export DOUBAO_1_5_PRO_API_KEY=your_doubao_api_key
```
5. (Optional)set up gradio temp file directory:
set os.environ['GRADIO_TEMP_DIR'] in config.py file.
## 🚀 Usage
1. Start the Gradio interface:
```bash
python main.py
```
2. Access the web interface at http://localhost:7860
3. Upload video/audio files (supported formats: mp4, avi, mov, mkv, ts, mxf, mp3, wav, flac)
4. Configure options:
- Select LLM model
- Choose Whisper model size (tiny → large-v3)
- Add custom analysis prompt (Optional)
5. Click "Start Processing" to analyze content
6. View results in the analysis table:
- Start/end timestamps
- Duration
- Content summary
- AI-generated tags
7. Use the "Re-analyze" tab to experiment with different prompts
8. Use the "Cut" tab to select segments and choose export mode:
- Export as ZIP package
- Merge into a single video file
9. you can also visit the Restful api use the route prefix /api/xxx
* upload file
> POST /api/upload
body: formdata
| key | value type ||
|------|------------|-|
| file | file |
reponse: json
```
{ file_path: f'${GRADIO_TEMP_DIR}/files/2025/05/06/uuid.v1().replace('-', '')${file_extension}' }
```
* create task
> POST /api/tasks
body: json
```json
{
"file_path": "put the file path here response from upload api, starting with ${GRADIO_TEMP_DIR}",
"llm_model": "DeepSeek-V3-0324",
"whisper_model_size": "large-v2",
"prompt": "提取重要信息,时间控制在10s"
}
```
response:
```json
{ "task_id": "" }
```
* query task reult
GET /api/tasks/{task_id}
response:
```json
{
"status": "completed",
"files": [
"${GRADIO_TEMP_DIR}/files/2025/06/23/608ecc80500e11f0b08a02420134443f.wav"
],
"prompt": "提取重要信息,Excerpt of 6,164 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:db516a154f666fca, topic:speech-recognition, topic:asr, topic:speech-to-text