twitter-media-downloader

📁 bossjones/boss-skills 📅 3 days ago
1
总安装量
1
周安装量
#53549
全站排名
安装命令
npx skills add https://github.com/bossjones/boss-skills --skill twitter-media-downloader

Agent 安装分布

openclaw 1

Skill 文档

Twitter/X Media Downloader

Download images and videos from X/Twitter using gallery-dl.

Quick Start

Run the download script with a Twitter/X URL:

uv run python scripts/download.py "https://x.com/username" --output ./downloads

Supported URL Types

  • Single tweets: https://x.com/user/status/1234567890
  • User timelines: https://x.com/username
  • User media: https://x.com/username/media
  • User likes: https://x.com/username/likes (requires auth)
  • Bookmarks: https://x.com/i/bookmarks (requires auth)
  • Lists: https://x.com/i/lists/1234567890

Authentication

For protected content (likes, bookmarks, private accounts), provide cookies:

uv run python scripts/download.py "URL" --cookies /path/to/cookies.txt

Or use browser cookies directly (recommended):

uv run python scripts/download.py "URL" --browser firefox

Note: Using --browser firefox is recommended as it automatically extracts cookies from your browser session.

Common Options

Option Description
--output DIR Output directory (default: ./downloads)
--cookies FILE Path to cookies.txt file
--browser NAME Extract cookies from browser (firefox, chrome, etc.)
--videos-only Download only videos
--images-only Download only images
--limit N Limit number of items to download
--retweets Include retweets when downloading user timeline
--replies Include replies when downloading user timeline
--json Output structured JSON with downloaded file paths

Examples

Download all media from a user:

uv run python scripts/download.py "https://x.com/NASA" --output ./nasa_media

Download a single tweet’s media:

uv run python scripts/download.py "https://x.com/user/status/1234567890"

Download only videos from a user (limit 50):

uv run python scripts/download.py "https://x.com/username" --videos-only --limit 50

Download bookmarks with Firefox cookies:

uv run python scripts/download.py "https://x.com/i/bookmarks" --browser firefox

JSON Output Mode

For programmatic use (e.g., integration with other skills), use --json to get structured output:

uv run python scripts/download.py "https://x.com/user/status/123" --json --videos-only

Output format:

{
  "files": ["/path/to/downloads/twitter_user_123_1.mp4"],
  "tweet_id": "123",
  "output_dir": "/path/to/downloads",
  "url": "https://x.com/user/status/123",
  "success": true,
  "error": null
}

This is used by the twitter-to-reel skill to automatically download videos before creating reels.

Output Structure

Files are saved with the following naming pattern:

{output_dir}/twitter_{username}_{tweet_id}_{num}.{ext}

Troubleshooting

  • Rate limiting: Add delays between requests with --sleep 2
  • Login required: Use --cookies or --browser for authentication
  • Missing videos: Ensure yt-dlp is installed for video downloads