loom-transcript

n8n-io/n8n · updated Apr 9, 2026

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

Fetch the transcript from a Loom video using Loom's GraphQL API.

skill.md

Loom Transcript Fetcher

Fetch the transcript from a Loom video using Loom's GraphQL API.

Instructions

Given the Loom URL: $ARGUMENTS

1. Extract the Video ID

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/.

2. Fetch Video Metadata

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 } } } }"
  }'

3. Fetch the Transcript URLs

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 URL
  • captions_source_url — VTT (WebVTT) captions URL

4. Download and Parse the Transcript

Fetch both URLs returned from step 3 (if available):

  1. VTT captions (captions_source_url): Download with curl -sL "<url>". This is a WebVTT file with timestamps and text.
  2. JSON transcript (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.

5. Present the Transcript

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)


Error Handling

  • If the GraphQL response contains a GenericError, report the error message to the user.
  • If both source_url and captions_source_url are null/missing, tell the user that no transcript is available for this video.
  • If the video URL is invalid or the ID cannot be extracted, ask the user for a valid Loom URL.

Notes

  • No authentication or cookies are required — Loom's transcript API is publicly accessible.
  • Only English transcripts are available through this API.
  • Transcripts are auto-generated and may contain minor errors.

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.834 reviews
  • Ama Bansal· Dec 28, 2024

    Keeps context tight: loom-transcript is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Hiroshi Garcia· Nov 19, 2024

    Registry listing for loom-transcript matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Sakura Verma· Nov 11, 2024

    Useful defaults in loom-transcript — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Hiroshi Liu· Oct 10, 2024

    loom-transcript reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Sakura Srinivasan· Oct 2, 2024

    I recommend loom-transcript for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Hana Park· Sep 21, 2024

    Solid pick for teams standardizing on skills: loom-transcript is focused, and the summary matches what you get after install.

  • Oshnikdeep· Sep 17, 2024

    loom-transcript is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Dev Gill· Sep 1, 2024

    loom-transcript has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Min Gill· Aug 20, 2024

    Solid pick for teams standardizing on skills: loom-transcript is focused, and the summary matches what you get after install.

  • Sakura Robinson· Aug 12, 2024

    loom-transcript has been reliable in day-to-day use. Documentation quality is above average for community skills.

showing 1-10 of 34

1 / 4