First-run model setup

The app does not include, redistribute, upload, or automatically download model weights. It uses an 8-bit MLX conversion of NetEase Youdao's Confucius4-R2T2 model, part of the R2T2 project.

After reviewing the NetEase Model Use License, download the community MLX conversion:

python3 -m pip install "huggingface_hub[cli]"
mkdir -p "$HOME/Library/Application Support/Confucius Captions/checkpoints"
hf download mlx-community/Confucius4-R2T2-8bit \
  --local-dir "$HOME/Library/Application Support/Confucius Captions/checkpoints/mlx-r2t2-8bit"

The published checkpoint is an 8-bit MLX conversion of netease-youdao/Confucius4-R2T2. Its language model is quantized to 8-bit with group size 64; the audio encoder remains bf16.

Alternate model locations

The runtime checks these locations in order:

  1. CONFUCIUS_MODEL_PATH, when set
  2. ~/Library/Application Support/Confucius Captions/checkpoints/mlx-r2t2-8bit
  3. checkpoints/mlx-r2t2-8bit beside mac_mlx.py in a source checkout

For a source run with a custom location:

CONFUCIUS_MODEL_PATH=/absolute/path/to/mlx-r2t2-8bit python desktop_app.py