loom-transcript by n8n-io/n8n
npx skills add https://github.com/n8n-io/n8n --skill loom-transcript使用 Loom 的 GraphQL API 从 Loom 视频中获取转录文本。
给定 Loom 视频 URL:$ARGUMENTS
解析 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 位十六进制字符串。
使用 WebFetch 工具向 https://www.loom.com/graphql 发送 POST 请求以获取视频标题和详细信息。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
通过 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 } } } }"
}'
通过 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获取步骤 3 返回的两个 URL(如果可用):
captions_source_url):使用 curl -sL "<url>" 下载。这是一个包含时间戳和文本的 WebVTT 文件。source_url):使用 curl -sL "<url>" 下载。这是一个包含转录片段的 JSON 文件。首选 VTT 字幕作为主要来源,因为它包含正确的时间戳。如果 VTT 不可用,则回退到 JSON 转录文本。
格式化并向用户呈现完整的转录文本:
视频: [来自元数据的标题] 作者: [所有者名称] 日期: [创建日期]
0:00 - 第一个转录片段文本...
0:14 - 第二个转录片段文本...
(继续所有片段)
GenericError,则向用户报告错误信息。source_url 和 captions_source_url 均为 null/缺失,则告知用户此视频没有可用的转录文本。每周安装量
163
代码仓库
GitHub 星标数
180.9K
首次出现
2026年2月18日
安全审计
安装于
opencode161
codex159
gemini-cli159
github-copilot158
cursor158
kimi-cli157
Fetch the transcript from a Loom video using Loom's GraphQL API.
Given the Loom URL: $ARGUMENTS
Parse the Loom URL to extract the 32-character hex video ID. Supported URL formats:
https://www.loom.com/share/<video-id>https://www.loom.com/embed/<video-id>https://www.loom.com/share/<video-id>?sid=<session-id>The video ID is the 32-character hex string after /share/ or /embed/.
Use the WebFetch tool to POST to https://www.loom.com/graphql to get the video title and details.
Use this curl command via Bash:
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 } } } }"
}'
Use curl via Bash to call the 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 } } }"
}'
Replace <VIDEO_ID> with the actual video ID extracted in step 1.
The response contains:
source_url — JSON transcript URLcaptions_source_url — VTT (WebVTT) captions URLFetch both URLs returned from step 3 (if available):
captions_source_url): Download with curl -sL "<url>". This is a WebVTT file with timestamps and text.source_url): Download with curl -sL "<url>". This is a JSON file with transcript segments.Prefer the VTT captions as the primary source since they include proper timestamps. Fall back to the JSON transcript if VTT is unavailable.
Format and present the full transcript to the user:
Video: [Title from metadata] Author: [Owner name] Date: [Created date]
0:00 - First transcript segment text...
0:14 - Second transcript segment text...
(continue for all segments)
GenericError, report the error message to the user.source_url and captions_source_url are null/missing, tell the user that no transcript is available for this video.Weekly Installs
163
Repository
GitHub Stars
180.9K
First Seen
Feb 18, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykWarn
Installed on
opencode161
codex159
gemini-cli159
github-copilot158
cursor158
kimi-cli157
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
33,600 周安装