upupc

video-download

Design & Mediav0.1.6
By upupcUpdated 2026-05-177 versions · latest released 2026-03-06
#Audio#Transcribe#Twitter

According to AlphaMoat, as of 2026-09, video-download has 3,229 downloads and 3 stars — ranked #3,525 of 5,078 AI skills overall, and #323 of 512 in Design & Media.

Installs
104
Downloads
3.2K
Stars
3
Overall Rank
#3,525
Top 70% overall · Top 64% in Design & Media
PlatformInstallsDownloadsStarsComments
ClawHub ↗1043.2K34

Platforms count differently and update at different times.

What this skill does

It lists a range of video sites and output options such as text, SRT, VTT, or JSON. The workflow depends on yt-dlp, ffmpeg, and Faster Whisper, and may download a model on first use. Cookie files containing login credentials are sensitive; confirm content rights, site rules, and local output location before use. Subtitle-only mode may fall back to downloading and transcribing the full video; confirm this behavior first.

Profile published 2026-10-29

What you can do with it

  • Download a video from a user-provided link.
  • Extract audio and generate a transcript or subtitles.
  • Choose a subtitle format or attempt to retrieve existing subtitles.

When to use it

  • When the user explicitly requests subtitles for a video they are allowed to access and process.
  • Before downloading, when confirming content rights, credential handling, and output directory.

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

Create a subtitle draft for this video link and retain the source reference.
Without reading or exporting browser cookies, list the dependencies and output files needed to process this video.

Monthly Trend

Downloads3.2K
1.5K2.4K3.4K2026-03 · Downloads 1.6K2026-06 · Downloads 2.8K2026-07 · Downloads 3.0K2026-08 · Downloads 3.1K2026-09 · Downloads 3.2K26-0326-09
Stars3
2342026-03 · Stars 32026-06 · Stars 32026-07 · Stars 32026-08 · Stars 32026-09 · Stars 326-0326-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-093.2K—3
2026-083.1K+2.3%3
2026-073.0K+8.0%3
2026-062.8K—3
2026-031.6K—3

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

8.1 KB · ClawHub v0.1.6
---
name: video-download
description: Download videos from 1800+ websites and generate subtitles using Faster Whisper AI. Use when user wants to download videos from YouTube, Bilibili, Twitter, TikTok, Facebook, Vimeo, or any other supported video site, extract audio, or transcribe video content to text/subtitles.
metadata:
  {
    "openclaw":
      {
        "homepage": "https://github.com/upupc/video-download",
        "emoji": "🎬",
        "requires": { "bins": ["python", "ffmpeg"], "env": [] },
Show all (206 lines)
        "primaryEnv": "",
        "install": [
          {
            "id": "pip",
            "kind": "pip",
            "packages": ["yt-dlp", "yt-dlp-ejs", "ffmpeg-python", "faster-whisper", "tqdm"],
            "label": "Install dependencies (pip)",
          }
        ],
      },
  }
---

# Video Download & Subtitle Generation

This skill downloads videos from 1800+ websites and generates subtitles using Faster Whisper AI.

## Supported Websites

This skill supports downloading from virtually any video website thanks to yt-dlp. Some popular ones include:

**Video Platforms:**
- YouTube, YouTube Shorts
- Bilibili (哔哩哔哩), Niconico (ニコニコ動画)
- TikTok, Douyin (抖音)
- Twitter/X, Facebook, Instagram
- Vimeo, Dailymotion
- Twitch (clips, VODs), Kick
- Rutube, VK Video

**Chinese Platforms:**
- iQiyi (爱奇艺), Youku (优酷), MangoTV (芒果TV)
- Weibo Video, Douyu (斗鱼), Huya (虎牙)

**International:**
- Netflix, Disney+, HBO Max, Amazon Prime Video
- BBC iPlayer, ITV, Channel 4
- ARD, ZDF, Arte

For the complete list of 1800+ supported sites, see: [yt-dlp supported extractors](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)
Local document about supported sites: references/supportedsites.md

**Important:** If you see an error like `Sign in to confirm you’re not a bot`, you should use the `cookiefile` parameter for authenticated downloads. See the `cookiefile` usage section at the end of this document.

## Prerequisites

