Communitygithub.com

AragornZJF/video-clip-assistant

An automated video clipping assistant. Based on FFmpeg, it automatically extracts highlights, generates subtitles, trims clips, and produces short-form videos for multi-platform export. Use this skill when you need to automatically clip videos, extract keyword segments, generate and burn subtitles, export short videos, extract video highlights, or generate video summaries.

What is video-clip-assistant?

Video Clip Assistant is an AI-powered skill that automates video editing workflows using FFmpeg. It enables developers and content creators to trim video segments by timestamps or ASR keywords, generate and burn SRT subtitles, and export clips optimized for social media platforms like TikTok, Instagram, and YouTube. The skill provides a suite of Python scripts (cut_video.py, burn_subtitles.py, export_social.py, extract_highlights.py, generate_subtitles.py) that can be chained into pipelines for tasks such as extracting meeting highlights, adding subtitles, or creating multiple short-form videos from a single long video. It supports custom output formats (9:16, 1:1, 16:9) and subtitle styling. The skill is designed for use with AI agents like Claude Code or Codex, and requires FFmpeg with optional ASR providers (Whisper, FunClip) for speech recognition. This skill is ideal for automating repetitive video editing tasks without manual intervention.

Works with~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/AragornZJF/skill-tools/tree/HEAD/skills/video-processing/video-clip-assistant

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Video Clip Assistant

Automated video clipping assistant. Based on FFmpeg, it provides video trimming, subtitle generation, short video export, and more.

Core Capabilities

  1. Timeline Trimming — Extract clips by timestamp
  2. Keyword Slicing — Find segments matching keywords via ASR subtitles
  3. Subtitle Burning — Burn SRT subtitles into video
  4. Short Video Export — Crop to 9:16 / 1:1 / 16:9 multi-ratios
  5. Highlight Extraction — Automatically extract highlight segments from long videos

Quick Start

Trim by Time

python3 scripts/cut_video.py --input video.mp4 --start 10 --duration 30 --output clip.mp4

Extract Multiple Segments

python3 scripts/cut_video.py --input video.mp4 --segments "0-30,60-90,120-150" --output ./clips/

Burn Subtitles

python3 scripts/burn_subtitles.py --input video.mp4 --srt subs.srt --output subtitled.mp4

Export Short Video

python3 scripts/export_social.py --input video.mp4 --format vertical --duration 60 --output shorts/

Scripts Overview

scripts/cut_video.py

Trim video by timeline.

python3 scripts/cut_video.py \
  --input <video_file> \
  --start <seconds> \
  --duration <seconds> \
  [--segments "0-30,60-90"] \
  --output <output>

scripts/burn_subtitles.py

Burn SRT subtitles into video.

python3 scripts/burn_subtitles.py \
  --input <video> \
  --srt <subtitle_file> \
  --output <output>

Supports custom subtitle position, font size, and color.

scripts/export_social.py

Export to multi-platform compatible format.

python3 scripts/export_social.py \
  --input <video> \
  --format <vertical|square|horizontal> \
  --duration <seconds> \
  --output <output_directory>
FormatRatioUse Case
vertical9:16TikTok / Kuaishou / Xiaohongshu
square1:1Instagram
horizontal16:9YouTube / Bilibili

scripts/extract_highlights.py

Automatically extract highlight segments from a long video.

python3 scripts/extract_highlights.py \
  --input <video> \
  --num-clips <number_of_clips> \
  --min-duration <minimum_seconds> \
  --output <output_directory>

Uses scene detection algorithm to locate interesting transition points.

scripts/generate_subtitles.py

Generate SRT subtitle file (requires ASR service).

python3 scripts/generate_subtitles.py \
  --input <video> \
  --provider <whisper|funclip> \
  --output <subtitles.srt>

Typical Workflows

Workflow 1: Extract 3 highlight clips from a meeting recording

# 1. Cut 3 segments
python3 scripts/cut_video.py \
  --input meeting.mp4 \
  --segments "300-360,720-780,1200-1260" \
  --output ./clips/

# 2. Export each for TikTok format
for f in ./clips/*.mp4; do
  python3 scripts/export_social.py \
    --input "$f" \
    --format vertical \
    --output ./shorts/
done

Workflow 2: Add subtitles to a video

# 1. Generate subtitles
python3 scripts/generate_subtitles.py \
  --input video.mp4 \
  --provider whisper \
  --output video.srt

# 2. Burn subtitles
python3 scripts/burn_subtitles.py \
  --input video.mp4 \
  --srt video.srt \
  --output subtitled.mp4

Workflow 3: One-click generate multiple short videos

python3 scripts/export_social.py \
  --input long_video.mp4 \
  --format vertical \
  --duration 60 \
  --output ./shorts/

Environment Requirements

  • Required: FFmpeg (ffmpeg / ffprobe)
  • Optional: FunClip (Alibaba open-source ASR video clipping)
  • Optional: Whisper (local or API mode)

Installation Reference

# Install FunClip (recommended)
pip install funclip

# Install Whisper
pip install openai-whisper

# FFmpeg (already installed)
which ffmpeg  # should return a path

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Related Skills