OpenParable
Skip to content
← Back to skills

Video Downloading

Documents
video-downloading

Video Downloading is an Agent Skill for documents published in the nirholas/XActions repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Download videos and GIFs from X/Twitter posts in the browser or via API. Single video, batch download, and quality selection. Use when users want to save or download Twitter/X videos.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/nirholas/XActions/blob/HEAD/skills/video-downloading/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/video-downloading, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Video Downloading

Download videos and GIFs from X/Twitter posts — no API key needed.

Script Selection

GoalFileNavigate to
Download video from current tweetsrc/videoDownloaderBrowser.jsTweet page (x.com/user/status/ID)
Batch download multiple videossrc/videoDownloaderBrowser.jsAny page
Download video info only (no save)src/videoDownloaderBrowser.jsTweet page
Download via script (non-browser)scripts/videoDownloader.jsN/A (run in console)
Download via APIapi/routes/video.jsPOST /api/video/download

Quick Start

  1. Navigate to a tweet with a video: x.com/user/status/123456
  2. Open DevTools (F12) → Console
  3. Paste src/videoDownloaderBrowser.js → Enter

Available Functions

After pasting src/videoDownloaderBrowser.js:

downloadCurrent()                   // Download video from current tweet page
downloadFromUrl('https://x.com/..') // Navigate to tweet URL and download
downloadGif()                       // Download GIF (GIFs are MP4 on X)
batchDownload(['url1', 'url2', ..]) // Download videos from multiple tweet URLs
getVideoInfo()                      // Show video metadata without downloading

Configuration

const CONFIG = {
  QUALITY: 'highest',       // 'highest', 'lowest', 'all'
  AUTO_DOWNLOAD: true,      // Auto-trigger browser download
  SHOW_ALL_QUALITIES: true  // Show all available quality options
};

Quality Options

SettingBehavior
'highest'Downloads best resolution (default)
'lowest'Downloads smallest file size
'all'Shows all available bitrates to choose from

Notes

  • Videos on X are served as MP4; GIFs are also stored as MP4
  • Quality options depend on what X uploaded — not all tweets have multiple qualities
  • Batch download respects delays between requests to avoid rate limits
  • getVideoInfo() shows tweet ID, author, and all available video URLs before committing to a download

Related Skills

  • content-posting — Upload and post your own videos
  • media-studio — Manage your uploaded media library
  • twitter-scraping — Scrape tweet metadata alongside video URLs