mcpField
F
felo-youtube-subtitling

felo-youtube-subtitling

github.com/felo-inc创意与媒体25084 次安装14 周前更新
代码仓库

关于 felo-youtube-subtitling

felo-youtube-subtitling 是用于提取 YouTube 视频字幕的技能,适合需要转录文本、指定语言字幕或带时间戳片段的场景。它通过 Felo API 获取内容,并提供脚本与命令行调用方式。

主要功能

  1. 01按视频 URL 或 ID 获取字幕
  2. 02指定字幕语言代码
  3. 03可包含片段时间戳
  4. 04支持文本与 JSON 输出

适用场景

  1. 01提取视频字幕用于阅读
  2. 02获取特定语言的字幕文本
  3. 03带时间戳分析或翻译字幕

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/felo-inc/felo-skills --skill felo-youtube-subtitling

安装后在 Claude Code 中输入/felo-youtube-subtitling确认已加载。

附带文件README.mdscripts/run_youtube_subtitling.mjs

详细介绍

Felo YouTube 字幕提取技能

使用场景

当用户想要执行以下操作时,触发此技能:

  • 获取 YouTube 视频的字幕或隐藏式字幕
  • 按视频 ID 或视频 URL 提取转录文本
  • 获取特定语言的字幕(例如 en、zh-CN)
  • 获取带时间戳的字幕,用于分析或翻译

触发关键词(示例):

  • YouTube 字幕、获取隐藏式字幕、视频转录文本、提取字幕、YouTube 字幕
  • 明确触发:/felo-youtube-subtitling、“use felo youtube subtitling”

请勿用于:

  • 实时搜索(使用 felo-search)
  • 网页内容(使用 felo-web-fetch)
  • 生成幻灯片(使用 felo-slides)

设置

1. 获取 API 密钥
  1. 访问 felo.ai
  2. 打开 Settings -> API Keys
  3. 创建并复制 API 密钥
2. 配置环境变量

Linux/macOS:

export FELO_API_KEY="your-api-key-here"

Windows PowerShell:

$env:FELO_API_KEY="your-api-key-here"

执行方法

选项 A:使用捆绑脚本或打包的 CLI

脚本(来自仓库):

node felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs --video-code "dQw4w9WgXcQ" [options]

打包的 CLI(执行 npm install -g felo-ai 后):

felo youtube-subtitling -v "dQw4w9WgXcQ" [options]
# Short forms: -v (video-code), -l (language), -j (json)

选项:

选项默认值说明
--video-code / -v(必填)YouTube 视频 URL 或 视频 ID(例如 https://youtube.com/watch?v=ID 或 dQw4w9WgXcQ)
--language / -l-字幕语言代码(例如 en、zh-CN)
--with-timefalse在每个片段中包含开始时间和时长时间戳
--json / -jfalse以 JSON 格式打印完整 API 响应

可以传入完整的 YouTube 链接或 11 个字符的视频 ID:

  • 支持的 URL:https://www.youtube.com/watch?v=ID、https://youtu.be/ID、https://youtube.com/embed/ID
  • 或直接传入 ID:dQw4w9WgXcQ

示例:

# With video URL
node felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs --video-code "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
felo youtube-subtitling -v "https://youtu.be/dQw4w9WgXcQ"

# With video ID
node felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs -v "dQw4w9WgXcQ" --language zh-CN

# With timestamps
node felo-youtube-subtitling/scripts/run_youtube_subtitling.mjs -v "dQw4w9WgXcQ" --with-time --json
选项 B:使用 curl 调用 API
curl -X GET "https://openapi.felo.ai/v2/youtube/subtitling?video_code=dQw4w9WgXcQ" \
  -H "Authorization: Bearer $FELO_API_KEY"

API 参考(摘要)

  • 端点:GET /v2/youtube/subtitling
  • 基础 URL:https://openapi.felo.ai。如有需要,可通过 FELO_API_BASE 环境变量覆盖。
  • 身份验证:Authorization: Bearer YOUR_API_KEY
查询参数
参数类型必填默认值说明
video_codestring是-YouTube 视频 ID(例如 dQw4w9WgXcQ)
languagestring否-语言代码(例如 en、zh-CN)
with_timeboolean否false包含每个片段的开始时间和时长
响应(200)
{
  "code": 0,
  "message": "success",
  "data": {
    "title": "Video title",
    "contents": [
      { "start": 0.32, "duration": 14.26, "text": "Subtitle text" }
    ]
  }
}

当 with_time=false 时,start/duration 可能不存在或为零。contents[].text 始终存在。

错误代码
HTTP代码说明
400-参数验证失败(例如缺少 video_code)
401INVALID_API_KEYAPI 密钥无效或已撤销
500/502YOUTUBE_SUBTITLING_FAILED服务错误或视频没有可用字幕

输出格式

  • 不使用 --json:打印标题,然后打印每个片段的文本(每行一段或合并输出)。如果使用 --with-time,输出将包含时间戳。
  • 使用 --json:打印完整 API 响应。

失败时(没有字幕、API 错误):向 stderr 输出消息并以 1 退出。示例:

YouTube subtitling failed for video dQw4w9WgXcQ: YOUTUBE_SUBTITLING_FAILED

重要说明

  • 并非所有视频都有字幕;部分视频可能会导致 API 返回错误。
  • 语言代码必须与视频提供的字幕轨道匹配。
  • 与其他 Felo 技能使用相同的 FELO_API_KEY。

参考资料

评论

支持 Markdown