bili-summary
Bilibili (B站) video download, subtitle extraction, and AI summarization tool.
When to Use
✅ USE this skill when:
- - "download Bilibili video"
- "extract B站 subtitles"
- "summarize B站 video"
- "B站视频总结"
- "bilibili transcription"
- Any Bilibili video URL
Features
- - Get video info (title, duration, uploader)
- Download B站 video (video + audio)
- Extract subtitles (B站 CC subtitles)
- Audio extraction + Whisper transcription (when no subtitles)
- Gemini AI detailed summary (chapters + key content + key insights + conclusion)
Prerequisites
1. Install Dependencies
CODEBLOCK0
2. Get Gemini API Key
This skill uses Google Gemini 2.5 Flash for AI summarization.
Steps:
- 1. Visit https://aistudio.google.com/app/apikey
- Sign in with your Google account
- Click "Create API Key"
- Copy the generated key
Pricing: Gemini 2.5 Flash has generous free tier (15 RPM, 1M TPM)
3. Set Environment Variable
CODEBLOCK1
Quick Start
Full Workflow (Recommended)
CODEBLOCK2
Other Actions
CODEBLOCK3
Options
| Option | Description | Default |
|---|
| url | Bilibili video URL (BV号或完整链接) | required |
| --action |
Operation: info/subtitle/transcribe/video/summary | summary |
| --output | Output directory | ~/openclaw/workspace/coding-agent/temp/bili-summary |
Output Files
Default output: INLINECODE0
CODEBLOCK4
Workflow
summary (full workflow)
- 1. Get video info - yt-dlp fetches title, duration, uploader
- Try B站 subtitles - Call Bilibili API for CC subtitles
- Fallback to Whisper - If no subtitles, download audio + faster-whisper (tiny model) transcription
- AI Summary - Call Gemini 2.5 Flash API for detailed summary
Time Estimate
| Step | Time |
|---|
| Audio download | ~15s |
| Whisper transcription (tiny) |
~25s |
| Gemini summary | ~5s |
|
Total |
~45s |
API Configuration
Recommended API: Google Gemini
- - Model: gemini-2.5-flash
- Endpoint: https://generativelanguage.googleapis.com/v1/models/gemini-2.5-flash:generateContent
- Free Tier: 15 requests/minute, 1M tokens/minute
- Sign up: https://aistudio.google.com/app/apikey
Alternative APIs (not implemented)
If you want to use other LLMs:
- - OpenAI GPT-4o - https://api.openai.com/v1/chat/completions
- Anthropic Claude - https://api.anthropic.com/v1/messages
- MiniMax - https://api.minimax.chat/v1/text/chatcompletion_v2
Note: Current implementation only supports Gemini. PRs welcome for other providers.
First-Time Setup Guide
Step 1: Install Python dependencies
CODEBLOCK5
Step 2: Get API Key
- 1. Go to https://aistudio.google.com/app/apikey
- Create new API key
- Copy the key
Step 3: Test the setup
CODEBLOCK6
If you see JSON output with video title, duration, etc., you're ready!
Step 4: Run full summarization
CODEBLOCK7
Troubleshooting
"No module named 'yt-dlp'"
CODEBLOCK8
"GEMINIAPIKEY not found"
CODEBLOCK9
"No subtitles available"
The skill automatically falls back to Whisper transcription. This may take longer but works for any video with audio.
"API rate limit exceeded"
Wait a minute and retry, or check your API quota at https://aistudio.google.com/app/apikey
Security Notes
- - ✅ API key is read from
GEMINI_API_KEY environment variable only - ✅ No hardcoded API keys in source code
- ✅ Temporary files stored in workspace temp directory
- ⚠️ Audio/subtitle files are NOT auto-deleted (manual cleanup required)
File Structure
CODEBLOCK10
License
MIT License - Use at your own risk. Respect Bilibili's terms of service.
bili-summary
Bilibili(B站)视频下载、字幕提取和AI总结工具。
使用场景
✅ 在以下情况使用此技能:
- - 下载B站视频
- 提取B站字幕
- 总结B站视频
- B站视频总结
- bilibili转录
- 任何B站视频链接
功能特性
- - 获取视频信息(标题、时长、上传者)
- 下载B站视频(视频+音频)
- 提取字幕(B站CC字幕)
- 音频提取+Whisper转录(无字幕时)
- Gemini AI详细总结(章节+关键内容+核心见解+结论)
前置条件
1. 安装依赖
bash
使用miniconda3(推荐)
~/miniconda3/bin/pip install yt-dlp faster-whisper
或使用系统Python(可能需要sudo)
pip install yt-dlp faster-whisper
2. 获取Gemini API密钥
此技能使用Google Gemini 2.5 Flash进行AI总结。
步骤:
- 1. 访问 https://aistudio.google.com/app/apikey
- 使用Google账号登录
- 点击创建API密钥
- 复制生成的密钥
定价: Gemini 2.5 Flash提供慷慨的免费额度(每分钟15次请求,每分钟100万token)
3. 设置环境变量
bash
添加到~/.bashrc或~/.zshrc以永久生效
echo export GEMINI
APIKEY=your-api-key-here >> ~/.bashrc
source ~/.bashrc
或临时设置当前会话
export GEMINI
APIKEY=your-api-key-here
快速开始
完整工作流程(推荐)
bash
一键下载音频、转录并总结
uv run {baseDir}/scripts/bili-summary.py https://www.bilibili.com/video/BV1xx411c7mu --action summary
其他操作
bash
仅获取视频信息
uv run {baseDir}/scripts/bili-summary.py URL --action info
下载字幕(如有)
uv run {baseDir}/scripts/bili-summary.py URL --action subtitle
仅下载并转录音频
uv run {baseDir}/scripts/bili-summary.py URL --action transcribe
下载完整视频
uv run {baseDir}/scripts/bili-summary.py URL --action video
选项
| 选项 | 描述 | 默认值 |
|---|
| url | B站视频链接(BV号或完整链接) | 必填 |
| --action |
操作:info/subtitle/transcribe/video/summary | summary |
| --output | 输出目录 | ~/openclaw/workspace/coding-agent/temp/bili-summary |
输出文件
默认输出:~/openclaw/workspace/coding-agent/temp/bili-summary/
temp/bili-summary/
├── audio.m4a # 下载的音频(总结后删除)
├── subtitle.txt # 转录文本(总结后删除)
└── summary.txt # AI总结内容
工作流程
summary(完整工作流程)
- 1. 获取视频信息 - yt-dlp获取标题、时长、上传者
- 尝试B站字幕 - 调用B站API获取CC字幕
- 回退到Whisper - 若无字幕,下载音频+使用faster-whisper(tiny模型)转录
- AI总结 - 调用Gemini 2.5 Flash API生成详细总结
时间估算
| 步骤 | 时间 |
|---|
| 音频下载 | ~15秒 |
| Whisper转录(tiny) |
~25秒 |
| Gemini总结 | ~5秒 |
|
总计 |
~45秒 |
API配置
推荐API:Google Gemini
- - 模型: gemini-2.5-flash
- 端点: https://generativelanguage.googleapis.com/v1/models/gemini-2.5-flash:generateContent
- 免费额度: 每分钟15次请求,每分钟100万token
- 注册: https://aistudio.google.com/app/apikey
替代API(未实现)
如需使用其他大语言模型:
- - OpenAI GPT-4o - https://api.openai.com/v1/chat/completions
- Anthropic Claude - https://api.anthropic.com/v1/messages
- MiniMax - https://api.minimax.chat/v1/text/chatcompletion_v2
注意:当前实现仅支持Gemini。欢迎提交其他提供商的PR。
首次设置指南
步骤1:安装Python依赖
bash
检查miniconda3是否存在
ls ~/miniconda3/bin/python
安装依赖
~/miniconda3/bin/pip install yt-dlp faster-whisper
或使用uv
uv pip install yt-dlp faster-whisper
步骤2:获取API密钥
- 1. 访问 https://aistudio.google.com/app/apikey
- 创建新的API密钥
- 复制密钥
步骤3:测试设置
bash
设置API密钥
export GEMINI
APIKEY=your-key-here
用简单视频测试
uv run {baseDir}/scripts/bili-summary.py https://www.bilibili.com/video/BV1xx411c7mu --action info
如果看到包含视频标题、时长等信息的JSON输出,说明设置成功!
步骤4:运行完整总结
bash
uv run {baseDir}/scripts/bili-summary.py https://www.bilibili.com/video/BV1xxx --action summary
故障排除
No module named yt-dlp
bash
~/miniconda3/bin/pip install yt-dlp faster-whisper
GEMINIAPIKEY not found
bash
检查环境变量是否设置
echo $GEMINI
APIKEY
设置环境变量
export GEMINI
APIKEY=your-key
No subtitles available
技能会自动回退到Whisper转录。这可能需要更长时间,但适用于任何有音频的视频。
API rate limit exceeded
等待一分钟重试,或在 https://aistudio.google.com/app/apikey 检查API配额
安全说明
- - ✅ API密钥仅从GEMINIAPIKEY环境变量读取
- ✅ 源代码中没有硬编码的API密钥
- ✅ 临时文件存储在工作区临时目录
- ⚠️ 音频/字幕文件不会自动删除(需要手动清理)
文件结构
bili-summary/
├── SKILL.md # 本文档
├── _meta.json # ClawHub元数据(自动生成)
└── scripts/
└── bili-summary.py # 主脚本
许可证
MIT许可证 - 使用风险自负。请遵守B站服务条款。