An extension for Stable Diffusion WebUI, designed to streamline your collection.
It lets you download files from sites like Civitai, Hugging Face, GitHub, and Google Drive, whether individually or in batch.
You can also upload files or entire folders to the Hugging Face model repository (with a WRITE token, of course), making sharing and access easier.
Archive and extract files in formats like tar.lz4, tar.gz, and zip.
And a simple Gallery for displaying your outputs with built-in image info and an image viewer.
- Downloading/Uploading/Archiving/Extracting files from/to outside Models or Embeddings folders is blocked.
Add--enable-insecure-extension-accesscommand line argument to proceed at your own risk.
Supported languages:
- English
- Japanese (日本語)
- Simplified Chinese (简体中文)
- Traditional Chinese (繁體中文)
- Korean (한국어)
Language is automatically selected based on the browser’s language setting.
Support both Windows and Unix.
Similar to batchlink, you use tag then URL:
$tag
URLTag should begin with $
Tag is mandatory and there is no default path.
For available tags, refer to the Tag List at the bottom of the extension.
- Click on the table row, tag or path to automatically copy its text.
- For
Civitaiyou can use the webpage URL directly.
Will automatically create model info tags when the source is Civitai.
Enable the Civitai Preview checkbox to also download the model preview if the source is Civitai.
If the source is Huggingface, the SHA256 will be used to match and fetch the info tags and preview from Civitai when possible. Needs a Huggingface read token if the model is private.
- Basic input.
$ckpt
https://civitai.red/models/643227?modelVersionId=811710- Add subdirectories to the tag if exist.
$ckpt/tmp_ckpt
https://civitai.red/models/643227?modelVersionId=811710- Add an optional path for certain URLs. in that case, the tag will be ignored.
$ckpt
https://civitai.red/models/1188071/animagine-xl-40
https://civitai.red/models/643227?modelVersionId=811710 /content/A1111/models/Stable-diffusion/tmp_ckpt- Add
=after the URL or an optional path (if provided) to download with a custom filename.
$ckpt
https://civitai.red/models/1188071/animagine-xl-40 = imagine-anime-XL.safetensors
# or with optional path
$ckpt
https://civitai.red/models/643227?modelVersionId=811710 /content/A1111/models/Stable-diffusion = MeichiDarkMix.safetensorsEnter your Huggingface token with the role READ to download from your private repo, get one Here.
Enter your Civitai API key if you encounter an Authorization failed error. Get your key Here.
Save = To automatically load token upon Reload UI or Webui launch.
Load = Load token.
● Scrape Button
For Huggingface repository:
By default it will return a list of resolve URLs that match these extensions .safetensors .bin .pth .pt .ckpt .yaml
- Paste the repository URL in the following format:
# This will scrape everything in the branch tree list (folders and subfolders won't be included)
htttps://huggingface.co/user_name/repo_name/tree/branch_name
# To Scrape a folder
htttps://huggingface.co/user_name/repo_name/tree/branch_name/folder
# or
htttps://huggingface.co/user_name/repo_name/tree/branch_name/folder/sub_folder- Add
-to return only a specific file extension.
htttps://huggingface.co/user_name/repo_name/tree/branch_name - pth safetensors- Enter your Hugging Face READ token into the token box if you want to scrape your private repo.
And Pastebin:
Simply paste the pastebin URL
https://pastebin.com/696969And it will return a list of whatever is available at the pastebin URL.
If it has a hashtag from batchlink, it will automatically be replaced with SD-Hub Tags.
● Insert TXT Button
This allows you to upload a .txt file from your device and add its content to the downloader input.
Supported Domains for Downloader: Civitai Huggingface Github Drive.Google
Username = Your username at huggingface.co.
Repository = Your model repository at huggingface.co, it will automatically create a new repository if reponame does not exist.
Branch = Defaults to main. You can change the branch name to create a new branch.
Visibility = Defaults to Private and will only take effect if you are creating a new repository; otherwise, it will be ignored.
Token = Obtain your huggingface token with the role WRITE from Here.
- For uploader input area, you can either provide a path pointing to a folder or a single file.
- or use
$tagto skip the long path name.
/input-path/someFolder
/input-path/someFile.safetensors- Add
=to rename the uploaded file/folder.
/input-path/someFolder = thisFolder
/input-path/someFile.safetensors = thatFile.safetensors- Add
-to exclude specific file extensions when uploading a folder.
/input-path/someFolder - js json py- Add
>to upload into a specific folder within your Huggingface repository. - The folder will be automatically created if it doesn’t exist.
/input-path/someFolder > folder1
/input-path/someFile.safetensors > folder2
# or
/input-path/someFile.safetensors > folder/subFolder/deepFolder/here- Combining all options in single line.
/input-path/someFolder = thisFolder - js json py > folder3Supported Format: tar.lz4 tar.gz zip
Archive:
Name Name for the compressed file (excluding the file extension).
Input Path Path pointing a single file or folder containing multiple files.
Output Path Path where the compressed file will be saved.
Create Directory Automatically creates a new folder at the Output Path if not already existing.
Split by Divide the compression into multiple files based on number of files in Input Path.
Extract:
Input Path Path pointing to a compressed file.
Output Path Path where the compressed file will be extracted.
Create Directory Automatically creates a new folder at the Output Path if not already existing.
You can use $tag for the path in Input and Output Path.
# if input as a file, to compress a single file
/kaggle/working/stable-diffusion-webui/models/Stable-diffusion/animagineXLV31_v31.safetensors
# else input as a folder, to compress the whole files inside the input folder
/kaggle/working/stable-diffusion-webui/models/Stable-diffusion
# with Tag if input as a file
$ckpt/animagineXLV31_v31.safetensors
# with Tag if input as a folder
$ckptinspired by IIB
a simple gallery to display your outputs.
it's not as advanced as IIB, you can't add folders and browse images here.
Each Tab has its own pagination, with a default limit of 100 images per page (you can change this in Settings).
Use the arrow buttons at the bottom to navigate between pages (if available), or use the left/right arrow keys on your keyboard.
- Click the gear icon on the right to open Settings and change the layout of certain elements.
- Press the [X] button in the top-right corner or the Esc key to close it.
- Settings will be stored in /sd-webui/extensions/sd-hub/.sd-hub-config.json
- Left-click on an image to open the image info.
- left-click the image inside the image info to open the image viewer (single).
- Press the [X] button in the top-right corner or the Esc key to close it.
- Right-click on an image to open a context menu.
- Deletion box.
- Hovering over an image will reveal the image buttons.
- Top-left button for Favorite/Unfavorite the image.
- Top-right button for Select/Unselect the image.
- Bottom-left button for image viewer (multi).
- Selecting an image using the checklist button will display controls for Select All, Batch Download, Batch Delete, and Unselect All..
Shift + Left Clickselects or unselects an image.Ctrl/Meta + Aselects all images.Ctrl/Meta + Shift + Aunselects all images.
- Batch Download box.
- in zip format and default name to sdhub-gallery.
- will auto download by the browser.
- Left-click on the bottom left button to open an image viewer (multi).
- Use left/right arrow button or arrow keys on keyboard to navigate between images.
- Press the [X] button in the top-right corner or the Esc key or click anywhere outside the image to close it.
- Favorites Tab.
- Click the star button to unfavorite the image.
- Favorites list will be stored in /sd-webui/cache/sd-hub.
- The Text Editor and Shell tabs will only be imported and run if WebUI is launched with
--enable-insecure-extension-accessand the environment isGoogle Colab,Kaggle, orSageMaker Studio Lab. Otherwise, they will have no effect. - The same applies to the auto-uploading function in the Gallery tab, which uploads images to imgchest.com after each image generation.
- Added function for Gallery Tab = favorite button, batch selecting, batch downloading, batch deletion.
- Favorited images will be copied to Favorites Tab.
2025-06-30 — v11
- Added function for Downloader Tab to automatically create model info tags when the source is Civitai. - And a checkbox to optionally download the model preview. - If the source is Huggingface, the SHA256 will be used to match and fetch the info tags and preview from Civitai when possible. Needs a Huggingface read token if the model is private.
2025-06-14 — v10
- Tokens and any other auto-saved/loaded data are now stored in
.sd-hub-config.json - Fixed Gallery, faster loading, re-style etc.
- Added paging to the Gallery, limiting to 100 images per page by default.
- Use the arrow buttons at the bottom to navigate between pages, or use the left/right arrow keys on your keyboard.
- Added settings to change some layouts in the Gallery. The settings are saved and loaded automatically.
- Press the [X] button in the top-right corner or ESC on your keyboard to exit the settings.
2025-04-01 — v9.0.0
- Fixed crashes on Firefox and other Gecko-based browsers.
- Fixed the "Send to..." buttons in Gallery context menu or image info when running WebUI on mobile.
- Optimized Gallery to display the scaled-down image (around 30kb/image), only fetching the full-size file when needed.
- Added a "Copy" button to the Gallery context menu to copy image. (This copies the image itself, not the file, all image tags will be lost when pasted, just like the browser's "Copy Image" context menu.)
- Added CTRL + scroll wheel (or Cmd + scroll wheel on macOS) to move images horizontally in the image viewer when the top/bottom edge exceeds the Lightbox.
- Added SHIFT + scroll wheel to move images horizontally in the image viewer when the left/right edge exceeds the Lightbox.
2025-03-22 — v8.8.8
- Changed/Added function for Uploader Tab.
# Add = to rename the uploaded file/folder
/input-path/someFolder = thisFolder
/input-path/someFile.safetensors = thatFile.safetensors
# Add - to exclude specific file extensions when uploading a folder
/input-path/someFolder - js json py
# Add > to upload into a specific folder within your Huggingface repository.
# The folder will be automatically created if it doesn’t exist.
/input-path/someFolder > folder1
/input-path/someFile.safetensors > folder2
# or
/input-path/someFile.safetensors > folder/subFolder/deepFolder/folderFolder
# Combining all options in single line
/input-path/someFolder = thisFolder - js json py > folder32025-02-17 — v7.0.0
- Added a simple gallery under the Gallery tab to display outputs with image info and a viewer.
- Added Text Editor and Shell tab, available only when running WebUI on online services like Google Colab, Kaggle, etc.
2024-12-30 — v5.6.1
- Added a function to zip the entire outputs folder, under Zip Outputs accordion of the Archiver tab.
- Only available when running WebUI with
--enable-insecure-extension-accesscommand line argument.
2024-12-25 — v5.5.5
- Added security measures to restrict downloading, uploading, and compressing to the Models and Embeddings folders only when WebUI is run without
--enable-insecure-extension-access. - Added a click event listener to the Gradio DataFrame in Tag List to automatically copy the table text, making it easier to copy especially for mobile users.
- Added a function to automatically save the last used username, repository, and branch when uploading to Huggingface, which will be automatically used when WebUI is loaded.
- Fixed path handling.
- Relocated the token file to the extension folder and renamed it to
.sd-hub-token.json.
2024-09-30 — v4.8.4
- Gradio 4 Compatibility Update for Forge Webui.
2024-07-12 — v4.4.4
- Added support for Windows.
2024-07-03 — v3.3.3
- Added venv support.
2024-05-14 — v3.2.1
- Added an optional argument
-for the Scrape button to filter specific extension instead of using the default extension list.
https://huggingface.co/ckpt/controlnet-sdxl-1.0/tree/main - pth md txt safetensors- Added an optional argument
--for the Uploader input box to exclude specific file extension instead of uploading all files.
$ext/sd-hub -- json txt py- Moved
Token.jsonto the Stable Diffusion root directory and renamed tosd-hub-token.json. - Added a
Split byradio button for the Archiver to split compressed files based on the total number of files if input is pointing to a folder.
2024-04-22 — v2.0.2
- Added Scrape Button to return a list of Resolve URL from Huggingface repository, and Pastebin.
- Improved Compress and Decompress logic for Archiver.
camenduru Thanks for the extension
etherealxx Thanks for the inspiration
Thanks to my Discord friends DEX-1101, VeonN4, kokomif, for always being there in the middle of the night.
Thanks to w-e-w for helping me and making the public release for Windows possible.
Thanks to zanllp for the inspiration behind the Infinite Image Browsing extension, which led to my simple Gallery Tab.
Thanks to viyiviyi for the zooming scripts in the image viewer which were taken from here, a modified version of the scripts from here
Especially to cupang-afk, who helped me a lot with Python, thank you.






















