Get the FREE Ultimate OpenClaw Setup Guide →

video-transcript-downloader

npx machina-cli add skill jmerta/codex-skills/video-transcript-downloader --openclaw
Files (1)
SKILL.md
2.4 KB

Video Transcript Downloader

./scripts/vtd.js can:

  • Print a transcript as a clean paragraph (timestamps optional).
  • Download video/audio/subtitles.

Transcript behavior:

  • YouTube: fetch via youtube-transcript-plus when possible.
  • Otherwise: pull subtitles via yt-dlp, then clean into a paragraph.

Setup

cd "${CODEX_HOME:-~/.codex}/skills/video-transcript-downloader" && npm ci

Transcript (default: clean paragraph)

./scripts/vtd.js transcript --url 'https://…'
./scripts/vtd.js transcript --url 'https://…' --lang en
./scripts/vtd.js transcript --url 'https://…' --timestamps
./scripts/vtd.js transcript --url 'https://…' --keep-brackets

Download video / audio / subtitles

./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads
./scripts/vtd.js audio --url 'https://…' --output-dir ~/Downloads
./scripts/vtd.js subs --url 'https://…' --output-dir ~/Downloads --lang en

Formats (list + choose)

List available formats (format ids, resolution, container, audio-only, etc):

./scripts/vtd.js formats --url 'https://…'

Download a specific format id (example):

./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --format 137+140

Prefer MP4 container without re-encoding (remux when possible):

./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --remux-video mp4

Notes

  • Default transcript output is a single paragraph. Use --timestamps only when asked.
  • Bracketed cues like [Music] are stripped by default; keep them via --keep-brackets.
  • Pass extra yt-dlp args after -- for transcript fallback, download, audio, subs, formats.
./scripts/vtd.js formats --url 'https://…' -- -v

Troubleshooting (only when needed)

  • Missing yt-dlp / ffmpeg:
brew install yt-dlp ffmpeg
  • Verify:
yt-dlp --version
ffmpeg -version | head -n 1

Attribution

This skill was copied from steipete/agent-scripts. Upstream: https://github.com/steipete/agent-scripts License: MIT (see LICENSE)

Source

git clone https://github.com/jmerta/codex-skills/blob/main/video-transcript-downloader/SKILL.mdView on GitHub

Overview

Video Transcript Downloader fetches transcripts and media from YouTube and other yt-dlp-enabled sites. It prints clean paragraphs for transcripts by default and can also download video, audio, and subtitles, handling format and playlist quirks.

How This Skill Works

Run ./scripts/vtd.js with commands like transcript, download, audio, subs, or formats. For transcripts, it uses youtube-transcript-plus when possible, otherwise it pulls subtitles via yt-dlp and cleans them into a paragraph. You can pass extra yt-dlp args after -- and optionally remux to MP4 to avoid re-encoding.

When to Use It

  • When you need a clean, paragraph-style transcript of a video (timestamps optional).
  • When you want to download video, audio, or subtitles from YouTube or any yt-dlp-supported site.
  • When you need to list available formats to choose the right download option.
  • When you prefer MP4 containers and want to remux instead of re-encoding.
  • When troubleshooting missing yt-dlp or ffmpeg or adjusting formats/playlists.

Quick Start

  1. Step 1: Setup the skill: cd "${CODEX_HOME:-~/.codex}/skills/video-transcript-downloader" && npm ci
  2. Step 2: Get a transcript: ./scripts/vtd.js transcript --url 'https://…' --lang en
  3. Step 3: Download media: ./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads

Best Practices

  • Use transcript mode for a single-paragraph transcript; add --timestamps only if asked.
  • Use --keep-brackets to retain bracketed cues like [Music].
  • List formats first with formats to understand options before downloading.
  • Remux to MP4 with --remux-video mp4 to avoid re-encoding when possible.
  • Pass extra yt-dlp arguments after -- to customize transcript fallback, download, audio, subs, or formats.

Example Use Cases

  • ./scripts/vtd.js transcript --url 'https://youtu.be/xyz'
  • ./scripts/vtd.js download --url 'https://youtu.be/xyz' --output-dir ~/Downloads
  • ./scripts/vtd.js subs --url 'https://youtu.be/xyz' --lang en --output-dir ~/Downloads
  • ./scripts/vtd.js formats --url 'https://youtu.be/xyz'
  • ./scripts/vtd.js download --url 'https://youtu.be/xyz' --output-dir ~/Downloads -- --remux-video mp4

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers