Install
openclaw skills install bilibili-video-summaryExtract and summarize Bilibili videos. Fetches subtitles or GPU-transcribed audio, danmaku (scrolling comments), video comments, and description — outputs structured JSON for AI agents to summarize. Triggers: Bilibili video summary, summarize this video, what does this video say, bilibili video, B站视频总结, BV号, bilibili.com, video content, video summary, extract video text, video transcript.
openclaw skills install bilibili-video-summaryExtract full content from a Bilibili video — transcript/subtitles, danmaku, comments, and description — then use your own LLM capabilities to produce a deep summary. No external AI API required (no OpenAI / Gemini key needed).
| Data Source | Method | Priority |
|---|---|---|
| CC Subtitles | Bilibili API | Fastest, used if available |
| Audio Transcription | whisper.cpp + Vulkan GPU | Automatic fallback when no subtitles |
| Video Description | yt-dlp | Always captured |
| Danmaku (scrolling comments) | yt-dlp | Parsed, analyzed for frequent content |
| Comments | Bilibili Comment API | Hot-sorted, deduplicated, top liked extracted |
When you receive a Bilibili video link and are asked to summarize it, follow these steps:
python bili-transcript.py "<video_url>"
The script automatically:
Output files are saved to ./bili-output/:
transcript.txt — full transcript/subtitle textdanmaku.json — danmaku data with statisticscomments.json — comment data with top-likedThe JSON output includes preview text, danmaku summary, and top comments.
The JSON preview truncates at 2000 characters. Read the full file:
cat ./bili-output/transcript.txt
Review community response data:
cat ./bili-output/danmaku.json
cat ./bili-output/comments.json
Use your own LLM capabilities to produce a comprehensive summary. Suggested structure:
Video Overview — Title, uploader, duration, transcription source (subtitle / GPU). Key info from the description (project links, update notes, etc.).
Core Content — What the video is about. Fluent paragraph summary of the main narrative.
Key Points — Notable arguments, data points, or information worth highlighting.
Community Response (optional) — Reactions from danmaku and comments. Skip if content is insubstantial (spam, trolling, no valuable discussion).
Assessment (optional) — Content quality, information density, notable strengths or weaknesses.
# Video metadata only
python bili-transcript.py "<URL>" --action info
# CC subtitles only (if available)
python bili-transcript.py "<URL>" --action subtitle
# Force GPU transcription (skip subtitle check)
python bili-transcript.py "<URL>" --action transcribe
# Danmaku only
python bili-transcript.py "<URL>" --action danmaku
# Comments only
python bili-transcript.py "<URL>" --action comments
# Custom output directory
python bili-transcript.py "<URL>" --output ./my-output
| Variable | Purpose |
|---|---|
WHISPER_CPP_DIR | Path to whisper.cpp directory (containing whisper-cli) |
WHISPER_MODEL | Path to whisper model file (e.g., ggml-large-v3-turbo.bin) |
BILI_OUTPUT_DIR | Default output directory (default: ./bili-output) |
| Video Length | Total Time | Notes |
|---|---|---|
| 5 minutes | ~15s | GPU transcription is fast |
| 12 minutes | ~22s | Download + convert + transcribe |
| 1 hour | ~2-3 min | Depends on audio density |
| Danmaku/Comments | ~5-10s | Depends on comment volume |
--action subtitle first