skills$openclaw/yt-dlp-downloader
apollo12342.3k

by apollo1234

yt-dlp-downloader – OpenClaw Skill

yt-dlp-downloader is an OpenClaw Skills integration for data analytics workflows. Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video", "yt-dlp", "YouTube", "B站", "抖音", "提取音频", "extract audio".

2.3k stars248 forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026data analytics

Skill Snapshot

nameyt-dlp-downloader
descriptionDownload videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video", "yt-dlp", "YouTube", "B站", "抖音", "提取音频", "extract audio". OpenClaw Skills integration.
ownerapollo1234
repositoryapollo1234/yt-dlp-downloader-skill
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @apollo1234/yt-dlp-downloader-skill
last updatedFeb 7, 2026

Maintainer

apollo1234

apollo1234

Maintains yt-dlp-downloader in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
296 B
SKILL.md
5.9 KB
SKILL.md

name: yt-dlp-downloader description: Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp. Use when the user provides a video URL and wants to download it, extract audio (MP3), download subtitles, or select video quality. Triggers on phrases like "下载视频", "download video", "yt-dlp", "YouTube", "B站", "抖音", "提取音频", "extract audio".

yt-dlp Video Downloader

Download videos from thousands of websites using yt-dlp.

Prerequisites

Before downloading, verify dependencies are installed:

# Check yt-dlp
which yt-dlp || echo "yt-dlp not installed. Install with: pip install yt-dlp"

# Check ffmpeg (required for audio extraction and format merging)
which ffmpeg || echo "ffmpeg not installed. Install with: brew install ffmpeg"

If not installed, install them first:

pip install yt-dlp
brew install ffmpeg  # macOS

Quick Start

yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL"

YouTube Download (Recommended - with cookies)

YouTube often blocks direct downloads with 403 errors. Always use browser cookies for YouTube:

yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YOUTUBE_URL"

Supported browsers: chrome, firefox, safari, edge, brave, opera

Download with Custom Output Path

yt-dlp -P "/path/to/save" -o "%(title)s.%(ext)s" "VIDEO_URL"

Common Tasks

1. Download Video (Default - Best Quality)

yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL"

2. Extract Audio Only (MP3)

yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "VIDEO_URL"

3. Download with Subtitles

yt-dlp -P "~/Downloads/yt-dlp" --write-subs --sub-langs all "VIDEO_URL"

4. Download Specific Quality

720p:

yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" "VIDEO_URL"

1080p:

yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "VIDEO_URL"

Best available:

yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo+bestaudio/best" "VIDEO_URL"

5. List Available Formats (Before Download)

yt-dlp -F "VIDEO_URL"

Then download specific format by ID:

yt-dlp -P "~/Downloads/yt-dlp" -f FORMAT_ID "VIDEO_URL"

6. Download Playlist

# Download entire playlist
yt-dlp -P "~/Downloads/yt-dlp" -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "PLAYLIST_URL"

# Download specific range (e.g., items 1-5)
yt-dlp -P "~/Downloads/yt-dlp" -I 1:5 "PLAYLIST_URL"

7. Download with Thumbnail

yt-dlp -P "~/Downloads/yt-dlp" --write-thumbnail "VIDEO_URL"

Workflow

When user provides a video URL:

  1. Identify the platform:

    • YouTube/YouTube Music → Always use --cookies-from-browser chrome
    • Other sites → Try without cookies first
  2. Ask what they want (if not specified):

    • Just download the video?
    • Extract audio only?
    • Need subtitles?
    • Specific quality?
  3. Construct the command based on requirements

  4. Execute the download using Shell tool with required_permissions: ["all", "network"]

  5. Handle errors:

    • 403 Forbidden → Retry with --cookies-from-browser
    • Connection issues → yt-dlp auto-resumes, just retry
    • Format unavailable → Use -F to list formats, then select
  6. Report the result - file location and any errors

Example Interaction

User: "帮我下载这个视频 https://www.youtube.com/watch?v=xxx"

Response:

# YouTube - use cookies to avoid 403 errors
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "https://www.youtube.com/watch?v=xxx"

User: "下载这个视频的音频 https://www.bilibili.com/video/xxx"

Response:

# Bilibili - extracting audio as MP3
yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "https://www.bilibili.com/video/xxx"

User: "下载这个 Twitter 视频 https://twitter.com/xxx/status/123"

Response:

# Twitter/X - direct download usually works
yt-dlp -P "~/Downloads/yt-dlp" "https://twitter.com/xxx/status/123"

Supported Sites

yt-dlp supports thousands of sites including:

  • YouTube, YouTube Music
  • Bilibili (B站)
  • Twitter/X
  • TikTok, Douyin (抖音)
  • Vimeo
  • Twitch
  • And many more...

Full list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md

Troubleshooting

Common Errors and Solutions

ErrorCauseSolution
HTTP 403 ForbiddenYouTube blocks unauthenticated requestsUse --cookies-from-browser chrome
Video unavailableGeo-restricted or privateUse cookies or VPN
Download interruptedNetwork issuesRetry - yt-dlp auto-resumes
Format not availableRequested format doesn't existUse -F to list formats

Error: "yt-dlp: command not found"

pip install yt-dlp

Error: "ffmpeg not found" (for audio extraction)

brew install ffmpeg  # macOS

Error: HTTP 403 Forbidden (YouTube)

This is the most common YouTube error. Always use cookies for YouTube:

# Recommended approach for YouTube
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YOUTUBE_URL"

Supported browsers: chrome, firefox, safari, edge, brave, opera

Error: Video unavailable or geo-restricted

# Try with cookies from browser
yt-dlp --cookies-from-browser chrome "VIDEO_URL"

# Or use a specific format
yt-dlp -F "VIDEO_URL"  # List formats first
yt-dlp -f FORMAT_ID "VIDEO_URL"

Error: Download keeps failing

# Update yt-dlp to latest version
pip install -U yt-dlp

# Force IPv4 (sometimes helps with connection issues)
yt-dlp -4 "VIDEO_URL"

Best Practices

  1. YouTube downloads: Always use --cookies-from-browser chrome
  2. Large files: yt-dlp auto-resumes, just retry if interrupted
  3. Keep yt-dlp updated: pip install -U yt-dlp
  4. Check formats first: Use -F before downloading if unsure
README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

Before downloading, verify dependencies are installed: ```bash

FAQ

How do I install yt-dlp-downloader?

Run openclaw add @apollo1234/yt-dlp-downloader-skill in your terminal. This installs yt-dlp-downloader into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/apollo1234/yt-dlp-downloader-skill. Review commits and README documentation before installing.