Token导航 LogoToken导航TokenDH.com
开发执行命令github未标认证来源可访问许可证需确认审计提醒

video-to-subtitle-summary视频转字幕摘要

Agent Skill

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

总安装

682

周安装

29

GitHub Stars

41

下载量

239
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:video-to-subtitle-summary(视频转字幕摘要)
来源仓库:https://github.com/imlewc/video-to-subtitle-summary-skill
仓库路径:skills/video-to-subtitle-summary
安装命令:
npx skills add https://github.com/imlewc/video-to-subtitle-summary-skill --skill video-to-subtitle-summary
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/imlewc/video-to-subtitle-summary-skill --skill video-to-subtitle-summary

简介

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。

  • 适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。
  • 使用时需要确认分辨率、时长、素材路径和导出格式。
  • 涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。
  • 安装方式:github,命令:npx skills add https://github.com/imlewc/video-to-subtitle-summary-skill --skill video-to-subtitle-summary

SKILL.md

视频转字幕与AI总结技能

Overview

将短视频平台(抖音、小红书、B站等)视频或本地视频/音频文件转换为字幕文本并生成AI摘要。

核心流程:

  • 在线视频: 获取视频信息 → 下载视频 → 提取音频 → 语音识别 → 生成字幕 → AI总结
  • 本地文件: 提取音频(如需) → 语音识别 → 生成字幕 → AI总结

When to Use

  • 用户提供短视频平台链接(抖音、小红书、B站等),要求提取字幕或生成总结
  • 用户提供本地视频/音频文件路径,要求转字幕或生成总结
  • 需要将视频内容转为文字

不适用于: 实时语音识别、直播字幕

外部依赖

服务用途必需
TikHub API获取短视频平台视频信息和下载地址(抖音、小红书、B站等)仅在线视频模式需要
字节跳动 VC API语音转文字
FFmpeg提取音频(本地工具)✅(音频文件可跳过)
yt-dlp下载B站视频(本地工具)仅B站视频需要

API 凭证(环境变量)

通过环境变量读取,支持以下任意方式配置:

方式一:.env 文件(推荐) — 在 skill 目录下创建 .env 文件:

TIKHUB_TOKEN="your_token"
BYTEDANCE_VC_TOKEN="your_token"
BYTEDANCE_VC_APPID="your_appid"

方式二:Shell 配置 — 添加到 ~/.zshrc~/.bashrc

export TIKHUB_TOKEN="your_token"
export BYTEDANCE_VC_TOKEN="your_token"
export BYTEDANCE_VC_APPID="your_appid"
详细申请教程见 TikHub 申请指南火山引擎开通指南

执行步骤

步骤0: 判断输入类型

根据用户输入判断处理模式:

  • 在线视频模式:输入为 URL → 根据域名识别平台,从步骤1开始完整执行

- 抖音/TikTokdouyin.comv.douyin.comtiktok.com 等 - 小红书xiaohongshu.comxhslink.com 等 - B站bilibili.comb23.tv

  • 本地文件模式:输入为本地文件路径(如 /path/to/video.mp4~/Downloads/audio.mp3)→ 跳过步骤1和步骤2,根据文件类型决定:

- 本地视频文件(.mp4.mov.avi.mkv 等)→ 从步骤3(提取音频)开始 - 本地音频文件(.mp3.wav.m4a.flac 等)→ 跳过步骤3,直接从步骤4(语音识别)开始

步骤0.5: 环境检查(必须首先执行)

在开始任何处理之前,必须先执行以下检查脚本,任何一项缺失则停止并提示用户:

注意: 本地文件模式下不需要检查 TIKHUB_TOKEN,仅需 BYTEDANCE_VC_TOKENBYTEDANCE_VC_APPIDFFmpeg
# 加载环境变量:优先从 .env 文件读取,其次从 shell 配置读取
SKILL_DIR="$(dirname "$(readlink -f "$0" 2>/dev/null || echo "$0")")"
if [ -f "$HOME/.claude/skills/video-to-subtitle-summary/.env" ]; then
  set -a; source "$HOME/.claude/skills/video-to-subtitle-summary/.env"; set +a
fi
source ~/.zshrc 2>/dev/null || source ~/.bashrc 2>/dev/null

MISSING=""
[ -z "$TIKHUB_TOKEN" ] && MISSING="$MISSING TIKHUB_TOKEN"
[ -z "$BYTEDANCE_VC_TOKEN" ] && MISSING="$MISSING BYTEDANCE_VC_TOKEN"
[ -z "$BYTEDANCE_VC_APPID" ] && MISSING="$MISSING BYTEDANCE_VC_APPID"
which ffmpeg >/dev/null 2>&1 || MISSING="$MISSING FFmpeg"
if [ -n "$MISSING" ]; then
  echo "ERROR: 缺少必需依赖:$MISSING"
  echo "请配置环境变量(.env 文件或 shell 配置):"
  echo '  TIKHUB_TOKEN="your_token"'
  echo '  BYTEDANCE_VC_TOKEN="your_token"'
  echo '  BYTEDANCE_VC_APPID="your_appid"'
  echo "FFmpeg 安装: brew install ffmpeg (macOS) / sudo apt install ffmpeg (Linux)"
  exit 1
else
  echo "OK: 所有依赖就绪"
  echo "TIKHUB_TOKEN=${TIKHUB_TOKEN:0:10}..."
  echo "BYTEDANCE_VC_APPID=$BYTEDANCE_VC_APPID"
fi

如果检查失败,立即停止并告知用户缺少哪些配置,不要继续后续步骤。

⚠️ Claude Code 注意: 由于 Bash 工具的限制,source 设置的变量无法在后续独立命令中使用。执行时使用以下方式提取环境变量:

