From renoise
Downloads videos from YouTube, TikTok, Douyin, Bilibili, Instagram, XiaoHongShu and 1000+ platforms to MP4 using yt-dlp with agent-browser fallback for restricted content.
npx claudepluginhub arcocodes/renoise-plugins-official --plugin renoiseThis skill is limited to using the following tools:
Download videos from YouTube, TikTok, and other platforms to local MP4 files.
Download videos from 1000+ websites (YouTube, Bilibili, Twitter/X, TikTok, Vimeo, Instagram, Twitch, etc.) using yt-dlp. Use this skill whenever a user shares a video URL, asks to save or download a video, wants to extract audio from an online video, needs a specific quality like 1080p or 4K, or mentions downloading a playlist. Also trigger on "下载视频", "保存视频", "提取音频", or any URL from a supported video platform.
Downloads videos from social media URLs (YouTube, X/Twitter, Instagram, TikTok, etc.) using yt-dlp for local saving, transcription prep, or archiving.
Downloads videos from YouTube, Bilibili, Twitter, and other sites using yt-dlp. Extracts audio to MP3, downloads subtitles, selects quality, and handles playlists on video URL requests.
Share bugs, ideas, or general feedback.
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.
# 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'
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)agent-browser install)bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh '<URL>'
The script handles everything automatically:
yt-dQw4w9WgXcQ, tk-7571284267028729101, vid-aHR0cHM6Ly93d3)resources/references/<video_id>.mp4--cookies-from-browser chrome on failurefor URL in '<URL1>' '<URL2>' '<URL3>'; do
bash ${CLAUDE_SKILL_DIR}/scripts/download-video.sh "$URL"
done
| Output | Meaning |
|---|---|
ALREADY_EXISTS: <path> | File already downloaded, skipped |
DOWNLOADED: <path> | Download succeeded |
FAILED: <message> | Download failed (exit code 1) |
After a successful download, the user may want to:
Analyze the video — extract script, style, or rhythm:
node ${CLAUDE_PLUGIN_ROOT}/skills/gemini-gen/scripts/gemini.mjs --file <path> --mode video-script
Add to Material Pool — for use as reference material in video generation:
node ${CLAUDE_PLUGIN_ROOT}/skills/renoise-gen/scripts/material-ingest.mjs <path>
Suggest these options to the user after download completes.
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).
If the fallback script is unavailable, follow these steps:
Open GreenVideo:
agent-browser open "https://greenvideo.cc/en/"
Paste URL and parse:
agent-browser snapshot
agent-browser fill <input-ref> "<video-url>"
agent-browser click <start-button-ref>
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';
})()
"
Download and cleanup:
curl -L -o ~/Downloads/<filename>.mp4 "<extracted-video-url>"
agent-browser close
| Platform | Pattern | Example ID |
|---|---|---|
| YouTube | watch?v=, shorts/, embed/, youtu.be/ → 11-char ID | yt-dQw4w9WgXcQ |
| TikTok | 15+ digit numeric ID in URL | tk-7571284267028729101 |
| Other | Base64url of URL, first 16 chars | vid-aHR0cHM6Ly93d3 |
| Error | Solution |
|---|---|
HTTP Error 403 (TikTok/Douyin) | Script auto-retries with cookies. If still failing, use fallback script |
--max-filesize skipped | Video exceeds 200M limit. Download manually with -f 'best[height<=720]' |
is not a valid URL | Ensure URL is wrapped in single quotes |
Requested formats are incompatible | yt-dlp auto-transcodes, no action needed |
| Parse fails on GreenVideo | Check URL is valid and publicly accessible |
| No video URL in Nuxt state | Try clicking download button and check for <video> elements |
| Download fails (403) from GreenVideo | Video URLs expire quickly — extract and download immediately |