ComfyUI Node
Social Media Downloader (gallery-dl)
Download images and media from 100+ websites using gallery-dl. Supports Instagram, Reddit, Twitter/X, DeviantArt, Pixiv, 500px, Flickr, Pinterest, Bluesky, and more. Features: resolution filtering, duplicate detection, automatic file organization, and persistent config paths.
Social Media Downloader (gallery-dl)
- output_dir
- summary
- download_count
- success
◄url_list# Enter URLs here, one per line
# Supports 100+ sites: Instagram, Reddit, Twitter/X, DeviantArt, Pixiv, 500px, Flickr, Pinterest, Bluesky, and more
# Examples:
# https://www.instagram.com/username/
# https://www.reddit.com/r/subreddit/
# https://twitter.com/username►
◄output_dir./gallery-dl-output►
◄url_file►
◄config_path►
◄cookie_file►
◄use_browser_cookiesfalse►
◄browser_namefirefox►
◄use_download_archivetrue►
◄archive_file./gallery-dl-archive.sqlite3►
◄skip_videosfalse►
◄filter_by_resolutiontrue►
◄min_image_width768►
◄min_image_height768►
◄extract_metadatatrue►
◄organize_filestrue►
◄instagram_includeposts►
◄download_timeout1800►
◄extra_options►
◄seed0►
CategoryDownloaders
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| url_list | STRING | # Enter URLs here, one per line # Supports 100+ sites: Instagram, Reddit, Twitter/X, DeviantArt, Pixiv, 500px, Flickr, Pinterest, Bluesky, and more # Examples: # https://www.instagram.com/username/ # https://www.reddit.com/r/subreddit/ # https://twitter.com/username | Enter URLs to download from, one per line. Supports Instagram, Reddit, Twitter/X, DeviantArt, Pixiv, 500px, Flickr, Pinterest, Bluesky, and 90+ other sites. Lines starting with # are ignored. |
| output_dir | STRING | ./gallery-dl-output | Directory where downloaded files will be saved. Relative paths are relative to ComfyUI's output folder. Files are organized into subfolders by site and user. |
| url_fileopt | STRING | Optional: Path to a text file containing URLs (one per line). Useful for batch downloading from a prepared list. Leave empty to use url_list above. | |
| config_pathopt | STRING | Path to gallery-dl.conf config file. This single file contains credentials for ALL sites (Instagram, Reddit, 500px, etc.) - gallery-dl auto-selects the right ones based on URL. Path is auto-saved for next time. Recommended: ./configs/gallery-dl.conf | |
| cookie_fileopt | STRING | Path to exported cookie file (Netscape/JSON format). Only used when 'Use Browser Cookies' is OFF and you need site-specific cookies not in config. Usually leave empty - config file credentials work better. Path is auto-saved. | |
| use_browser_cookiesopt | BOOLEAN | false | OFF (recommended): Use credentials from config file - most reliable. ON: Extract cookies directly from browser (Firefox works best; Chrome/Edge require admin rights and browser closed). |
| browser_nameopt | COMBO | firefox | Browser to extract cookies from when 'Use Browser Cookies' is ON. Firefox recommended - works without admin rights. Chrome/Edge need admin + browser closed. |
| use_download_archiveopt | BOOLEAN | true | ON (recommended): Track downloaded files in SQLite database to skip duplicates on future runs. OFF: Re-download everything, may create duplicates. |
| archive_fileopt | STRING | ./gallery-dl-archive.sqlite3 | Path to download archive database (SQLite). Tracks what's been downloaded to avoid duplicates. Delete this file to force re-downloading everything. |
| skip_videosopt | BOOLEAN | false | ON: Download only images, skip all video files. OFF: Download both images and videos. Useful when you only want still images from a mixed gallery. |
| filter_by_resolutionopt | BOOLEAN | true | ON: Skip images smaller than min_image_width/height (removes thumbnails, icons, low-res images). Videos are never filtered. Sites without dimension metadata (Bunkr, Cyberdrop) will download all images. OFF: Download all images regardless of size. |
| min_image_widthopt | INT | 7680–8192 | Minimum image width in pixels when filter_by_resolution is ON. Images narrower than this are skipped. Set to 0 to disable width filtering. Note: Sites that don't provide dimension metadata will download all images. |
| min_image_heightopt | INT | 7680–8192 | Minimum image height in pixels when filter_by_resolution is ON. Images shorter than this are skipped. Set to 0 to disable height filtering. Note: Sites that don't provide dimension metadata will download all images. |
| extract_metadataopt | BOOLEAN | true | ON: Save download metadata to JSON file (URLs, timestamps, file counts, errors). Useful for tracking what was downloaded. OFF: No metadata file created. |
| organize_filesopt | BOOLEAN | true | ON: Sort downloaded files into subfolders by type (images/, videos/, audio/, other/). OFF: Put all files in the main output folder without sorting. |
| instagram_includeopt | COMBO | posts | Instagram only: What content to download. 'posts' = feed posts, 'stories' = current stories (24hr), 'highlights' = saved story highlights, 'reels' = reels videos, 'all' = everything. Combine with comma: 'posts,reels'. |
| download_timeoutopt | INT | 180060–36000 | Maximum time in seconds for this run. Default 1800s (30 min). For huge galleries: 7200=2hr, 14400=4hr, 28800=8hr. TIP: If it times out, just run again - gallery-dl automatically resumes from where it left off using the download archive! |
| extra_optionsopt | STRING | Advanced gallery-dl options (one per line or space-separated): • --limit N: Max N files to download • --range 1-50: Download items 1-50 only • --no-download: Simulate without downloading • --write-metadata: Save per-file JSON metadata • --ugoira-conv: Convert Pixiv ugoira to video • -v: Verbose output for debugging • --sleep N: Wait N seconds between requests • --retries N: Retry failed downloads N times Folder organization examples: • Kemono by post: -o directory=["{service}","{user}","{id}_{title}"] • Flat by user: -o directory=["{category}","{user}"] See docs: https://github.com/mikf/gallery-dl/blob/master/docs/options.md | |
| seedopt | INT | 00–18446744073709550000 | Random seed to force re-execution. Click 🎲 to randomize or change manually. Useful for resuming downloads after timeout - change the seed to run again without modifying other settings. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| output_dir | STRING | — |
| summary | STRING | — |
| download_count | INT | — |
| success | BOOLEAN | — |