Download Tools for ComfyUI
Comprehensive media downloading and web scraping nodes for ComfyUI. Download from 1000+ websites including Instagram, Reddit, Twitter, YouTube, TikTok using gallery-dl,…
Nodes (3)
Download Tools for ComfyUI
ComfyUI custom nodes for downloading media from 1000+ websites including Instagram, Reddit, Twitter, YouTube, TikTok, and more.
🎉 Features
-
Gallery-dl Node - Download images and videos from 100+ websites
- Instagram, Reddit, Twitter/X, DeviantArt, Pixiv, and more
- Resolution filtering - Skip small images (default: 768px minimum)
- Supports authentication via config file or browser cookies
- Automatic file organization
- Download archive to avoid duplicates
- Persistent config paths - Paths are remembered between sessions
- Configurable timeout - Up to 1 hour for large downloads
-
Web Image Scraper Node - Extract images from any website via Playwright
- 25+ site-specific handlers for optimised extraction
- Automatic full-resolution image detection (skips thumbnails)
- Multi-page pagination and infinite-scroll support
- Spoiler / hidden-content auto-reveal (IPS forums)
- Video link collection (YouTube / Vimeo) for use with yt-dlp
- Duplicate detection via perceptual hashing
- Configurable minimum dimensions, parallel downloads
-
Yt-dlp Node - Download videos and audio from 1800+ platforms
- YouTube, TikTok, Vimeo, Twitch, and more
- Multiple quality options
- Audio extraction support
- Playlist support
- Authentication via cookies or credentials
📺 Yt-dlp Supported Sites (Major Platforms)
The yt-dlp node supports 1800+ websites. Here are the most popular ones:
Video Platforms
| Platform | Features | Auth Required | |----------|----------|---------------| | YouTube | Videos, playlists, channels, shorts, live streams, music | Optional (for age-restricted/private) | | Vimeo | Videos, albums, channels, on-demand, showcases | Optional (for private content) | | Twitch | VODs, clips, live streams | Optional | | TikTok | Videos, user profiles, collections | No | | Dailymotion | Videos, playlists, user content | Optional | | Facebook | Videos, reels, ads | No | | Instagram | Videos, reels, stories | No (use gallery-dl for images) | | Twitter/X | Videos, spaces, broadcasts | No | | Reddit | Video posts | No | | Rumble | Videos, channels | No | | Kick | VODs, clips, live streams | No | | Odysee/LBRY | Videos, channels, playlists | No |
Streaming Services (May Require Subscription)
| Platform | Notes | |----------|-------| | Crunchyroll | Anime streaming | | Nebula | Creator platform | | CuriosityStream | Documentaries | | Dropout | Comedy streaming | | Patreon | Creator videos | | Floatplane | Tech creator content |
Music & Audio
| Platform | Features | |----------|----------| | SoundCloud | Tracks, playlists, user content | | Bandcamp | Albums, tracks | | Mixcloud | Mixes, playlists | | Audiomack | Tracks, albums | | Spotify | Podcasts only (not music) | | Apple Podcasts | Podcast episodes |
News & Media
| Platform | Notes | |----------|-------| | BBC iPlayer | UK content | | PBS | US public broadcasting | | CBS News | News clips | | NBC | News and shows | | CNN | News clips | | ESPN | Sports clips | | Arte | European culture |
Educational
| Platform | Notes | |----------|-------| | Khan Academy | Free courses | | TED | Talks and playlists | | Udemy | Requires login | | LinkedIn Learning | Requires subscription | | Coursera | Some content |
Other Popular Sites
| Platform | Type | |----------|------| | Bilibili | Chinese video platform | | NicoNico | Japanese video platform | | VK | Russian social network | | Weibo | Chinese social media | | Archive.org | Internet Archive | | Dropbox | Shared videos | | Google Drive | Shared videos | | Steam | Game trailers | | Imgur | Video content |
Full List
For the complete list of 1800+ supported sites, see the official yt-dlp supported sites.
Site-Specific Authentication
Some sites work better with authentication:
# Using .netrc file (recommended for security)
--netrc
# Using username/password directly
--username YOUR_EMAIL --password YOUR_PASSWORD
# Using browser cookies
--cookies-from-browser firefox
Tip: For sites like Vimeo, YouTube (age-restricted), or any subscription service, authentication unlocks more content.
🌐 Web Image Scraper – Site Handlers
The Web Image Scraper node ships with 25+ site-specific handlers that understand each site's DOM structure and extract full-resolution images automatically. A generic handler covers everything else.
| Handler | Sites | Key Features |
|---------|-------|--------------|
| BellazonHandler | bellazon.com (IPS / Invision Community forums) | Full-res from <a> hrefs (not thumbnails); auto-paginate all topic pages; opens spoiler / hidden-content blocks; collects YouTube & Vimeo video links |
| InstagramHandler | instagram.com | Posts, reels, stories; cookie auth |
| RedditHandler | reddit.com | Gallery posts, age-gate bypass |
| BskyHandler | bsky.app | Bluesky AT Protocol API |
| PinterestHandler | pinterest.com | Pin boards, infinite scroll |
| FlickrHandler | flickr.com | Original-size downloads |
| DeviantArtHandler | deviantart.com | Full-resolution deviations |
| ArtStationHandler | artstation.com | Project galleries |
| BehanceHandler | behance.net | Project modules |
| 500pxHandler | 500px.com | Photo pages |
| UnsplashHandler | unsplash.com | Full-res downloads |
| TumblrHandler | tumblr.com | Blog posts |
| KavyarHandler | kavyar.com | Model portfolios |
| CosmosHandler | cosmos.so | Boards & collections |
| GoogleArtsHandler | artsandculture.google.com | High-res artwork tiles |
| ArtsyHandler | artsy.net | Artwork pages |
| ModelMayhemHandler | modelmayhem.com | Portfolio images |
| WixHandler | Wix-powered sites | Wix media URLs |
| WordPressHandler | WordPress sites | Featured images, galleries |
| YouTubeHandler | youtube.com | Thumbnails, channel art |
| PortfolioHandler | Generic portfolio sites | Common portfolio layouts |
| GenericHandler | Any website | Fallback: extracts all images meeting size thresholds |
IPS / Invision Community Forums (Bellazon)
The BellazonHandler is purpose-built for Invision Community (IPS) forums:
- Full-resolution only — IPS thumbnails use a different hash than the full-res image, so the handler reads the authoritative
<a href>anddata-full-imageattributes instead of trying to rewrite thumbnail URLs. - Spoiler handling — Automatically opens
<details>spoiler blocks ("Spoiler", "Spoiler Nudity", "Reveal hidden contents", etc.) before extraction so hidden images are included. - Multi-page pagination — Detects "PAGE X OF Y" controls and walks through every page of a topic automatically.
- Video link collection — YouTube and Vimeo URLs embedded in posts are collected and returned as video items for optional download with the yt-dlp node.
- Zero thumbnail downloads — Any URL containing
.thumb.is hard-rejected at three levels (JS extraction, Python filter, post-processing).
To add support for another IPS-powered forum, just add its domain to the IPS_DOMAINS list in site_handlers/bellazon_handler.py.
📦 Installation
Using ComfyUI Manager (Recommended)
- Open ComfyUI Manager
- Search for "Download Tools"
- Click Install
Manual Installation
-
Clone or download this repository to your ComfyUI custom_nodes folder:
cd ComfyUI/custom_nodes git clone https://github.com/EricRollei/download-tools.git -
Install dependencies:
# Windows (using ComfyUI's Python) .\ComfyUI\python_embeded\python.exe -m pip install -r download-tools\requirements.txt # Or using system Python pip install -r download-tools/requirements.txt -
(Optional) Install FFmpeg for audio extraction:
- Windows:
choco install ffmpegor download from https://ffmpeg.org/ - macOS:
brew install ffmpeg - Linux:
apt-get install ffmpeg
- Windows:
-
Restart ComfyUI
🚀 Quick Start
Gallery-dl Downloader
- Add "Gallery-dl Downloader" node to your workflow
- Enter a URL (e.g., Instagram profile, Reddit post)
- Configure options:
- Set
config_pathto./configs/gallery-dl.conf(auto-saved for next time) - Enable
filter_by_resolutionto skip small images (768px default) - Enable
organize_filesto sort by type - Enable
use_download_archiveto avoid duplicates - Increase
download_timeoutfor large galleries (default: 600s)
- Set
- Execute!
Supported Sites: Instagram, Reddit, Twitter, DeviantArt, Pixiv, Tumblr, Pinterest, Flickr, and 90+ more. See gallery-dl supported sites.
Yt-dlp Downloader
- Add "Yt-dlp Downloader" node to your workflow
- Enter a URL (e.g., YouTube video, Vimeo, Twitch VOD, TikTok)
- Choose format:
best- Best quality videobest[height<=1080]- Best quality up to 1080paudio-only- Extract audio (requires FFmpeg)- Custom format string
- For private content, enable browser cookies or use config file with credentials
- Execute!
Supported Sites: YouTube, Vimeo, TikTok, Twitch, Facebook, Instagram, Twitter, Dailymotion, SoundCloud, and 1800+ more. See yt-dlp supported sites or the table above.
� Instagram Downloads
For Instagram, use Gallery-dl as it is better. Gallery-dl has native Instagram API support, handles pagination, rate limits, and can download posts, stories, reels, and highlights.
Recommended Settings
| Setting | Value | Notes |
|---------|-------|-------|
| config_path | ./configs/gallery-dl.conf | Contains all site credentials (auto-saved) |
| cookie_file | (leave empty) | Cookies are in config file |
| use_browser_cookies | ❌ False | Config file is more reliable |
| filter_by_resolution | ✅ True | Skip thumbnails and small images |
| min_image_width/height | 768 | Minimum resolution in pixels |
One Config For All Sites
The gallery-dl.conf file contains credentials for all supported sites (Instagram, Reddit, 500px, DeviantArt, Pinterest, Flickr, Bluesky). Gallery-dl automatically uses the right credentials based on the URL you're downloading from.
Why Not Browser Cookies?
- Chrome/Edge: Require admin privileges AND browser must be closed
- Firefox: Works without admin, but less reliable than config file
- Config file: Most reliable method - always works
Setting Up Instagram Authentication
- Export your Instagram cookies from Chrome/Firefox using "Get cookies.txt LOCALLY" extension
- Copy the key cookies to
configs/gallery-dl.confin theinstagramsection:"instagram": { "cookies": { "sessionid": "YOUR_SESSION_ID", "ds_user_id": "YOUR_USER_ID", "csrftoken": "YOUR_CSRF_TOKEN", "mid": "YOUR_MID_VALUE" } } - Use in node:
- Set
config_pathto./configs/gallery-dl.conf - Leave
cookie_fileempty - Set
use_browser_cookiesto False
- Set
Cookie Expiration
Instagram session cookies expire after ~1 year. If downloads start failing with 401 errors, export fresh cookies from your browser.
�🔐 Authentication
Many sites require authentication for private content:
Method 1: Browser Cookies (Automatic)
- Log into the website in your browser
- Enable
use_browser_cookiesin the node - Select your browser (Chrome, Firefox, Edge, etc.)
- The node will automatically use your login session
Method 2: Export Cookies
- Install browser extension: "Get cookies.txt LOCALLY"
- Log into the website
- Export cookies
- Save to
configs/instagram_cookies.json(or site-specific file) - Set
cookie_fileparameter in the node
📁 Configuration
Config files are stored in download-tools/configs/:
gallery-dl.conf- Main config with credentials for all sites (Instagram, Reddit, 500px, DeviantArt, Pinterest, Flickr, Bluesky)gallery-dl.conf.example- Template for creating your own configyt-dlp.conf.example- Yt-dlp template (copy toyt-dlp.confand add your credentials)yt-dlp-audio.conf- Audio extraction presetyt-dlp-hq.conf- High quality preset
Persistent Paths
Config file paths are automatically saved between ComfyUI sessions. Once you set config_path or cookie_file, they'll be remembered for next time.
📚 Documentation
Detailed guides available in Docs/:
gallery_dl_node_complete_guide.md- Complete gallery-dl usageyt_dlp_node_complete_guide.md- Complete yt-dlp usagegallery_dl_authentication_guide.md- Authentication setupgallery_dl_advanced_options_guide.md- Advanced features
🐛 Troubleshooting
"gallery-dl not found"
Already installed! It's a Python package. The node will find it automatically.
"Chrome cookies not accessible"
Chrome locks its cookie database while running. Solutions:
- Close Chrome completely before running
- Run ComfyUI as administrator
- Use Firefox instead (doesn't require admin)
- Best: Use config file with cookies (see Instagram section above)
"Instagram/Reddit downloads fail"
Authentication required:
- Use
config_path: ./configs/gallery-dl.confwith cookies - Or enable
use_browser_cookieswith Firefox - 401 Unauthorized = expired cookies, export fresh ones
"Downloads timing out"
For large galleries:
- Increase
download_timeout(default: 1800s / 30 min, max: 10 hours) - Large Instagram profiles may need several hours
- If a download times out, just run again — gallery-dl automatically resumes using the download archive
"Too many small images"
Enable resolution filtering:
- Set
filter_by_resolutionto True - Adjust
min_image_widthandmin_image_height(default: 768px) - Videos are never filtered, only images
"CUDA out of memory" / "FFmpeg not found"
For audio extraction:
- Install FFmpeg separately
- Or use video formats
⚙️ Requirements
- Python 3.10+
- ComfyUI
- gallery-dl (auto-installed)
- yt-dlp (auto-installed)
- FFmpeg (optional, for audio extraction)
📄 License
Copyright (c) 2025 Eric Hiss. All rights reserved.
Dual License:
- Non-Commercial Use: Licensed under Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0)
- Commercial Use: Requires a separate commercial license. Contact: [email protected] or [email protected]
See LICENSE.md for full terms.
Third-Party Tools
- gallery-dl (GNU GPL v2) by Mike Fährmann: https://github.com/mikf/gallery-dl
- yt-dlp (Unlicense/Public Domain): https://github.com/yt-dlp/yt-dlp
See CREDITS.md for complete dependency list.
👥 Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
📧 Contact
- Author: Eric Hiss
- GitHub: EricRollei
- Email: [email protected], [email protected]
🙏 Acknowledgments
- ComfyUI community for the platform
- Mike Fährmann for gallery-dl
- yt-dlp contributors for the excellent video downloader
Ready to download! 🚀 Add the nodes to your workflow and start downloading media from across the web.