The picks by RAM tier

A vision model needs more memory than its weights. The image encoder ships as a separate projector file — the mmproj — that loads beside the language model, so the table counts both, at 4-bit unless noted. Each speed is the index’s figure for the named Mac, with its provenance mark.

Mac memoryPickModel + projectorSpeed (LLMCheck index)Also consider
8 GBGemma 4 E4B4.59 + 0.56 = 5.2 GBestimated~23 tok/s MacBook Air M1Gemma 4 E2B (3.4 GB); Ternary Bonsai 2 9B (3.2 GB)
16 GBGemma 4 12B7.22 + 0.16 = 7.4 GBestimated~17 tok/s Mac mini M6 16 GBTernary Bonsai 2 27B (7.8 GB; Ollama 0.40.6+ or PrismML’s fork)
24–32 GBMiniCPM-V 4.7 35B-A3B21.17 + 1.12 = 22.3 GBestimated~37 tok/s Mac mini M6Qwen3.8-27B (19.6 GB); Gemma 4 26B-A4B (15.4 GB)
48–64 GBMiniCPM-V 4.7 at Q8_036.9 + 1.12 = 38.0 GBestimated~59 tok/s M5 Pro (4-bit figure)Qwen3.8-27B at Q8_0 (29.2 GB)
96–128 GBNemotron 3.5 Super VL 120B-A12B70.1 + 1.73 = 71.8 GBcommunity31 tok/s M5 MaxQwen3.8-Flash-Next; Qwen 3.5 122B-A10B; Mistral Medium 3.5
192–256 GBMiMo-V2.6-Flash~172 GB (4-bit MLX)estimated~79 tok/s M5 Ultra—
512 GBMuse Spark Open304.1 + 2.2 = 306 GB (Q2_K)sourced18 tok/s M3 UltraKimi K2.5 / K2.6 / K2.7 Code

File sizes are from the Hugging Face repos linked in each section (decimal GB, checked 18 October 2026). Leave a few gigabytes for the context window and macOS on top.

Provenance key
sourced
Published figure — vendor or press review
estimated
community
Linked individual run — blog, forum or submission

8 GB: Gemma 4 E4B, or E2B for headroom

Gemma 4 E4B is the safest pick for 8 GB. Google’s card lists image and audio input, a 128K window and an MMMU Pro score of 52.6%, under Apache 2.0. The ggml-org Q4_0 file is 4.59 GB and its Q8_0 projector 0.56 GB, about 5.2 GB together. That runs on an 8 GB Mac with other apps closed, and the index estimates estimated~23 tok/s on an M1 MacBook Air.

If memory is tighter than that, Gemma 4 E2B needs about 3.4 GB with its projector (estimated~44 tok/s on the same Air). Ollama’s own gemma4:e4b and gemma4:e2b downloads are larger (from 6.6 and 4.6 GB), so on 8 GB the plain GGUF files in llama.cpp or LM Studio leave more room.

Ternary Bonsai 2 9B is the outlier: Prism ML’s ternary rebuild of Qwen3.5-9B, Apache 2.0, with a 0.62 GB projector. Its card says upstream llama.cpp runs only the Q2_0 file (2.56 GB); the PQ2_0 and PTQ1_0 packs need Prism’s fork. The only published speed is Prism’s: sourced76.5 tok/s on an M5 Pro MacBook Pro (PQ2_0, tg128, from its whitepaper). Ternary decoding is limited by its kernels rather than by bandwidth, so the index does not stretch that figure to an 8 GB Mac. Prism has published no vision scores for the ternary build.

16 GB: Gemma 4 12B

Gemma 4 12B is the dense middle of Google’s family: text, image and audio input, a 256K window, Apache 2.0. Its Q4_0 GGUF is 7.22 GB and its projector only 0.16 GB, which leaves a 16 GB Mac room for long documents; Ollama’s gemma4:12b is 7.7–8.0 GB. The index’s figure for a 32 GB Mac mini M6 is community19 tok/s, and it estimates estimated~17 tok/s for the 16 GB M6, whose binned memory runs at 153 GB/s instead of 170.

