mcpField
N
n8n:loom-transcript

n8n:loom-transcript

github.com/n8n-io生产力209.1k247 次安装今天更新
代码仓库

关于 n8n:loom-transcript

这项 Agent 技能通过 Loom 的 GraphQL API 获取并整理视频转录文本。它提取视频信息,有 VTT 字幕时优先使用,否则回退到 JSON 转录片段。

主要功能

  1. 01从支持的 Loom 链接提取 ID
  2. 02获取视频信息与转录链接
  3. 03优先使用带时间戳的 VTT 字幕
  4. 04回退至 JSON 转录片段
  5. 05处理无效链接和缺失转录

适用场景

  1. 01根据 Loom 链接生成带时间戳的转录文本
  2. 02查看视频信息及其转录文本
  3. 03报告 Loom 视频没有可用转录

安装

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

$npx skills add https://github.com/n8n-io/n8n --skill n8n:loom-transcript

安装后在 Claude Code 中输入/n8n:loom-transcript确认已加载。

详细介绍

Loom 转录文本获取工具

使用 Loom 的 GraphQL API 获取 Loom 视频的转录文本。

说明

给定 Loom URL:$ARGUMENTS

1. 提取视频 ID

解析 Loom URL,提取 32 位十六进制视频 ID。支持的 URL 格式:

  • https://www.loom.com/share/<video-id>
  • https://www.loom.com/embed/<video-id>
  • https://www.loom.com/share/<video-id>?sid=<session-id>

视频 ID 是 /share/ 或 /embed/ 后的 32 位十六进制字符串。

2. 获取视频元数据

使用 WebFetch 工具向 https://www.loom.com/graphql 发送 POST 请求,获取视频标题和详情。

通过 Bash 使用此 curl 命令:

curl -s 'https://www.loom.com/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'x-loom-request-source: loom_web_45a5bd4' \
  -H 'apollographql-client-name: web' \
  -H 'apollographql-client-version: 45a5bd4' \
  -d '{
    "operationName": "GetVideoSSR",
    "variables": {"id": "<VIDEO_ID>", "password": null},
    "query": "query GetVideoSSR($id: ID!, $password: String) { getVideo(id: $id, password: $password) { ... on RegularUserVideo { id name description createdAt owner { display_name } } } }"
  }'
3. 获取转录文本 URL

通过 Bash 使用 curl 调用 GraphQL API:

curl -s 'https://www.loom.com/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'x-loom-request-source: loom_web_45a5bd4' \
  -H 'apollographql-client-name: web' \
  -H 'apollographql-client-version: 45a5bd4' \
  -d '{
    "operationName": "FetchVideoTranscript",
    "variables": {"videoId": "<VIDEO_ID>", "password": null},
    "query": "query FetchVideoTranscript($videoId: ID!, $password: String) { fetchVideoTranscript(videoId: $videoId, password: $password) { ... on VideoTranscriptDetails { id video_id source_url captions_source_url } ... on GenericError { message } } }"
  }'

将 <VIDEO_ID> 替换为步骤 1 中提取的实际视频 ID。

响应包含:

  • source_url — JSON 转录文本 URL
  • captions_source_url — VTT(WebVTT)字幕 URL
4. 下载并解析转录文本

获取步骤 3 返回的两个 URL(如果可用):

  1. VTT 字幕(captions_source_url):使用 curl -sL "<url>" 下载。这是包含时间戳和文本的 WebVTT 文件。
  2. JSON 转录文本(source_url):使用 curl -sL "<url>" 下载。这是包含转录文本片段的 JSON 文件。

优先使用 VTT 字幕作为主要来源,因为其中包含准确的时间戳。如果 VTT 不可用,则使用 JSON 转录文本。

5. 呈现转录文本

向用户完整呈现转录文本,格式如下:

视频: [元数据中的标题] 作者: [所有者姓名] 日期: [创建日期]


0:00 - 第一段转录文本……

0:14 - 第二段转录文本……

(继续列出所有片段)


错误处理

  • 如果 GraphQL 响应包含 GenericError,向用户报告错误消息。
  • 如果 source_url 和 captions_source_url 均为 null 或缺失,告知用户此视频没有可用的转录文本。
  • 如果视频 URL 无效或无法提取 ID,请用户提供有效的 Loom URL。

注意事项

  • 无需身份验证或 Cookie — Loom 的转录文本 API 可公开访问。
  • 此 API 仅提供英文转录文本。
  • 转录文本由自动生成,可能包含少量错误。

评论

支持 Markdown