video-downloading

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.

139 stars

Best use case

video-downloading is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using video-downloading should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/video-downloading/SKILL.md --create-dirs "https://raw.githubusercontent.com/nirholas/XActions/main/skills/video-downloading/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/video-downloading/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How video-downloading Compares

Feature / Agentvideo-downloadingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Video Downloading

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

## Script Selection

| Goal | File | Navigate to |
|------|------|-------------|
| Download video from current tweet | `src/videoDownloaderBrowser.js` | Tweet page (`x.com/user/status/ID`) |
| Batch download multiple videos | `src/videoDownloaderBrowser.js` | Any page |
| Download video info only (no save) | `src/videoDownloaderBrowser.js` | Tweet page |
| Download via script (non-browser) | `scripts/videoDownloader.js` | N/A (run in console) |
| Download via API | `api/routes/video.js` | `POST /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`:

```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

```js
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

| Setting | Behavior |
|---------|----------|
| `'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

Related Skills

xactions-mcp-server

139
from nirholas/XActions

Free MCP server providing 68+ tools for AI agents to automate X/Twitter. Scrapes profiles, followers, tweets. Posts, follows, likes, retweets, downloads videos, analyzes sentiment, monitors brands, manages DMs, runs workflows, and more. Uses local Puppeteer -- no API keys or payments required. Compatible with Claude Desktop, Cursor, Windsurf, VS Code. Use when setting up or using AI agent Twitter automation via MCP.

xactions-cli

139
from nirholas/XActions

Command-line interface for scraping X/Twitter data, managing MCP server config, and running automation. Scrapes profiles, followers, tweets, search results, and more from terminal. Outputs text, JSON, or CSV. Uses Puppeteer stealth. Use when running Twitter operations from command line or automated pipelines.

x402-payments

139
from nirholas/XActions

Enable and integrate x402 crypto payment protocol for XActions API access. Supports multi-chain, multi-token payments for pay-per-use API calls. Use when users want to pay for XActions operations with crypto or integrate x402 into their own agent/app.

x-pro-management

139
from nirholas/XActions

Navigate to X Pro (TweetDeck), set up monitoring columns, and manage multi-column view. Use when users want to use X Pro / TweetDeck features or set up a multi-column dashboard.

webhooks

139
from nirholas/XActions

Create, manage, and test webhooks in XActions. Get notified via HTTP when automation jobs complete, followers change, or operations finish. Use when users want to integrate XActions events into external systems.

viral-thread-generation

139
from nirholas/XActions

Researches trending topics and competitor threads to generate high-engagement thread content with optimized hooks, value ladders, and calls to action. Use when creating threads or planning viral content.

topic-management

139
from nirholas/XActions

Browse, follow, and unfollow X Topics. Manage your followed topics list and discover new ones by keyword. Use when users want to follow or unfollow topics on X, or manage their topic feed.

timeline-viewing

139
from nirholas/XActions

Switch between For You / Following timelines, auto-scroll and collect posts, scrape timeline data, and export as JSON. Use when users want to browse, collect, or export tweets from their X timeline.

teams-management

139
from nirholas/XActions

Create and manage teams in XActions — invite members, assign roles, and collaborate on automation tasks. Use when users want to set up multi-user access or team-based account management.

spaces-live

139
from nirholas/XActions

Interacts with X/Twitter Spaces (live audio) including joining rooms, scraping metadata, discovering live or scheduled Spaces, and managing Space participation. Use when finding Spaces, scraping Space data, or interacting with live audio features on X.

settings-privacy

139
from nirholas/XActions

Manages X/Twitter account settings and privacy controls including protected tweets, muted words, content filtering, notification preferences, and account configuration. Use when changing privacy settings, managing muted words, or configuring account preferences.

saved-searches

139
from nirholas/XActions

Create, manage, and run saved searches on X/Twitter. Save search queries, list saved searches, delete them, and run them to see fresh results. Use when users want to save or manage search queries on X.