7.1 KiB
7.1 KiB
Gallery-dl ComfyUI Node - Complete Setup Guide
Overview
This is a comprehensive ComfyUI node for downloading images and media from various websites using gallery-dl. The node includes support for authentication, file organization, and robust error handling.
✅ Completed Features
Core Features
- URL Support: Download from URL lists or URL files
- Authentication: Browser cookies and exported cookie files
- File Organization: Automatically sort files into subfolders by type
- Download Archive: Avoid re-downloading the same files
- Video Filtering: Option to skip video files
- Metadata Extraction: Save download information to JSON
- Debug Output: Comprehensive status and error reporting
File Organization
Downloaded files are automatically sorted into subfolders by type, WITHIN each profile directory:
Example for Instagram profile:
gallery-dl-output/
├── instagram/
│ └── janaioannaa/
│ ├── images/ ← Photos and images (jpg, png, webp, etc.)
│ ├── videos/ ← Video files (mp4, webm, mkv, etc.)
│ ├── audio/ ← Audio files (mp3, flac, wav, etc.)
│ └── other/ ← Documents and other files (pdf, txt, etc.)
└── gallery-dl-metadata.json
Key Features:
- Files are organized WITHIN each profile/site directory
- Preserves gallery-dl's original directory structure
- Each profile gets its own organized subdirectories
- No files are moved to the root level
🎯 Optimal Setup by Platform
Instagram (Best Practice)
✅ config_path: LEAVE EMPTY (not needed)
✅ cookie_file: './configs/instagram_cookies.json'
✅ use_browser_cookies: False
✅ organize_files: True
✅ use_download_archive: True
Why this works:
- Instagram only needs cookies for authentication
- No config file required
- Exported cookies are more reliable than browser cookies
- Files get organized automatically
Reddit (Best Practice)
✅ config_path: './configs/gallery-dl-no-reddit.conf'
✅ cookie_file: LEAVE EMPTY
✅ use_browser_cookies: True
✅ organize_files: True
✅ use_download_archive: True
Why this works:
- Reddit API credentials are problematic due to 2FA
- Browser cookies work better for Reddit
- Config file can disable Reddit if needed
- Files get organized automatically
General Sites (Twitter, Imgur, etc.)
✅ config_path: LEAVE EMPTY (unless site-specific config needed)
✅ cookie_file: LEAVE EMPTY
✅ use_browser_cookies: True
✅ organize_files: True
✅ use_download_archive: True
📁 File Structure
PDF_tools/
├── nodes/
│ └── gallery_dl_downloader.py # Main node implementation
├── configs/
│ ├── instagram_cookies.json # Your exported Instagram cookies
│ ├── gallery-dl-no-reddit.conf # Config that disables Reddit
│ ├── gallery-dl.conf # Full config with Reddit credentials
│ └── gallery-dl-browser-cookies.conf # Browser cookies config
└── Docs/
├── test_file_sorting.py # Test file organization
└── test_instagram_optimal_setup.py # Test optimal setup
🔧 Node Parameters
Required Parameters
- url_list: URLs to download (one per line)
- output_dir: Where to save downloaded files
Optional Parameters
- url_file: Text file containing URLs
- config_path: Path to gallery-dl config file
- cookie_file: Path to exported cookie JSON file
- use_browser_cookies: Extract cookies from browser
- browser_name: Which browser to use (firefox, chrome, edge, etc.)
- use_download_archive: Avoid re-downloading files
- archive_file: Path to download archive database
- skip_videos: Only download images, skip videos
- extract_metadata: Save download metadata to JSON
- organize_files: Sort files into subfolders by type
🍪 Cookie Setup
Option 1: Exported Cookie File (Recommended for Instagram)
- Install a browser extension like "Cookie Editor" or "EditThisCookie"
- Visit Instagram and log in
- Export cookies as JSON
- Save to
./configs/instagram_cookies.json - Use in node:
cookie_file: './configs/instagram_cookies.json'
Option 2: Browser Cookies (Recommended for Reddit)
- Log into the site in your browser
- Set
use_browser_cookies: True - Choose your browser (Firefox works without admin privileges)
🚀 Usage Examples
Example 1: Instagram Posts
url_list: https://www.instagram.com/p/ABC123/
output_dir: ./instagram-downloads
cookie_file: ./configs/instagram_cookies.json
organize_files: True
Example 2: Reddit Posts
url_list: https://www.reddit.com/r/pics/comments/abc123/
output_dir: ./reddit-downloads
use_browser_cookies: True
organize_files: True
Example 3: Multiple Sites
url_list:
https://imgur.com/gallery/ABC123
https://twitter.com/user/status/123456
https://example.com/image.jpg
output_dir: ./mixed-downloads
use_browser_cookies: True
organize_files: True
🔍 Debug Information
The node provides comprehensive debug output including:
- Cookie file conversion status
- Authentication attempts
- File organization results
- Download progress
- Error messages and warnings
🧪 Testing
Run the test scripts to verify functionality:
# Test file organization
python Docs/test_file_sorting.py
# Test Instagram setup
python Docs/test_instagram_optimal_setup.py
🛠️ Troubleshooting
Common Issues
-
"gallery-dl not found"
- Install gallery-dl:
pip install gallery-dl
- Install gallery-dl:
-
Authentication fails
- For Instagram: Use exported cookie file
- For Reddit: Use browser cookies, avoid API credentials
-
Files not organizing
- Ensure
organize_files: True - Check debug output for move operations
- Ensure
-
Downloads are slow
- Node includes automatic rate limiting (1 second between requests)
- This is intentional to be respectful to servers
-
Browser cookies not working
- Try Firefox (works without admin privileges)
- For Chrome/Edge, run ComfyUI as administrator
Debug Steps
- Check the debug output in the node's summary
- Verify file paths are correct
- Test authentication with a single URL first
- Check if gallery-dl works from command line
📚 Additional Resources
🔄 Version History
- v1.0.0: Initial release with file organization and authentication support
- All major features implemented and tested
- Ready for production use
🎉 Summary
The Gallery-dl ComfyUI node is now complete with:
- ✅ Robust authentication (browser cookies + exported cookies)
- ✅ File organization by type (images/, videos/, audio/, other/)
- ✅ Comprehensive error handling and debug output
- ✅ Optimal setup guides for Instagram and Reddit
- ✅ Extensive testing and validation
The node is ready for production use and supports all major requirements!