HuggingFace Downloader

Search GGUF repositories, inspect exact file sizes and download models straight into LlamaTray — with live progress, a manual repo/file mode, and automatic model selection after the download.

LlamaTray includes a built-in HuggingFace downloader so you can find and fetch GGUF models without opening a browser or the terminal. Click the Download from HF button next to the model path field in the model section. The dialog is titled Download Model from HuggingFace and has two tabs plus a shared download-folder row.

Search tab

The 🔍 Search tab queries the HuggingFace API directly:

GET https://huggingface.co/api/models?search=<query>&filter=gguf&sort=downloads&direction=-1&limit=20
  • Results are restricted to GGUF repositories and sorted by download count (up to 20).
  • The left pane lists them as repo/id with their download count; the right pane shows the repository’s GGUF Files.
  • File names and exact sizes are fetched through the Tree API (/api/models/{repo}/tree/main, recursive) before you download anything — only .gguf entries are listed, in file-name order.
  • Clicking a model loads its files; clicking a file auto-fills the repo and file name fields below.

If the Tree API is unavailable for a repository, the downloader falls back to the older /api/models/{repo} metadata endpoint and resolves missing sizes with parallel HEAD probes.

Manual tab

The ✏️ Manual tab has two plain fields — HuggingFace Repo (user/repo, e.g. unsloth/Qwen3-VL-30B-A3B-Instruct-GGUF) and File Name (e.g. Qwen3-VL-30B-A3B-Instruct-UD-IQ3_XXS.gguf). Use it when you already know exactly what you want, or to type a repository that search doesn’t surface.

Download folder

The Download Folder row (with a 📁 browse button) is shared by both tabs. In Router Mode the field is pre-filled with the models directory you have configured for the router, so new files land where the server is already looking. In Single Model mode it starts empty — pick any existing folder.

Downloading a file

Download validates the inputs (repo must be user/repo, file name and folder must not be empty), then fetches:

https://huggingface.co/{repo}/resolve/main/{filename}

and saves it as {folder}/{filename}. The download streams in small chunks with a progress bar and a live status line showing transferred/total megabytes and speed (MB/s). Cancel — or any error partway through — removes the partial file, so you never keep a truncated GGUF around (there is no resume; just start the download again).

After the download

  • Single Model mode: the downloaded file is automatically set as the selected model, the log records ✓ Model selected: … with its size, and the command preview updates — you can start the server immediately.
  • Router Mode: the file lands in your router’s models directory; if the server is already running, its model list refreshes a moment later so the new model shows up in the app.

All API calls, file listings and downloads run on background threads — the main window stays responsive the whole time.