Installing models on a restricted network
Tape runs everything on your Mac, but the AI models themselves have to arrive from somewhere. They come from Hugging Face, which some corporate networks block. Here is how to get them onto your Mac anyway.
What is actually going on
Tape ships at about 15 MB. The models are far bigger, so they are fetched on first use rather than bundled: speech models from huggingface.co, language models from the same place. Once the files are on disk, transcription and summaries never leave your Mac.
If your company runs a proxy or filter (Zscaler, Netskope, a plain firewall rule), the download can fail in one of two very different ways. Knowing which one you have decides what to do next.
Find out which one you have
Open Terminal and paste these two lines:
curl -sS -o /dev/null -w 'catalog: %{http_code}\n' \
https://huggingface.co/api/models/argmaxinc/whisperkit-coreml/revision/main
curl -sS -o /dev/null -w 'file: %{http_code}\n' \
https://huggingface.co/argmaxinc/whisperkit-coreml/resolve/main/openai_whisper-tiny/config.json
| Result | What it means | Go to |
|---|---|---|
200 and 200 | Hugging Face is reachable. Your download probably failed for another reason, such as a timeout on a slow link. | Retry in Settings, then verify |
200 and anything else | Listings pass, file downloads are blocked. This is the common corporate setup, and hand-installed models work perfectly. | Copy the files in |
| Both blocked or hanging | Hugging Face is blocked outright. | Ask IT, or use a phone hotspot |
Anything that is not a number, such as a hang or a certificate error, counts as blocked.
Option 1: ask IT for a read-only allowlist
This is the cleanest fix and usually an easy request, because nothing here uploads anything. Tape reads public model files, with no account and no credentials. The hosts to allow:
huggingface.co model listings and file downloads cdn-lfs.huggingface.co the large weight files cdn-lfs-us-1.hf.co same, alternate CDN cas-bridge.xethub.hf.co newer storage backend for some repos
Useful wording for the ticket: "macOS app, downloads public read-only AI model files over HTTPS on first launch, no login, no data leaves the machine. Please allow the hosts above for my account." A temporary window of an hour is enough. Once the models are downloaded, Tape never needs those hosts again.
Option 2: download once from another network
The models only need to arrive once. Tether to your phone or take the Mac home, open Tape Settings → Models, and download the models you want. Back on the corporate network everything keeps working from disk.
Download at least one speech model and one language model:
- Parakeet (~600 MB) for English meetings, or a Whisper size for other languages
- Gemma 4 E2B (~2 GB) for summaries and Ask AI
Option 3: install the files by hand
This is what to do when the Mac itself can never reach Hugging Face. Get the files on a machine that can (a home laptop, a colleague's Mac that already runs Tape), then move them across by AirDrop, USB drive, or your company's own file share.
tar commands below preserve them correctly.
Speech: Parakeet (English, ~600 MB)
On the Mac that has it working:
cd ~/Library/Application\ Support tar -czf ~/Desktop/parakeet.tgz FluidAudio
On the restricted Mac, quit Tape, then:
mkdir -p ~/Library/Application\ Support tar -xzf ~/Desktop/parakeet.tgz -C ~/Library/Application\ Support
The result should look like this:
~/Library/Application Support/FluidAudio/Models/parakeet-tdt-0.6b-v2/ ├── Preprocessor.mlmodelc · folders, not files ├── Encoder.mlmodelc ├── Decoder.mlmodelc ├── JointDecision.mlmodelc ├── config.json └── parakeet_vocab.json
Source repository, if you are fetching the files yourself: FluidInference/parakeet-tdt-0.6b-v2-coreml.
Speech: Whisper (multilingual, 75 MB to 3 GB)
Whisper needs two folders: the Core ML model itself, and a small tokenizer folder of about 3 MB that lives beside it. Copy both, or the model loads and then stops looking for words. Swap small for the size you want (tiny, base, small, medium, large-v3).
cd ~/Documents/huggingface/models tar -czf ~/Desktop/whisper-small.tgz \ argmaxinc/whisperkit-coreml/openai_whisper-small \ openai/whisper-small
On the restricted Mac:
mkdir -p ~/Documents/huggingface/models tar -xzf ~/Desktop/whisper-small.tgz -C ~/Documents/huggingface/models
~/Documents/huggingface/models/argmaxinc/whisperkit-coreml/openai_whisper-small/ ├── MelSpectrogram.mlmodelc · folders, not files ├── AudioEncoder.mlmodelc ├── TextDecoder.mlmodelc ├── config.json └── generation_config.json ~/Documents/huggingface/models/openai/whisper-small/ ├── config.json · the tokenizer, ~3 MB ├── tokenizer.json └── tokenizer_config.json
Source repositories: argmaxinc/whisperkit-coreml (folder openai_whisper-small) and openai/whisper-small for the three tokenizer files.
huggingface.co to list the repo before every transcription, even with the model sitting on disk, so a fully blocked network broke Whisper regardless. From 1.4 an installed model is loaded straight from the folder and no request is made. If you are stuck on an older build, use Parakeet, which has always run entirely from disk.
Summaries and Ask AI: the language model (~2 GB)
Language models live in the shared Hugging Face cache, in a layout with internal links. Copy the whole model folder as an archive.
cd ~/.cache/huggingface/hub tar -czf ~/Desktop/gemma-e2b.tgz models--mlx-community--gemma-4-e2b-it-4bit
On the restricted Mac:
mkdir -p ~/.cache/huggingface/hub tar -xzf ~/Desktop/gemma-e2b.tgz -C ~/.cache/huggingface/hub
~/.cache/huggingface/hub/models--mlx-community--gemma-4-e2b-it-4bit/ ├── blobs/ · the actual weights ├── refs/ └── snapshots/<id>/ ├── model.safetensors ├── config.json ├── tokenizer.json └── …
If you would rather fetch it directly on the unrestricted machine, with the Hugging Face CLI installed:
pip install -U "huggingface_hub[cli]" hf download mlx-community/gemma-4-e2b-it-4bit
That writes into exactly the folder above, ready to be archived and moved.
Check that Tape sees the files
- Open Tape → Settings → Models.
- Press the refresh button in the Speech Models or Language Models header.
- The model you installed should now show its size on disk instead of a Download button.
- For a language model, pick it under Summarization → Model. Only models that are actually on the Mac appear in that list, so its presence there is the real confirmation.
- Record ten seconds of anything and stop. A transcript that appears with no network is proof it works.
Then turn on offline mode
With the models in place, switch on Settings → General → Work offline. Tape then makes no network requests at all: no update check, no model catalog, no downloads. On a filtered network that matters, because a blocked request usually hangs rather than failing, and a hang looks like a frozen app. With the switch on, anything missing is reported immediately and clearly instead.
Tape also offers this by itself. If a download fails the way a firewall makes things fail, the Models tab shows a banner with a Work Offline button and a link back to this page.
If a model shows up as damaged
An interrupted download leaves a truncated weight file behind. Tape detects that and offers Re-download, which clears the folder first. If you are installing by hand, delete the model folder and extract the archive again.
If macOS refuses to open the files
Files that arrived through a browser or an email client can carry a quarantine flag. Clear it on the folder you extracted:
xattr -dr com.apple.quarantine ~/Documents/huggingface/models xattr -dr com.apple.quarantine ~/Library/Application\ Support/FluidAudio
Where everything lives, in one place
| Model | Folder on disk |
|---|---|
| Parakeet | ~/Library/Application Support/FluidAudio/Models/ |
| Whisper | ~/Documents/huggingface/models/argmaxinc/whisperkit-coreml/ |
| Whisper tokenizer | ~/Documents/huggingface/models/openai/ |
| Language models | ~/.cache/huggingface/hub/ |
| Your recordings | ~/Documents/Tape/ |
Settings → Models → Storage shows the total size and has a Show in Finder button that opens the models folder directly.