🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

video-summarize

by @yilsonyan

Video summarization. Trigger: 1.User provides a video link (Bilibili/YouTube/Douyin/Twitter/TikTok etc.), 2.Summarize this video

Versionv1.0.2026050302
Downloads372
Installs1
Stars⭐ 1
TERMINAL
clawhub install video-summarize

πŸ“– About This Skill


name: video-summarize description: "Video summarization. Trigger: 1.User provides a video link (Bilibili/YouTube/Douyin/Twitter/TikTok etc.), 2.Summarize this video"

Video Summarizer

Intelligently fetch video transcripts β†’ Let LLM summarize the content

Pipeline

Video Link β†’ Check Cache β†’ Try downloading subtitles β†’ Has subtitles? β†’ Extract text directly β†’ Summarize
                                                     ↓ No subtitles
                                                      Download audio β†’ Whisper transcribe β†’ Summarize

Features

  • Subtitles first: Prefer official/manual subtitles, fall back to Whisper transcription only when unavailable
  • Multi-platform: Bilibili, YouTube, Douyin, Twitter, TikTok and 1000+ more platforms
  • Auto language detection: Whisper auto-detects video language (Chinese, English, Japanese, etc.)
  • Concurrency safe: Each video uses its own temp directory, supports multiple videos simultaneously
  • Smart caching: Same video returns cached result on subsequent requests
  • Supported Platforms

    Powered by yt-dlp, supports 1000+ platforms:

    | Platform | Example URL | |----------|-------------| | Bilibili | https://www.bilibili.com/video/BVxxx | | YouTube | https://www.youtube.com/watch?v=xxx | | Douyin | https://www.douyin.com/video/xxx | | Twitter/X | https://twitter.com/user/status/xxx | | TikTok | https://www.tiktok.com/@user/video/xxx | | Instagram | https://www.instagram.com/p/xxx | | AcFun | https://www.acfun.cn/v/acxxx | | iQiyi/Youku/Tencent | Various Chinese video platforms | | Others | Any platform supported by yt-dlp |

    Dependency Installation

    The script will automatically check and install missing dependencies:

  • ffmpeg (audio conversion) β†’ brew install ffmpeg
  • whisper.cpp (transcription) β†’ brew install whisper-cpp
  • Python3 (isolated virtual environment) β†’ brew install python3
  • Run:

    scripts/install_dependency.sh
    

    Note: First-time installation may take a while depending on your network speed.

    Usage

    # Process a video (first run transcribes, subsequent runs return cached result)
    scripts/process.sh "video_url"
    

    Pipeline: 1. Check cache (return immediately if exists) 2. Try downloading subtitles (prefer Chinese manual, then auto-generated) 3. Has subtitles β†’ extract plain text; No subtitles β†’ download audio β†’ Whisper transcribe 4. Save to summarize_result/{title}_transcript_raw.txt

    Then ask me to summarize and save the result as a markdown file!

    Input Formats

  • Bilibili: https://www.bilibili.com/video/BV1s8UZBZEa8
  • YouTube: https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • Douyin: https://www.douyin.com/video/7123456789
  • Twitter: https://twitter.com/user/status/123456789
  • TikTok: https://www.tiktok.com/@user/video/123456789
  • Any other yt-dlp supported URLs
  • Output

    Filenames use the video title for clarity, special characters handled automatically:

    cache/{title}/
    └── transcript_raw.txt          # Raw transcript

    summarize_result/ └── {title}.md # Summary

    Filename sanitization:

  • Chinese punctuation γ€Šγ€‹γ€γ€‘οΌšοΌŸ β†’ _
  • English symbols /\:*?"<>| β†’ _
  • Spaces β†’ _
  • Consecutive underscores merged
  • Max 50 characters
  • Directory Structure

    video-summarize/
    β”œβ”€β”€ cache/                   # Cache directory
    β”‚   └── {title}/             # Per-video directory
    β”‚       β”œβ”€β”€ transcript_raw.txt  # Raw transcript (preserved)
    β”‚       β”œβ”€β”€ status.json      # Processing status (cleaned up)
    β”‚       β”œβ”€β”€ subs/            # Subtitle temp dir (cleaned up)
    β”‚       β”œβ”€β”€ audio.m4a        # Audio file (cleaned up)
    β”‚       └── audio.wav        # WAV format (cleaned up)
    β”œβ”€β”€ summarize_result/        # Summary output directory
    β”‚   └── {title}.md           # Summary file
    β”œβ”€β”€ whisper-models/
    β”‚   └── ggml-base.bin
    β”œβ”€β”€ scripts/
    β”‚   β”œβ”€β”€ install_dependency.sh
    β”‚   β”œβ”€β”€ process.sh
    β”‚   └── safe_filename.py
    └── SKILL.md
    

    Subtitle Support

    | Platform | Manual Subtitles | Auto Subtitles | |----------|-----------------|----------------| | YouTube | βœ… Supported | βœ… Supported | | Bilibili | βœ… Supported | ⚠️ Partial | | Others | Varies | Varies |

    Subtitle priority: Chinese manual > English manual > Auto-generated

    Notes

  • Only processes public videos (no members-only or paid content)
  • Subtitles are generally better than Whisper transcription (preferred)
  • Transcription quality depends on audio quality and Whisper base model
  • Long videos (>30 min) take longer to transcribe
  • Works well with Chinese, English, Japanese and other major languages
  • Requires network connection to download video audio/subtitles
  • πŸ’‘ Examples

    # Process a video (first run transcribes, subsequent runs return cached result)
    scripts/process.sh "video_url"
    

    Pipeline: 1. Check cache (return immediately if exists) 2. Try downloading subtitles (prefer Chinese manual, then auto-generated) 3. Has subtitles β†’ extract plain text; No subtitles β†’ download audio β†’ Whisper transcribe 4. Save to summarize_result/{title}_transcript_raw.txt

    Then ask me to summarize and save the result as a markdown file!

    πŸ“‹ Tips & Best Practices

  • Only processes public videos (no members-only or paid content)
  • Subtitles are generally better than Whisper transcription (preferred)
  • Transcription quality depends on audio quality and Whisper base model
  • Long videos (>30 min) take longer to transcribe
  • Works well with Chinese, English, Japanese and other major languages
  • Requires network connection to download video audio/subtitles