Ternary Bonsai 2 27B is the alternative for anyone on Ollama 0.40.6 or later (bonsai-2:27b, 8.3 GB, image input) or mlx-vlm 0.7.8. It packs Qwen3.8-27B, the index’s strongest dense model, into 7.21 GB (PQ2_0) plus a 0.63 GB projector. PrismML reports its 5.95 GB PTQ1_0 pack keeps 98% of the base model’s average on its 14-benchmark suite. The drop is largest on agentic coding (SWE-bench Verified 60.8 against 80.6, mini-swe-agent, vendor-run) and on vision: MMMU-Pro 75.49 against 81.73 and OCR Bench v2 56.88 against 60.99 (vendor-reported). The model card is blunt about runtimes: stock llama.cpp will not run these files. Prism’s published speeds are sourced28.1 tok/s on an M5 Pro and sourced46.8 tok/s on an M5 Max (tg128).

24–32 GB: MiniCPM-V 4.7 35B-A3B

MiniCPM-V 4.7 35B-A3B is OpenBMB’s first mixture-of-experts vision model: Apache 2.0, with single-image, multi-image and video input. Only about 3B parameters are active per token, so it decodes like a small model. Community oMLX runs measured community100.2 tok/s on an M5 Max (MXFP4) and community48.2 tok/s on an M4 Pro (5-bit, multi-token prediction off), and the index estimates estimated~37 tok/s on a Mac mini M6.

In OpenBMB’s own comparison it leads the other vision models a 24–32 GB Mac can hold on documents, OCR and charts:

OpenBMB’s model-card chart: instruct mode, 4× visual-token compression, “public reports” plus OpenBMB’s runs of official checkpoints. Vendor-reported, not an independent evaluation.
BenchmarkMiniCPM-V 4.7 35B-A3BQwen3.6-35B-A3BQwen3.8-27BGemma 4 31B
MMMU80.2277.4476.0075.33
OCRBench91.2086.0083.9085.40
OmniDocBench v1.694.2480.1780.3679.17
CharXiv reasoning75.6067.5070.7065.00
Video-MME (no subtitles)76.4075.7073.4074.10
MathVision74.2474.2478.2269.28
ScreenSpot (GUI grounding)86.9992.9493.3183.75

The last two rows cut the other way. On ScreenSpot — finding the right button in a screenshot — Qwen3.8-27B and Qwen3.6-35B-A3B both beat it, and Qwen3.8-27B also leads MathVision. For a computer-use agent, Qwen3.8-27B is the better eye. It is dense, though, so it is much slower: community9 tok/s on a Mac mini M6 and estimated~15 tok/s on an M5 Pro, against MiniCPM-V’s estimated~59 tok/s on the same M5 Pro. Its Q4_K_M is 18.97 GB plus a 0.63 GB projector.

Gemma 4 26B-A4B is the light, fast option: 14.62 GB at Q4_0 plus a 0.81 GB projector, image input, and community48 tok/s on a 32 GB Mac mini M6. OpenBMB’s chart does not include it. For text and coding picks at this tier, see the 24–32 GB guide.

On a 24 GB Mac, MiniCPM-V is a squeeze. Q4_K_M plus projector is 22.3 GB, and macOS holds part of memory back from the GPU. Use the Q4_K_S (19.89 GB) or IQ4_XS (18.73 GB) file from OpenBMB’s GGUF repo, or buy 32 GB, where the 22 GB Ollama tag fits comfortably.

48–64 GB: the same models, at 8-bit

No image-capable model in the catalog that needs 32–64 GB ranks above MiniCPM-V 4.7 on the LLMCheck Score, so the extra memory is better spent on precision. MiniCPM-V 4.7 at Q8_0 is 36.9 GB plus its projector, and Qwen3.8-27B at Q8_0 is 28.6 GB. Eight-bit reads about twice the bytes per token, so expect roughly half the 4-bit speed: one community run measured Qwen3.8-27B at community17.9 tok/s on an M5 Max at 8-bit, where the index’s 4-bit estimate is estimated~29 tok/s.

