关于 loom-transcript
通过 Loom 的 GraphQL API 获取并整理 Loom 视频转录文本的技能。它支持指定的分享或嵌入链接;若有字幕,会提供带时间戳的内容,且无需身份验证。
主要功能
- 01从 Loom 链接提取视频 ID
- 02获取视频元数据
- 03读取转录与字幕链接
- 04解析 VTT 字幕或 JSON 转录
- 05按时间戳呈现转录文本
适用场景
- 01无需观看视频即可阅读 Loom 内容
- 02通过转录时间戳定位讨论内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ n8n-io/ n8n --skill loom-transcript安装后在 Claude Code 中输入/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 转录文本 URLcaptions_source_url— VTT(WebVTT)字幕 URL
4. 下载并解析转录文本
获取步骤 3 返回的两个 URL(如果可用):
- VTT 字幕(
captions_source_url):使用curl -sL "<url>"下载。这是包含时间戳和文本的 WebVTT 文件。 - 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