twt-dl-cli
v0.4.0
Published
The easiest way to download any Twitter video from CLI
Maintainers
Readme
Welcome to twt-dl-cli 👋
Download videos and photos from Twitter/X tweet URLs with the CLI.
Inspired by egoist/download-twitter-video: The easiest way to download any Twitter video.
Install
npm install -g twt-dl-cli@latestBuilt with
- jellydn/typescript-starter: Typescript starter project
- privatenumber/cleye: 👁🗨 cleye — The intuitive & typed CLI development tool for Node.js
- kevva/download: Download and extract files
- sindresorhus/ora: Elegant terminal spinner
- And ChatGPT :)
Usage
npx twt-dl-cli@latest --helpExample:
npx twt-dl-cli@latest https://twitter.com/mattpocockuk/status/1592130978234900484Download a Thread (Multiple URLs):
Pass multiple URLs to download videos/photos from several tweets. For a thread, supply each tweet URL; the CLI does not discover thread replies automatically.
npx twt-dl-cli@latest https://twitter.com/user/status/123 https://twitter.com/user/status/456
If a URL fails, the CLI reports it and continues with later URLs. The final exit code is 1 if any URL fails, or 0 if all URLs succeed. A tweet with no media is not a failure.
Library API
downloadVideo(url) now returns Promise<string[]>, not a single URL or undefined. It returns all media URLs for one tweet, or an empty array when the tweet has no media.
downloadFile(mediaUrl, outputFile?) returns Promise<WriteStream> only after the file finishes writing. It rejects on download or write errors. Without outputFile, it uses a unique filename in the current directory. An explicit output path is preserved and overwrites an existing file.
Author
👤 Huynh Duc Dung
Show your support
Give a ⭐️ if this project helped you!
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Contributor records are stored in .all-contributorsrc; the badge and table above are generated from those records. Keep the existing records when updating the table.
To recognize a confirmed contribution, comment on an issue or pull request with @all-contributors please add @USERNAME for CONTRIBUTION_TYPE. Replace the placeholders with the contributor's GitHub login and the types from the emoji key. Do not add unverified contributions.
A repository owner must install the All Contributors GitHub App for this repository if the bot does not respond. As a local alternative, run pnpm dlx all-contributors-cli generate to regenerate the README from the existing configuration, then review the diff before committing.

![IT Man - Tip #29 - How I create download Twitter URL with ChatGPT [Vietnamese]](https://i.ytimg.com/vi/jiC7EmKT64U/hqdefault.jpg)