96–128 GB: Nemotron 3.5 Super VL

NVIDIA released Nemotron 3.5 Super VL 120B-A12B on 15 October under OpenMDW-1.1: a 120B hybrid Mamba-Transformer mixture of experts with 12B active, text, image and video input, and a 1M-token window. lmstudio-community’s Q4_K_M is 70.1 GB plus a 1.73 GB projector, so it needs a 96 GB Mac and is comfortable on 128 GB.

The index’s only run is community-measured: community30.6 tok/s on a 128 GB M5 Max at NVFP4 in mlx-vlm with multi-token prediction off. With MTP on, the same run reached 57.1 tok/s, a different workload that the index does not list. Both come from the pull request that added the model, mlx-vlm #2528, merged on 16 October. It is on the main branch but not yet in a tagged release; the latest, 0.7.8, shipped on 13 October. NVIDIA’s card lists OCRBench v2 (English) 68.12, CharXiv reasoning 80.82 and MathVision 78.16 on its own harness, so those numbers don’t line up cell for cell with OpenBMB’s table.

One trap: in llama.cpp on a Mac, skip the NVFP4 GGUF. Metal has no NVFP4 matrix-multiply kernel, so those layers fall back to the CPU on every token (llama.cpp issue #30610). Use Q4_K_M. The Nemotron 3.5 on a Mac post covers the setup in detail.

Three alternatives fit the same Macs:

192–512 GB: MiMo-V2.6-Flash and Muse Spark Open

MiMo-V2.6-Flash (Xiaomi, MIT) is #1 on the LLMCheck leaderboard, and it takes text, image, video and audio. Its 4-bit MLX builds are about 172 GB, so it starts at a 192 GB Mac Studio. Two community runs measured community59 tok/s on a 256 GB M3 Ultra (4-bit, MTP off), and the index estimates estimated~79 tok/s on an M5 Ultra. The index holds no independent vision comparison for it.

Muse Spark Open (Meta, 816B-A42B, Muse Model License) also takes text, image, video and audio. llama.cpp supports its text, image and audio input (PR #30616, build b11671 and later), whose author tested it on an M3 Ultra; video input is not listed. ggml-org’s Q2_K is 304.1 GB plus a 2.2 GB Q8_0 projector. Hugging Face’s launch post reports sourced18 tok/s at Q2_K in llama.cpp and sourced21 tok/s at oQ3e in MLX on a 512 GB M3 Ultra. The 1T-parameter Kimi K2.5, K2.6 and K2.7 Code also take images, but each needs 417 GB or more. For the full Mac setup, see Muse Spark Open on a Mac; for everything else that fits, the 512 GB table.

Setup: llama.cpp, MLX and Ollama

llama.cpp. A vision model is two files: the language model and its projector. With -hf, llama.cpp downloads both; with local files, pass the projector with --mmproj, as its multimodal docs describe. MiniCPM-V 4.7 needs build b11551 or later, the first to include PR #29416 (10 October).

# Gemma 4 12B: model and projector in one step
llama-server -hf ggml-org/gemma-4-12B-it-GGUF:Q4_0

# MiniCPM-V 4.7 from local files (openbmb/MiniCPM-V-4.7-35B-A3B-gguf)
llama-server -m MiniCPM-V-4_7-35B-A3B-Q4_K_M.gguf --mmproj mmproj-model-f16.gguf

Then attach images in the server’s web UI, or send them to its OpenAI-compatible /v1/chat/completions endpoint.

MLX. mlx-vlm added MiniCPM-V 4.7 in version 0.7.8 (13 October):

pip install -U mlx-vlm
mlx_vlm.generate --model mlx-community/MiniCPM-V-4.7-35B-A3B-mxfp4 \
  --max-tokens 400 --prompt "Extract this table as Markdown." --image invoice.png

That MXFP4 build is 22.5 GB, so it wants a 32 GB Mac. For Nemotron 3.5 Super VL, install mlx-vlm from its main branch (pip install -U git+https://github.com/Blaizzy/mlx-vlm.git) until a release includes PR #2528.

Ollama. OpenBMB publishes its own namespace; Gemma 4 is in the main library:

ollama run openbmb/minicpm-v4.7      # 35b-a3b, Q4_K_M, 22 GB
ollama run gemma4:12b                 # 7.7–8.0 GB

At the Ollama prompt, include the image’s file path in your message and Ollama attaches the image.

Known issues

How these picks were made

The LLMCheck Score rates language capability, speed, memory and licence. It has no vision component. So these picks start from the catalog’s image-capable models and keep those whose model card confirms image input and that run on a Mac. Each RAM tier is then ranked on the vendors’ published vision scores, the index’s speed figures and the licence. Memory figures are file sizes from the linked Hugging Face repos. Every speed carries its provenance: a filled square is a published figure, a hollow circle is one person’s run, and a hollow diamond is the index’s bandwidth estimate. LLMCheck runs no tests of its own.

Frequently Asked Questions

What is the best local vision model for a Mac?

According to the LLMCheck index, MiniCPM-V 4.7 35B-A3B is the best local vision model for most Macs. It is Apache 2.0, reads images and video, and needs about 22 GB with its vision projector, so it wants a 24–32 GB Mac. Community runs measured 100.2 tok/s on an M5 Max. On 8 GB use Gemma 4 E4B, on 16 GB Gemma 4 12B, and on 96–128 GB Nemotron 3.5 Super VL.

Can an 8 GB Mac run a local vision model?

Yes. Gemma 4 E4B needs about 5.2 GB with its vision projector (a 4.59 GB Q4_0 GGUF plus a 0.56 GB projector), which runs on an 8 GB Mac with other apps closed. Gemma 4 E2B needs about 3.4 GB. Use the plain GGUF files in llama.cpp or LM Studio; Ollama's gemma4 downloads are larger.

How much memory does MiniCPM-V 4.7 need?

The Q4_K_M GGUF is 21.17 GB and its vision projector 1.12 GB, about 22.3 GB together; Ollama's openbmb/minicpm-v4.7 tag is 22 GB. That is tight on a 24 GB Mac, where the Q4_K_S (19.89 GB) or IQ4_XS (18.73 GB) files leave room for context. On 32 GB it is comfortable.

How do I run MiniCPM-V 4.7 on a Mac?

There are three ways. Run ollama run openbmb/minicpm-v4.7. Or use llama.cpp build b11551 or later with the GGUF and its projector passed by --mmproj. Or use mlx-vlm 0.7.8 or later with an MLX build such as mlx-community/MiniCPM-V-4.7-35B-A3B-mxfp4. If you need bounding boxes, note that llama.cpp's coordinate fix (PR #30510) was still open on 18 October 2026.

What is an mmproj file?

It is the vision projector: the image encoder plus the layer that maps image features into the language model, shipped as a separate GGUF file. llama.cpp loads it with --mmproj, or automatically when you use -hf. Without it the model runs text-only.

Which local model is best for screenshots and computer-use agents on a Mac?

Qwen3.8-27B. In OpenBMB's own comparison it scores 93.31 on ScreenSpot, which tests finding interface elements in screenshots, against MiniCPM-V 4.7's 86.99. It is a dense model, so it is slower: about 9 tok/s community-measured on a Mac mini M6, and about 29 tok/s estimated on an M5 Max.

Which local vision model is best for OCR and documents?

On a 24–32 GB Mac, MiniCPM-V 4.7 35B-A3B. OpenBMB reports OCRBench 91.20 and OmniDocBench v1.6 94.24, ahead of Qwen3.6-35B-A3B, Qwen3.8-27B and Gemma 4 31B in its own evaluation; these are vendor-reported scores. On a 96–128 GB Mac, Nemotron 3.5 Super VL is NVIDIA's document-focused alternative.