Install
openclaw skills install clip-mediaExtract media (videos, photos, GIFs, audio) from social media URLs using yt-dlp. Supports 1,872+ platforms including YouTube, TikTok, Instagram, X/Twitter, F...
openclaw skills install clip-media⚠️ Security warnings before use:
--cookies-from-browser) exposes active session tokens for any platform you're logged into⚠️ Before any extraction: Confirm the content is not private, paid, or sensitive. If over 50 MB, warn the user that the file will be uploaded to a public host.
node /home/jarvis/.openclaw/workspace/skills/clip/extract.js <url> [options]
| Flag | Description |
|---|---|
--output-dir <dir> | Save location (default: /tmp/media-share) |
--title | Return title/description only, no download |
--info | Return full metadata as JSON |
--test | Validate URL without downloading |
--upload | Force cloud upload even for small files |
--cloud=<provider> | Cloud provider: tmpfiles or transfer |
--no-direct-send | Always return path, never auto-send |
--list-sites | Show supported platforms |
--list-types | Show what media a URL contains |
# Download media (fastest path)
node /home/jarvis/.openclaw/workspace/skills/clip/extract.js "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Get title only (no download, instant)
node /home/jarvis/.openclaw/workspace/skills/clip/extract.js "https://www.instagram.com/p/abc123/" --title
# Check what's in a URL before downloading
node /home/jarvis/.openclaw/workspace/skills/clip/extract.js "https://www.tiktok.com/@user/video/123" --list-types
# Show supported sites
node /home/jarvis/.openclaw/workspace/skills/clip/extract.js --list-sites
yt-dlp: 1,872 extractors — covers essentially every major media platform on the internet.
YouTube, TikTok, Instagram, X/Twitter, Facebook, Reddit, Twitch, Vimeo, Dailymotion, Rumble, Peertube, Bilibili, Niconico, SoundCloud, Bandcamp, Pinterest, Imgur, Tumblr, Flickr, Bluesky, Telegram, Kick, Odysee, CNN, BBC, Al Jazeera, TED, Khan Academy, Udemy, Crunchyroll, HiDive, and 1,800+ more.
--upload → Forces cloud upload even for smaller files⚠️ Both providers are public and third-party. Uploaded files are accessible to anyone with the link.
| Provider | Max Size | Notes |
|---|---|---|
tmpfiles | 50 MB | Simple, no signup, auto-delete |
transfer | Unlimited | transfer.sh, 30-day retention |
Always warn the user before uploading to these providers.
⚠️ Browser cookie access exposes active session tokens for every platform you're logged into.
Some platforms require cookies for full access:
| Platform | Needs cookies? |
|---|---|
| Sometimes (private content, full resolution) | |
| X / Twitter | Sometimes (rate limits, some content) |
| Patreon | Yes (paid content) |
| OnlyFans | Yes |
| Fanvue / Fansly | Yes |
| Netflix / HBO / Disney+ | Via browser cookies |
| YouTube | Rarely (age-restricted content) |
Before using --cookies-from-browser:
--cookies-from-browser with paid/sensitive platforms unless the user explicitly consents to the riskyt-dlp --dump-json detects the platform and media typeyt-dlp -o <path> grabs the highest quality versionyt-dlp (installed) — 1,872 extractorsffmpeg (installed) — format conversioncurl (installed) — cloud uploadsWhen a URL returns no media, the script returns the title/description. The agent should:
--cookies-from-browser chrome if the platform may require authgeneric extractor handles many embedded video players not explicitly listed