Skip to content

Download Support

OpenCLI supports downloading images, videos, and articles from supported platforms.

Supported Platforms

PlatformContent TypesNotes
xiaohongshuImages, VideosDownloads all media from a note
bilibiliVideosRequires yt-dlp installed
twitterImages, VideosDownloads from user media tab or single tweet
doubanImagesDownloads poster / still image lists from movie subjects
zhihuArticles (Markdown)Exports articles with optional image download
weixinArticles (Markdown)Exports WeChat Official Account articles

Prerequisites

For video downloads from streaming platforms, install yt-dlp:

bash
# Install yt-dlp
pip install yt-dlp
# or
brew install yt-dlp

Usage Examples

bash
# Download images/videos from Xiaohongshu note
opencli xiaohongshu download --note-id abc123 --output ./xhs

# Download Bilibili video (requires yt-dlp)
opencli bilibili download --bvid BV1xxx --output ./bilibili
opencli bilibili download --bvid BV1xxx --quality 1080p

# Download Twitter media from user
opencli twitter download elonmusk --limit 20 --output ./twitter

# Download single tweet media
opencli twitter download --tweet-url "https://x.com/user/status/123" --output ./twitter

# Download Douban posters / stills
opencli douban download 30382501 --output ./douban

# Export Zhihu article to Markdown
opencli zhihu download "https://zhuanlan.zhihu.com/p/xxx" --output ./zhihu

# Export with local images
opencli zhihu download "https://zhuanlan.zhihu.com/p/xxx" --download-images

# Export WeChat article to Markdown
opencli weixin download --url "https://mp.weixin.qq.com/s/xxx" --output ./weixin

Pipeline Step (YAML Adapters)

The download step can be used in YAML pipelines:

yaml
pipeline:
  - fetch: https://api.example.com/media
  - download:
      url: ${{ item.imageUrl }}
      dir: ./downloads
      filename: ${{ item.title | sanitize }}.jpg
      concurrency: 5
      skip_existing: true

Released under the Apache-2.0 License.