Skip to content
advanced-video-downloader logo

Advanced Video Downloader

advanced-video-downloader

Download and transcribe videos from YouTube, Bilibili, TikTok and 1000+ platforms. Use when user requests video download, transcription (转录/字幕提取), or converting video to text/markdown. Supports quality selection, audio extraction, playlist downloads, cookie-based authentication, and AI-powered tr...

SKILL.md

Full skill instructions

Advanced Video Downloader

Overview

This skill provides comprehensive video downloading and transcription capabilities from 1000+ platforms including YouTube, Bilibili, TikTok, Twitter, Instagram, and more. It combines:

  • yt-dlp: Powerful video downloading tool
  • SiliconFlow API: Free AI-powered transcription to convert videos to Markdown

When to Use This Skill

Activate this skill when the user:

  • Explicitly requests to download a video ("download this video", "下载视频")
  • Provides video URLs from any platform
  • Mentions saving videos for offline viewing
  • Wants to extract audio from videos
  • Needs to download multiple videos or playlists
  • Asks about video quality options
  • Requests video transcription ("转录视频", "提取字幕", "视频转文字")
  • Wants to convert video/​audio to text or Markdown
  • Asks to download AND transcribe a video in one workflow

Core Capabilities

1. Single Video Download

Download individual videos from any supported platform with automatic quality selection.

Example usage:

User: "Download this YouTube video: https://youtube.com/​watch?v=abc123"
User: "下载这个B站视频: https://bilibili.com/​video/​BV1xxx"

2. Batch & Playlist Download

Download multiple videos or entire playlists at once.

Example usage:

User: "Download all videos from this playlist"
User: "Download these 3 videos: [URL1], [URL2], [URL3]"

3. Audio Extraction

Extract audio only from videos, saving as MP3 or M4A.

Example usage:

User: "Download only the audio from this video"
User: "Convert this video to MP3"

4. Quality Selection

Choose specific video quality (4K, 1080p, 720p, etc.).

Example usage:

User: "Download in 4K quality"
User: "Get the 720p version to save space"

5. Video/​Audio Transcription

Convert video or audio files to Markdown text using SiliconFlow's free AI transcription API.

Example usage:

User: "Transcribe this video to text" / "转录这个视频"
User: "Download and transcribe this YouTube video"
User: "将这个音频转成文字"
User: "Extract transcript from this MP4 file"

Supported formats:

  • Audio: MP3, WAV, M4A, FLAC, AAC, OGG, OPUS, WMA
  • Video: MP4, AVI, MOV, MKV, FLV, WMV, WEBM, M4V

Response Pattern

When a user requests video download:

Step 1: Identify the Platform and URL(s)

# Extract video URL(s) from user message
# Identify platform: YouTube, Bilibili, TikTok, etc.

Step 2: Check Tool Availability

# Check if yt-dlp is installed
yt-dlp --version

Step 3: Select Appropriate yt-dlp Command

Based on platform and requirements:

  • YouTube, Twitter, Instagram, TikTok: Basic command works
  • Bilibili: Basic command works for most videos
  • Quality selection: Use -f with height filter
  • Audio only: Use -x --audio-format mp3
  • Playlists: Use playlist-specific output template

Step 4: Execute Download

Use yt-dlp directly with appropriate options:

# Basic download (best quality MP4)
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/​best[ext=mp4]/​best" --merge-output-format mp4 -o "%(title)s.%(ext)s" "VIDEO_URL"

# Specific quality (1080p)
yt-dlp -f "bestvideo[height<=1080]+bestaudio/​best[height<=1080]" --merge-output-format mp4 -o "%(title)s.%(ext)s" "VIDEO_URL"

# Audio only (MP3)
yt-dlp -x --audio-format mp3 -o "%(title)s.%(ext)s" "VIDEO_URL"

# With cookies file (for protected content)
yt-dlp --cookies cookies.txt -o "%(title)s.%(ext)s" "VIDEO_URL"

# Playlist download
yt-dlp -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "PLAYLIST_URL"

Step 5: Report Results

After download completes, report:

  • ✅ Video title and duration
  • ✅ File size and format
  • ✅ Save location
  • ✅ Download speed and time taken
  • ⚠️ Any warnings or quality limitations

Example output:

✅ Downloaded: "Video Title Here"
   Duration: 15:30
   Quality: 1080p MP4
   Size: 234 MB
   Location: ./​Video Title Here.mp4
   Time: 45 seconds at 5.2 MB/​s

Transcription Response Pattern

When a user requests video/​audio transcription:

Step 1: Check Prerequisites

# Verify SiliconFlow API key is available
echo $SILICONFLOW_API_KEY
# Or user must provide via --api-key parameter

API Key Setup:

Step 2: Validate File

Ensure the file exists and is a supported format (audio or video).

Step 3: Execute Transcription

Use the bundled script scripts/​transcribe_siliconflow.py:

# Basic transcription
python scripts/​transcribe_siliconflow.py --file video.mp4 --api-key sk-xxx

# With custom output path
python scripts/​transcribe_siliconflow.py --file audio.mp3 --output transcript.md --api-key sk-xxx

# Using environment variable for API key
python scripts/​transcribe_siliconflow.py --file video.mp4

Step 4: Report Transcription Results

✅ Transcription complete!
   File: video.mp4
   Output: 2025-01-15-video.md
   Size: 12.5 KB

   Preview:
   --------------------------------------------------
   [First 200 characters of transcription...]
   --------------------------------------------------

Combined Workflow: Download + Transcribe

For requests like "Download and transcribe this video":

# Step 1: Download video
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/​best" --merge-output-format mp4 -o "%(title)s.%(ext)s" "VIDEO_URL"

# Step 2: Transcribe the downloaded file
python scripts/​transcribe_siliconflow.py --file "Downloaded Video Title.mp4" --api-key sk-xxx

Platform-Specific Notes

YouTube

  • Fully supported by yt-dlp
  • No authentication needed for public videos
  • Supports all quality levels including 4K/​8K

Bilibili

  • Supported by yt-dlp
  • High-quality downloads may require login cookies
  • Use --cookies with cookies.txt for member-only content

Other Platforms

  • Most platforms work well with yt-dlp
  • Check references/​supported_platforms.md for full list

Handling Cookies for Protected Content

For platforms requiring authentication (Bilibili VIP, member-only content, etc.):

Method 1: Export Cookies File (Recommended)

# Use browser extension "Get cookies.txt LOCALLY"
# Export cookies.txt, then:
yt-dlp --cookies cookies.txt "VIDEO_URL"

Method 2: Manual Cookies File

# Create cookies.txt in Netscape format
# Use browser extension "Get cookies.txt LOCALLY"
# Then use with yt-dlp
yt-dlp --cookies cookies.txt "VIDEO_URL"

Troubleshooting

Issue: Video quality lower than expected

Solution:

  1. Check if platform requires login for HD
  2. Use --cookies cookies.txt for authenticated access
  3. Explicitly specify quality with -f parameter

Issue: Download very slow

Solution:

  1. Check internet connection
  2. Try different time of day (peak hours affect speed)
  3. Use --concurrent-fragments for faster downloads

Issue: "Video unavailable" or geo-restricted

Solution:

  1. Video may be region-locked
  2. Use proxy/​VPN if legally permitted
  3. Check if video is still available on platform

Issue: Transcription API key error

Solution:

  1. Verify API key starts with sk-
  2. Get free key from: https://cloud.siliconflow.cn/account/ak
  3. Set environment variable: SILICONFLOW_API_KEY=sk-xxx

Issue: Transcription returns empty text

Solution:

  1. Check if audio/​video has clear speech
  2. Verify file format is supported
  3. File may be too short or contain only music

Common Commands

Quality Presets

# 4K (2160p)
yt-dlp -f "bestvideo[height<=2160]+bestaudio/​best[height<=2160]" --merge-output-format mp4 "VIDEO_URL"

# 1080p (Full HD)
yt-dlp -f "bestvideo[height<=1080]+bestaudio/​best[height<=1080]" --merge-output-format mp4 "VIDEO_URL"

# 720p (HD)
yt-dlp -f "bestvideo[height<=720]+bestaudio/​best[height<=720]" --merge-output-format mp4 "VIDEO_URL"

# 480p (SD)
yt-dlp -f "bestvideo[height<=480]+bestaudio/​best[height<=480]" --merge-output-format mp4 "VIDEO_URL"

Audio Extraction

# Extract as MP3
yt-dlp -x --audio-format mp3 -o "%(title)s.%(ext)s" "VIDEO_URL"

# Extract as M4A (better quality)
yt-dlp -x --audio-format m4a -o "%(title)s.%(ext)s" "VIDEO_URL"

Batch Downloads

# Download multiple URLs from file
yt-dlp -a urls.txt

# Download playlist with custom naming
yt-dlp -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "PLAYLIST_URL"

# Download channel's videos
yt-dlp -o "%(uploader)s/%(title)s.%(ext)s" "CHANNEL_URL"

Bundled Resources

Configuration

.env.example

Template for environment variables. Copy to .env and add your SiliconFlow API key.

Scripts

scripts/​transcribe_siliconflow.py

AI-powered transcription script using SiliconFlow's free API.

Usage:

python scripts/​transcribe_siliconflow.py --file <audio/​video> [--api-key <key>] [--output <path>]

Parameters:

  • --file, -f: Input audio/​video file (required)
  • --api-key, -k: SiliconFlow API key (or use SILICONFLOW_API_KEY env var)
  • --output, -o: Output markdown file path (default: YYYY-MM-DD-filename.md)
  • --model, -m: Model to use (default: FunAudioLLM/​SenseVoiceSmall)

References

references/​supported_platforms.md

Comprehensive list of 1000+ supported platforms with platform-specific notes and requirements.

references/​quality_formats.md

Detailed explanation of video formats, codecs, and quality selection strategies.

Tips for Best Results

  1. Always specify quality if user has preference - saves bandwidth and storage
  2. Batch downloads save time - use playlist URLs when possible
  3. Audio extraction is faster - recommend for podcast/​music content
  4. Check file size before downloading - warn user for very large files (>1GB)
  5. Transcription works best with clear audio - consider extracting audio first for better results

Sources

More skills from diegosouzapw

accessibility logo
diegosouzapw/awesome-omni-skill

accessibility

Accessibility guidelines for VS Code features — covers accessibility help dialogs, accessible views, verbosity settings, accessibility signals, ARIA alerts/status announcements, keyboard navigation, and ARIA labels/roles. Applies to both new interactive UI surfaces and updates to existing feature...

62 1
View
mermaid-diagrams logo
diegosouzapw/awesome-omni-skill

mermaid-diagrams

Mermaid diagram creation for flowcharts, sequences, ERDs, and more. Generate diagrams from text in markdown files. Use for documentation, architecture diagrams, and visual representations. Triggers on mermaid, flowchart, sequence diagram, ERD, entity relationship, gantt chart, pie chart, class di...

62 1
View
tauri2-react-rust logo
diegosouzapw/awesome-omni-skill

tauri2-react-rust

Guides development of cross-platform desktop apps with Tauri 2, TypeScript, React, and Rust. Use when building Tauri apps, implementing IPC, designing Rust backend or TypeScript/React frontend, when researching or cloning a website (open site, snapshot elements), when verifying local dev or built...

62 1
View
fp-ts-errors logo
diegosouzapw/awesome-omni-skill

fp-ts-errors

Handle errors as values using fp-ts Either and TaskEither for cleaner, more predictable TypeScript code. Use when implementing error handling patterns with fp-ts.

62 0
View
ring:pre-dev-research logo
diegosouzapw/awesome-omni-skill

ring:pre-dev-research

Gate 0 research phase for pre-dev workflow. Dispatches 3 parallel research agents to gather codebase patterns, external best practices, and framework documentation BEFORE creating PRD/TRD. Outputs research.md with file:line references.

62 0
View
create-assistant logo
diegosouzapw/awesome-omni-skill

create-assistant

Create and configure Vapi voice AI assistants with models, voices, transcribers, tools, hooks, and advanced settings. Use when building voice agents, phone bots, customer support assistants, or any conversational AI that handles phone or web calls.

62 0
View
codex-headless logo
diegosouzapw/awesome-omni-skill

codex-headless

Delegiere Aufgaben an OpenAI Codex CLI im Headless-Mode. Nutzt ChatGPT Subscription (KEIN API Key). Nur Workspace-Zugriff, KEIN System-Zugriff. Auto-Accept mit --full-auto. Web-Recherche mit --search.

62 0
View
social-media-scheduler logo
diegosouzapw/awesome-omni-skill

social-media-scheduler

Generate a full week of social media content for any topic. Outputs platform-optimized posts for Twitter/X, LinkedIn, and Instagram with hashtags and posting times.

62 0
View
Data Privacy Compliance logo
diegosouzapw/awesome-omni-skill

Data Privacy Compliance

Data privacy and regulatory compliance specialist for GDPR, CCPA, HIPAA, and international data protection laws. Use when implementing privacy controls, conducting data protection impact assessments, ensuring regulatory compliance, or managing data subject rights. Expert in consent management, da...

62 0
View
triple-review logo
diegosouzapw/awesome-omni-skill

triple-review

Reviews a task using the TRIPLE protocol, as the review agent.

62 0
View
Tech Stack & Architecture Decision logo
diegosouzapw/awesome-omni-skill

Tech Stack & Architecture Decision

Define and document the technology stack and architecture decisions for a project. Use when the user needs to choose a tech stack, make architecture decisions, define infrastructure choices, or document technology selections. Triggers on requests like "define the tech stack", "choose technologies...

62 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View