A simple yet powerful GUI application for downloading character cards from Chub.ai.
For most users, the simplest way to use this tool is by downloading the standalone executable (.exe) from the project's Releases page.
- Go to the Releases Page.
- Download the latest
chub_card_downloader.exefile. - Run the application. No installation is needed.
- Download by URL or Path: Directly download a card using its full Chub.ai URL or its unique path (e.g.,
p1a_gura). - Simple & Advanced Search: A powerful search window lets you find cards by name or with a wide range of filters, including:
- Sorting by popularity, creation date, rating, and more.
- Filtering by tags, creator, token count, and age.
- Quick presets for "Latest", "Trending", and "Recent Hits".
- Detailed Output: Saves all card assets, including the main image, gallery images, and character data (
.json). - HTML Overview: Generates an HTML file for a quick and comprehensive offline overview of the card.
- Token Support: Add your Chub.ai API token to access restricted or private content.
- Persistent Settings: Remembers your output directory, bundle option, and advanced search filters between sessions.
To access restricted cards (NSFW/NSFL) or private content, you may need to provide your API token.
- Click the Set Chub.ai Token button in the app.
- Log in to Chub.ai.
- Open your browser's developer tools (usually
F12). - Navigate to the
Applicationtab ->Local Storage->chub.ai. - Find the
URQL_TOKENkey, copy its value, and paste it into the token field in the app.
If you want to run the script directly or modify it, follow these steps.
Clone the repository and install the dependencies:
git clone https://github.com/Samueras/chub_downloader.git
cd chub_downloader
pip install -r requirements.txtpython chub_card_downloader.pyThis repository also includes a lightweight stats service that:
- polls Chub.ai once per hour for your cards,
- stores time-series data in SQLite,
- serves a local web dashboard with charts and avatars (using avatar URLs directly).
python chub_stats_server.pyThe first run creates stats_config.ini. Edit it with your values:
[Stats]
api_token =
creator = sambolic
poll_seconds = 3600
host = 0.0.0.0
port = 8787
db_path = d:\Windsurf\chub_downloader\stats.db
creator can be either your numeric creator ID or your username. If you use a username, the service filters by fullPath prefix (e.g. username/card-name).
You can also override settings via environment variables:
CHUB_API_TOKENCHUB_CREATORCHUB_POLL_SECONDSCHUB_HOSTCHUB_PORTCHUB_DB_PATH
Open the dashboard in your LAN browser at http://<server-ip>:8787/.
This repository also includes ForksScanner.html, a standalone, dependency-free browser tool that scans a Chub.ai user's characters and finds all forks of each one. It is unrelated to the downloader itself and runs entirely in the browser — just open the file directly.
- Enter a target username (defaults to
Sambolic) and click Start Scan. - It paginates through the user's characters, then fetches forks for each one in series.
- Includes a CORS-proxy toggle (on by default) to avoid browser CORS errors, and automatic retry with exponential backoff on HTTP 429 rate-limit responses.
- Results render inline and can be exported.
This project uses PyInstaller to create the standalone executable.
First, install PyInstaller:
pip install pyinstallerThen, generate the executable:
pyinstaller --onefile --windowed chub_card_downloader.pyThe .exe file will be located in the dist/ folder.
The app automatically creates a config.ini file to store your settings, including your last used output directory, bundle option, API token, and advanced search filters.
If you find this tool useful, please consider supporting its development:
Contributions are welcome! Please feel free to submit a pull request or open an issue.
This project is licensed under the MIT License - see the LICENSE file for details.

