Skip to main content
Serve the open weights on your own hardware, point base_url at your server, and every example in these docs runs as is.

Pick a setup

Weights are the minimum GPU or unified memory: the KV cache and image encoder come on top. Holo3.1 35B-A3B is what the API serves as holo3-1-35b-a3b. Each Hugging Face model card states its license.

Start a server

Use llama.cpp with Metal and the Q4_K_M GGUF. Prefix caching needs room for the KV cache on top of the 21 GB of weights. If memory is tight, lower --cache-ram and --ctx-size.
The server listens on port 8080: base URL http://localhost:8080/v1. Any string works as the model ID. For Holo4, use the Holo4 GGUF repo instead.

Point your client at it

Use the same client as the Quickstart with a different base_url. The examples target vLLM on port 8000. For llama.cpp, use 8080. The server ignores the API key, but the OpenAI SDKs refuse an empty one.
HoloDesktop CLI’s --model also sets the prompt format, so pass the Holo version you serve (for example holo3-1-35b-a3b for the Holo3.1 recipes). For MCP hosts, see Run the model yourself. To run Agents API sessions on this server, see Run the model on your own GPUs.

Checkpoints

Holo4 checkpoints

Holo4 35B-A3B is under Apache 2.0. Holo4 27B is for research use (CC BY-NC 4.0). Weight sizes are in parentheses.

Holo3.1 checkpoints

The 9B, 4B, and 0.8B sizes are not on the API. They are open weights under Apache 2.0. Throughput: vLLM benchmark tool, agentic workload (12k input tokens, 1k output tokens, three 1080p images per request, concurrency 1). NVFP4 uses NVIDIA Model Optimizer in a W4A16 configuration.
Steps per minute matter more than tokens per second. Model requests per minute for Holo3.1 35B-A3B inside HoloDesktop CLI:On DGX Spark, NVFP4 plus the harness optimizations cut the average step from 6.8 s to 3.3 s, about twice as fast as the FP8 baseline. The fast harness (holo run --fast) takes one screenshot per step, skips thinking, and sends smaller images: quicker, less accurate on fiddly UIs. llama.cpp does not yet cache prefixes or images for the Qwen architecture, which holds its throughput back.