Ensure the following Python packages are installed:
- `yt-dlp` - For downloading videos from any supported site
- `yt-dlp-ejs` - External JavaScript for yt-dlp supporting many runtimes
- `ffmpeg-python` - For audio extraction
- `faster-whisper` - For speech-to-text transcription (faster and more memory-efficient than openai-whisper). **Note**: The first run will download models from HuggingFace (default: small, ~3GB). A VPN is required for mainland China users.
- `tqdm` - For progress bar display during transcription

Install via pip:
```bash
pip install yt-dlp yt-dlp-ejs ffmpeg-python faster-whisper tqdm
```

ffmpeg must also be installed on your system

## Usage

### Command Line

```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads"}'
```

## Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urls` | array | Yes | List of video URLs from any supported website |
| `output` | string | No | Output directory (default: "./downloads") |
| `model` | string | No | Faster Whisper model size: tiny, base, small, medium, large, large-v2, large-v3, turbo (default: "small") |
| `transcribe` | boolean | No | Whether to transcribe video to subtitle (default: true) |
| `subtitle_format` | string | No | Subtitle format: txt, srt, vtt, json (default: "txt") |
| `download_subtitle` | boolean | No | Download video's built-in subtitles if available (default: false) |
| `onlysubtitle` | boolean | No | Only download subtitles. When `true`, the script uses `skip_download + writesubtitles + writeautomaticsub` internally (default: false) |
| `overwrite_subtitle` | boolean | No | Overwrite existing subtitle files (default: true, set to false to skip if exists) |
| `cookie` | string | No | Cookie header string; injected into `http_headers.Cookie` (default: "") |
| `cookiesfrombrowser` | string | No | Read cookies from browser (default: ""; injected only when non-empty) |
| `cookiefile` | string | No | Netscape-format cookie file path (default: ""; injected only when non-empty) |

## Output

The skill will:
1. Create a folder for each video (named after the video title)
2. Download the video file to that folder
3. Extract audio as WAV file
4. Generate transcript using Faster Whisper
5. Save subtitle as .txt file

Output structure:
```
downloads/
└── Video Title/
    ├── Video Title.mp4
    ├── Video Title.wav
    └── Video Title.txt
```

## Examples

### Download YouTube video:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"output":"./my_videos"}'
```

### Download Bilibili video:
```bash
python scripts/video_parser.py '{"urls":["https://www.bilibili.com/video/BV1xx411c7XD"],"output":"./downloads"}'
```

### Download TikTok video:
```bash
python scripts/video_parser.py '{"urls":["https://www.tiktok.com/@username/video/1234567890"],"output":"./tiktok"}'
```

### Download multiple videos from different sites:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO1","https://www.bilibili.com/video/BV1xx","https://twitter.com/user/status/123"],"output":"./videos"}'
```

### Download Twitch clip:
```bash
python scripts/video_parser.py '{"urls":["https://www.twitch.tv//channel/clip/ClipName"],"output":"./clips"}'
```

### Download only (without transcription):
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","transcribe":false}'
```

### Generate SRT subtitle:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","subtitle_format":"srt"}'
```

### Generate VTT subtitle:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","subtitle_format":"vtt"}'
```

### Download video with built-in subtitles:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","download_subtitle":true}'
```

### Download with custom Faster Whisper model:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","model":"large"}'
```

### Skip transcription if subtitle already exists:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","overwrite_subtitle":false}'
```

### Download video with Cookie:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookie":"sid=xxx; token=yyy"}'
```

### Download video with cookies from browser:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiesfrombrowser":"chrome"}'
```

### Download video with cookie file:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiefile":"/path/to/cookies.txt"}'
```

### Only download subtitles:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","onlysubtitle":true,"cookiefile":"/path/to/cookies.txt"}'
```

`cookiefile` usage:
- Install the **Get cookies.txt LOCALLY** Chrome extension first.  
  URL: <https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc?pli=1>
- Log in to the target website, then use the extension to export `cookies.txt` to your local machine.
- Set `cookiefile` to that local file path, for example:

```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiefile":"/Users/yourname/Downloads/cookies.txt"}'
```

## Troubleshooting

- **ffmpeg not found**: Install ffmpeg via `brew install ffmpeg` (macOS) or your system's package manager
- **Faster Whisper model download fails**: Models are downloaded from HuggingFace. Mainland China users need a VPN/proxy to download models. The default small model is ~75MB.
- **Download fails**: Some videos may be geo-restricted, age-gated, or unavailable. Check the video URL and try again.
- **Cookie/auth required**: Some sites need authentication. You can pass cookies via yt-dlp options if needed.

Popular in Design & Media

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.