Downloads · 30 days
0
Changeyan/youtube-downloader
youtube-downloader is a machine learning model from Changeyan. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
A web-based YouTube video downloader built with Node.js and yt-dlp. Paste a URL, browse available formats, and download videos in various resolutions or extract audio as MP3.
Downloads · 30 days
0
Access
Public
Updated Jul 24, 2026
Repo size
99.8 MB
Likes
0
Public
Click a slice to open those files.
.mp499.8 MB · 97%
From the Hugging Face model README
A web-based YouTube video downloader built with Node.js and yt-dlp. Paste a URL, browse available formats, and download videos in various resolutions or extract audio as MP3.
| Layer | Technology |
|---|---|
| Backend | Node.js + Express |
| Video Engine | yt-dlp (via yt-dlp-wrap) |
| Frontend | Vanilla HTML/CSS/JS (single page) |
choco install yt-dlppip install yt-dlpbrew install yt-dlpsudo apt install yt-dlpAfter installing, verify with
yt-dlp --version. The server uses theyt-dlpcommand on PATH by default. To use a custom path, editYT_DLP_PATHin server.js.
# Clone or download this repository
cd youtube-downloader
# Install Node.js dependencies
npm install
npm start
Open http://localhost:3000 in your browser.
To change the port:
PORT=8080 npm start
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/info?url= | Extract video metadata and available formats |
| POST | /api/download | Start a download (body: {url, format}) |
| GET | /api/status/:jobId | Poll download progress |
| GET | /api/downloaded | List all downloaded files |
| GET | /api/file/:filename | Download / serve a saved file |
| DELETE | /api/file/:filename | Delete a saved file |
youtube-downloader/
├── server.js # Express server + yt-dlp integration
├── public/
│ └── index.html # Single-page frontend (UI + client JS)
├── downloads/ # Downloaded files stored here (auto-created)
├── package.json
└── README.md
MIT