# 从 .env 文件或 shell 配置提取环境变量
ENV_FILE="$HOME/.claude/skills/video-to-subtitle-summary/.env"
if [ -f "$ENV_FILE" ]; then
  TIKHUB_TOKEN=$(grep "TIKHUB_TOKEN" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'")
  BYTEDANCE_VC_TOKEN=$(grep "BYTEDANCE_VC_TOKEN" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'")
  BYTEDANCE_VC_APPID=$(grep "BYTEDANCE_VC_APPID" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'")
else
  TIKHUB_TOKEN=$(grep "TIKHUB_TOKEN" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2)
  BYTEDANCE_VC_TOKEN=$(grep "BYTEDANCE_VC_TOKEN" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2)
  BYTEDANCE_VC_APPID=$(grep "BYTEDANCE_VC_APPID" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2)
fi

步骤1: 获取视频信息(仅在线视频模式)

根据 URL 域名识别平台,调用对应的 TikHub API 端点:

平台URL 特征API 端点
抖音/TikTokdouyin.comtiktok.com/api/v1/hybrid/video_data
小红书xiaohongshu.comxhslink.com/api/v1/xiaohongshu/web/get_note_info_v7
B站bilibili.comb23.tv/api/v1/bilibili/web/fetch_one_video_v3

抖音/TikTok:

ENV_FILE="$HOME/.claude/skills/video-to-subtitle-summary/.env" && if [ -f "$ENV_FILE" ]; then TIKHUB_TOKEN=$(grep "TIKHUB_TOKEN" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'"); else TIKHUB_TOKEN=$(grep "TIKHUB_TOKEN" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2); fi && curl -s -X GET "https://api.tikhub.io/api/v1/hybrid/video_data?url={ENCODED_URL}&minimal=true" -H "Authorization: Bearer $TIKHUB_TOKEN" -H "Accept: application/json"

提取关键字段:

jq '{
  video_id: .data.aweme_id,
  desc: .data.desc,
  author: .data.author.nickname,
  video_url: .data.video.play_addr.url_list[0]
}'

小红书:

ENV_FILE="$HOME/.claude/skills/video-to-subtitle-summary/.env" && if [ -f "$ENV_FILE" ]; then TIKHUB_TOKEN=$(grep "TIKHUB_TOKEN" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'"); else TIKHUB_TOKEN=$(grep "TIKHUB_TOKEN" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2); fi && curl -s -X GET "https://api.tikhub.io/api/v1/xiaohongshu/web/get_note_info_v7?share_text={ENCODED_URL}" -H "Authorization: Bearer $TIKHUB_TOKEN" -H "Accept: application/json"

提取关键字段:

jq '{
  note_id: .data[0].note_list[0].note_id,
  title: .data[0].note_list[0].title,
  author: .data[0].user.nickname,
  type: .data[0].note_list[0].type,
  video_url: .data[0].note_list[0].video.consumer.origin_video_key
}'
小红书视频下载地址格式:https://sns-video-bd.xhscdn.com/{origin_video_key}

B站:

ENV_FILE="$HOME/.claude/skills/video-to-subtitle-summary/.env" && if [ -f "$ENV_FILE" ]; then TIKHUB_TOKEN=$(grep "TIKHUB_TOKEN" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'"); else TIKHUB_TOKEN=$(grep "TIKHUB_TOKEN" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2); fi && curl -s -X GET "https://api.tikhub.io/api/v1/bilibili/web/fetch_one_video_v3?url={ENCODED_URL}" -H "Authorization: Bearer $TIKHUB_TOKEN" -H "Accept: application/json"

提取关键字段:

jq '{
  bvid: .data.bvid,
  title: .data.title,
  author: .data.owner.name,
  duration: .data.duration,
  desc: .data.desc
}'
B站 API 仅返回元数据,不含直接下载地址。步骤2中使用 yt-dlp 下载。

步骤2: 下载视频(仅在线视频模式)

根据平台使用不同的下载方式:

抖音/TikTok(从步骤1获取的 video_url 下载):

mkdir -p /tmp/video_analysis/{VIDEO_ID}
curl -L -o /tmp/video_analysis/{VIDEO_ID}/video.mp4 -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" "{VIDEO_URL}"

小红书(拼接 CDN 地址下载):

mkdir -p /tmp/video_analysis/{NOTE_ID}
curl -L -o /tmp/video_analysis/{NOTE_ID}/video.mp4 -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" "https://sns-video-bd.xhscdn.com/{ORIGIN_VIDEO_KEY}"

B站(使用 yt-dlp 下载):

B站 TikHub API 仅返回元数据,需使用 yt-dlp 下载视频。安装:brew install yt-dlp(macOS)/ pip install yt-dlp
mkdir -p /tmp/video_analysis/{BVID}
yt-dlp -o /tmp/video_analysis/{BVID}/video.mp4 "https://www.bilibili.com/video/{BVID}/"

步骤3: 提取音频(本地音频文件可跳过)

本地文件模式: 如果输入是本地视频文件,将 {VIDEO_ID} 替换为文件名(不含扩展名),输入路径替换 /tmp/video_analysis/{VIDEO_ID}/video.mp4。如果输入已经是音频文件(.mp3.wav 等),直接跳到步骤4,使用该文件作为音频输入。
ffmpeg -i /tmp/video_analysis/{VIDEO_ID}/video.mp4 -q:a 0 -map a -y /tmp/video_analysis/{VIDEO_ID}/audio.mp3

步骤4: 提交语音识别

⚠️ Authorization 格式:Bearer;token(分号连接,无空格)

ENV_FILE="$HOME/.claude/skills/video-to-subtitle-summary/.env" && if [ -f "$ENV_FILE" ]; then BYTEDANCE_VC_TOKEN=$(grep "BYTEDANCE_VC_TOKEN" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'"); BYTEDANCE_VC_APPID=$(grep "BYTEDANCE_VC_APPID" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'"); else BYTEDANCE_VC_TOKEN=$(grep "BYTEDANCE_VC_TOKEN" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2); BYTEDANCE_VC_APPID=$(grep "BYTEDANCE_VC_APPID" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2); fi && curl -s -X POST "https://openspeech.bytedance.com/api/v1/vc/submit?appid=$BYTEDANCE_VC_APPID&language=zh-CN&words_per_line=20&max_lines=2" -H "Content-Type: audio/mpeg" -H "Authorization: Bearer;$BYTEDANCE_VC_TOKEN" --data-binary @/tmp/video_analysis/{VIDEO_ID}/audio.mp3

# 返回: {"id":"task-id","code":0,"message":"Success"}

步骤5: 轮询获取字幕

ENV_FILE="$HOME/.claude/skills/video-to-subtitle-summary/.env" && if [ -f "$ENV_FILE" ]; then BYTEDANCE_VC_TOKEN=$(grep "BYTEDANCE_VC_TOKEN" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'"); BYTEDANCE_VC_APPID=$(grep "BYTEDANCE_VC_APPID" "$ENV_FILE" | cut -d'=' -f2 | tr -d '"' | tr -d "'"); else BYTEDANCE_VC_TOKEN=$(grep "BYTEDANCE_VC_TOKEN" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2); BYTEDANCE_VC_APPID=$(grep "BYTEDANCE_VC_APPID" ~/.zshrc ~/.bashrc 2>/dev/null | head -1 | cut -d'"' -f2); fi && curl -s "https://openspeech.bytedance.com/api/v1/vc/query?appid=$BYTEDANCE_VC_APPID&id={TASK_ID}" -H "Authorization: Bearer;$BYTEDANCE_VC_TOKEN"

# code=0 成功,code=2000 处理中(等待5秒后重试)

步骤6: 处理字幕

# 提取纯文本
cat subtitle.json | jq -r '.utterances[].text' | tr '\n' ' ' > text.txt

生成 SRT 格式:

import json
with open('subtitle.json', 'r') as f:
    data = json.load(f)

def ms_to_srt(ms):
    h, m, s, millis = ms//3600000, (ms%3600000)//60000, (ms%60000)//1000, ms%1000
    return f"{h:02d}:{m:02d}:{s:02d},{millis:03d}"

with open('subtitle.srt', 'w') as f:
    for i, u in enumerate(data['utterances'], 1):
        f.write(f"{i}\n{ms_to_srt(u['start_time'])} --> {ms_to_srt(u['end_time'])}\n{u['text']}\n\n")

步骤7: AI生成总结

直接由 Claude 完成,无需调用第三方 API。

读取字幕文本后生成:

  1. 标题:简洁概括,不超过30字
  2. 摘要:主要观点和关键信息,200-300字
  3. 要点:核心观点的结构化列表

输出格式

## 视频分析结果

### 视频信息

| 项目   | 内容 |
| ------ | ---- |
| 视频ID | xxx  |
| 作者   | xxx  |
| 时长   | xxx  |

### AI生成标题

xxx

### AI摘要

xxx

### 核心要点

1. xxx
2. xxx

### 生成文件

- 视频: /tmp/video_analysis/{ID}/video.mp4
- 音频: /tmp/video_analysis/{ID}/audio.mp3
- SRT字幕: /tmp/video_analysis/{ID}/subtitle.srt
- 纯文本: /tmp/video_analysis/{ID}/text.txt

常见问题

问题解决方案
缺少环境变量.env 文件或 ~/.zshrc/~/.bashrc 中配置,详见 申请教程
环境变量未生效执行 source ~/.zshrc 或重启终端;使用 .env 文件则无需此步骤
TikHub API 404抖音: /api/v1/hybrid/video_data;小红书: /api/v1/xiaohongshu/web/get_note_info_v7;B站: /api/v1/bilibili/web/fetch_one_video_v3
字节API认证失败Authorization: Bearer;token(分号无空格)
视频下载失败抖音/小红书添加 User-Agent header;B站使用 yt-dlp 下载
FFmpeg 找不到macOS: brew install ffmpeg / Linux: sudo apt install ffmpeg / Windows: choco install ffmpeg
yt-dlp 找不到macOS: brew install yt-dlp / 通用: pip install yt-dlp(仅B站视频需要)
curl 命令报错使用单行命令,避免多行换行

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

39.08%
按下载量换算93

Claude

28.92%
按下载量换算69

Cursor

19.42%
按下载量换算46

Gemini CLI

8.65%
按下载量换算21

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/imlewc/video-to-subtitle-summary-skill --skill video-to-subtitle-summary 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills