agentsclimarketplace

Video download

Skill ArcoCodes/renoise-plugins-official/skills/video-download

Downloads videos from YouTube, TikTok, Douyin, Bilibili, Instagram, XiaoHongShu and 1000+ platforms. Primary: yt-dlp. Fallback: agent-browser + GreenVideo for Douyin/TikTok when yt-dlp fails. Use when user says "download video", "save video", "grab video", "watermark-free download", or pastes a video URL. Do NOT use for AI video generation or video editing.From its SKILL.md

Install
npx -y skills add ArcoCodes/renoise-plugins-official --skill video-download

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

4.9 KB, as published. Nobody here has run it

Video Download

Download videos from YouTube, TikTok, and other platforms to local MP4 files. Handles format selection, platform-prefixed dedup, TikTok cookie fallback, and Douyin/TikTok browser-based fallback automatically.

Quick Start

# Download any video
bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh '<URL>'

# Download to a custom directory
bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh '<URL>' 'path/to/output'

Prerequisites

yt-dlp --version   # Required. Install: brew install yt-dlp (macOS) or pip install yt-dlp

Optional (for Douyin/TikTok fallback):

  • agent-browser installed globally (npm install -g agent-browser)
  • Chrome for Testing installed (agent-browser install)

Usage

Single Video

bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh '<URL>'

The script handles everything automatically:

  • Extracts a platform-prefixed video ID (yt-dQw4w9WgXcQ, tk-7571284267028729101, vid-aHR0cHM6Ly93d3)
  • Saves to resources/references/<video_id>.mp4
  • Skips download if file already exists (dedup)
  • Retries TikTok downloads with --cookies-from-browser chrome on failure
  • Removes zero-byte leftovers from interrupted downloads

Batch Download

for URL in '<URL1>' '<URL2>' '<URL3>'; do
  bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh "$URL"
done

Script Output

OutputMeaning
ALREADY_EXISTS: <path>File already downloaded, skipped
DOWNLOADED: <path>Download succeeded
FAILED: <message>Download failed (exit code 1)

Post-Download Actions

After a successful download, the user may want to:

  1. Analyze the video — extract script, style, or rhythm:

    renoise analyze <path> --target video --language <user-language> --json
    
  2. Add to Material Pool — for use as reference material in video generation:

    node ${CLAUDE_PLUGIN_ROOT}/skills/renoise-cli/scripts/material-ingest.mjs <path>
    

Suggest these options to the user after download completes.

Douyin/TikTok Fallback

When yt-dlp fails for Douyin or TikTok URLs (common with 403 errors or region-restricted content), use the one-step browser-based fallback:

bash ${CLAUDE_SKILL_DIR}/scripts/download-fallback.sh '<douyin-or-tiktok-url>' 'output-dir'

This script wraps the full agent-browser + GreenVideo flow into a single command (open → paste URL → parse → extract video URL → download → close).

Manual Fallback Steps

If the fallback script is unavailable, follow these steps:

  1. Open GreenVideo:

    agent-browser open "https://greenvideo.cc/en/"
    
  2. Paste URL and parse:

    agent-browser snapshot
    agent-browser fill <input-ref> "<video-url>"
    agent-browser click <start-button-ref>
    
  3. Wait 5 seconds, then extract video URL:

    agent-browser eval "
    (function() {
      const nuxtData = window.__NUXT__;
      if (!nuxtData) return 'ERROR: No Nuxt data found';
      const str = JSON.stringify(nuxtData);
      const mp4Match = str.match(/https?:[^\\\"]*(?:mp4|video|play|aweme|douyinvod|bilivideo)[^\\\"]{0,500}/g);
      if (mp4Match && mp4Match.length > 0) return mp4Match[0];
      return 'ERROR: No video URL found in Nuxt state';
    })()
    "
    
  4. Download and cleanup:

    curl -L -o ~/Downloads/<filename>.mp4 "<extracted-video-url>"
    agent-browser close
    

Video ID Logic

PlatformPatternExample ID
YouTubewatch?v=, shorts/, embed/, youtu.be/ → 11-char IDyt-dQw4w9WgXcQ
TikTok15+ digit numeric ID in URLtk-7571284267028729101
OtherBase64url of URL, first 16 charsvid-aHR0cHM6Ly93d3

Troubleshooting

ErrorSolution
HTTP Error 403 (TikTok/Douyin)Script auto-retries with cookies. If still failing, use fallback script
--max-filesize skippedVideo exceeds 200M limit. Download manually with -f 'best[height<=720]'
is not a valid URLEnsure URL is wrapped in single quotes
Requested formats are incompatibleyt-dlp auto-transcodes, no action needed
Parse fails on GreenVideoCheck URL is valid and publicly accessible
No video URL in Nuxt stateTry clicking download button and check for <video> elements
Download fails (403) from GreenVideoVideo URLs expire quickly — extract and download immediately

Keep looking

Skills are one crate of 616,272. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.