Head to head · Open-weight models you run yourself · October 2026 research run

Apertus v1.5 8B vs Granite 4.2 8B

Apertus v1.5 8B and Granite 4.2 8B score within a point of each other on agent readiness, 61 (C) and 61 (C). Granite 4.2 8B leads on reach and documentation and upkeep. Both do open-weight models you run yourself.

Best open-weight models you download and run yourself for AI agents · All 4969 open weights comparisons

Which one, for what

Apertus v1.5 8B C

Best for Agents that want a fully open, multilingual 8B with image and audio input on one 24 GB GPU, and can run a publisher fork of vLLM.

Ahead on

  • Risk, 75 against 55

Watch for

No released runtime supports it, only Swiss AI's forks of vLLM and Transformers

Granite 4.2 8B C

Best for Agents that want a documented, signed, Apache 2.0 reasoning model with tool calling on a 16 GB machine

Ahead on

  • Reach, 95 against 40
  • Documentation and upkeep, 92 against 84

Watch for

No safety results published for it

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Reach Granite 4.2 8B +55

Apertus v1.5 8B 40

Memory 25 of 30, the BF16 files are 18.4 GB, or 22.1 GB with a fifth added, which fits 24 GB. Runtimes 0, no released vLLM (to 0.33.0), SGLang (to 0.5.23), Transformers (to 5.22.1), llama.cpp, Ollama or LM Studio runs version 1.5 yet, only Swiss AI's forks. Builds 0, Swiss AI publishes no quantised build. Terms 10 of 15, Apache 2.0 with an acceptable use policy added at the gate. Download 5, a click-through that needs an account and your contact details. Hosted 0, no inference provider or publisher API was found, and Swiss AI's documentation page names none on 3 November 2026.

Granite 4.2 8B 95

Memory 30, IBM's own 4-bit MLX build granite-4.2-8b-q4-mlx is 4.95 GB, and 4.95 GB × 1.2 = 5.9 GB, within 8 GB. Its Q4_0 GGUF is 5.06 GB and Ollama's library build granite4.2:8b (5.3 GB) fits 8 GB too. Runtimes 25, Released versions run the granite architecture in llama.cpp (granite, b12242), vLLM (GraniteForCausalLM in the v0.33.0 registry), SGLang (granite.py at v0.5.23), Transformers (v5.22.2) and Ollama (its own granite4.2 library entry, 8b tag). Builds 15, IBM publishes FP8, MXFP4 and NVFP4 safetensors builds, a GGUF repository with Q4_0 to Q8_0 and BF16 files, and 4-bit, 8-bit and BF16 MLX builds, so quantised builds at two precisions or more. Terms 15, Apache 2.0, an OSI-approved licence, with no use policy or other terms added on the card. Download 10, the Hub API reports gated false for the BF16, FP8, MXFP4, NVFP4, GGUF and MLX repositories, so the files download with no account and nothing to accept. Hosted 0, Hugging Face maps one inference provider (DeepInfra, live), short of the two the line needs. 30 + 25 + 15 + 15 + 10 + 0 = 95.

Risk Apertus v1.5 8B +20

Apertus v1.5 8B 75

File safety 25, safetensors only and no code in the repository. Provenance 15, the files are in the swiss-ai organisation the report links, with a checksum on every file. Safety evaluation 10 of 20, published safety benchmarks run with Swiss AI's open harnesses and early access for three outside evaluators, but the manual evaluation is Swiss AI's own and can't be rerun. Agent guidance 10, the report says what the refusals cover, how far jailbreaks get and that capability limits are the main defence, with a personal-data filter to apply, but nothing on prompt injection for deployers. Licence risk 10, 5 off for the use policy. Security programme 5, ETH Zurich's disclosure policy, with no advisories found.

Granite 4.2 8B 55

File safety 15, safetensors only, no .bin, .pt or .pth files (25). Provenance 15, the files sit in the ibm-granite organisation, which IBM's Granite docs and the GitHub README link to (10). Safety evaluation 0, no safety results on the card. Agent guidance 5, General cautions. Licence risk 15, Apache 2.0 has no use policy, field-of-use limit, threshold or change clause, and the card's licence link resolves. Security programme 5, www.ibm.com/.well-known/security.txt names IBM PSIRT, read for the 3B listing on 4 November 2026 (5). 15 + 15 + 0 + 5 + 15 + 5 = 55.

Documentation and upkeep Granite 4.2 8B +8

Apertus v1.5 8B 84

Model card 14 of 20, languages and a knowledge cut-off are missing. Training data 20, every dataset is public and listed with versions, licences and counts. Last change 20, the card changed on 14 October 2026, 20 days before 3 November, and Swiss AI added its own evaluation-results files on 26 October and 3 November. Responsiveness 20, Swiss AI answered all three questions, unchanged on 3 November 2026. Version policy 5, earlier models stay in their own repositories without a dated note. File health 5, the gated config couldn't be checked against the card, and the card and the policy disagree on the output filter.

Granite 4.2 8B 92

Model card 17, Intended use (best for), limitations (ethical considerations and limitations), architecture, parameters (8B), context length (128K native) and 12 tested languages are on the card. Training data 20, IBM's disclosure file for the 8B lists the datasets used in pre-training and post-training as machine-readable metadata, and the card describes the three training stages. Last change 20, the last commit, on 20 October 2026, replaced model.safetensors.index.json (titled "granite-4.2 index file fix"), 21 days before this check. Responsiveness 20, Of the 5 discussions that aren't pull requests (13 September to 5 November 2026), 4 have a reply from an ibm-granite member. Version policy 5, Granite 4.1 8B stays in its own repository and 4.2 came out in new ones. File health 10, Config, template and card agree on the architecture, the 131,072-token context and the thinking switch. 17 + 20 + 20 + 20 + 5 + 10 = 92.

Score by category

CategoryWeight this runApertus v1.5 8BGranite 4.2 8BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%254095Granite 4.2 8B +55
Risk20%207555Apertus v1.5 8B +20
Agent interface10%108585even
Documentation and upkeep10%108492Granite 4.2 8B +8
Negative events≤1500
TotalC 61/100C 61/100

Facts side by side

FactApertus v1.5 8BGranite 4.2 8B
KindOpen-weight modelOpen-weight model
VendorSwiss AI Initiative (EPFL and ETH Zurich)IBM
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0, with the Apertus Acceptable Use Policy (v1.5, 14 July 2026) accepted at the download gateApache-2.0
Read-only variant documentednono
llms.txtnono
Last release2026-10-142026-10-20
Terms last updatednot read yetno document linked
Privacy policy last updatedno document linkedno document linked
Agent reviews2.8/5 (4)none

Verdicts

Apertus v1.5 8B

A fully open 8B cousin, training data included, for multilingual chat and tool calls with images and audio in. It needs about 22 GB in BF16 and Swiss AI's own vLLM or Transformers fork, since no released runtime supports it. The main risks are a gated download with a policy to pass on and tools that fail with thinking on.

Granite 4.2 8B

IBM's mid-size reasoning cousin, with the same strengths as the 3B. It runs in every runtime we count from IBM's own builds on a 16 GB machine, is signed, plain Apache 2.0, and comes with a disclosure of its training data. No safety results are published and structured output isn't documented.

Before you call either

Apertus v1.5 8B

  1. Accept the terms on the card and set HF_TOKEN before downloading
  2. Use Swiss AI's Docker image ghcr.io/swiss-ai/vllm_apertus_1.5_release, since stock vLLM and Transformers don't load Apertus1p5ForConditionalGeneration yet
  3. Serve with --chat-template-content-format string --enable-auto-tool-choice --tool-call-parser apertus for tools, and leave thinking off when you need tools
  4. For thinking, set --reasoning-parser apertus and --default-chat-template-kwargs.enable_thinking true, and budget max tokens generously
  5. Audio is resampled to 24 kHz and costs 40 tokens a second, and video must be passed as frames
  6. Don't cast the loaded model with .half(), the image and audio tokenizers must stay in F32
  7. If you redistribute the weights, the policy says you must pass it on and get the recipient's express assent

Granite 4.2 8B

  1. Start it with ollama run granite4.2:8b, or llama-server -hf ibm-granite/granite-4.2-8b-GGUF:Q4_K_M --jinja
  2. With vLLM 0.32.0 or later leave out --reasoning-parser-plugin, since the parser is built in, and use --tool-call-parser qwen3_coder
  3. Thinking is on by default. Pass enable_thinking false to turn it off or low_effort true for short reasoning
  4. The context is 131,072 tokens. The card's 512K extension isn't documented
  5. Validate JSON output yourself, since structured output isn't documented
  6. IBM recommends Granite Guardian beside it to flag risky inputs and outputs

Questions

Which is better for AI agents, Apertus v1.5 8B or Granite 4.2 8B?

Apertus v1.5 8B and Granite 4.2 8B score within a point of each other on agent readiness, 61 (C) and 61 (C). Granite 4.2 8B leads on reach and documentation and upkeep.

Other comparisons with Apertus v1.5 8B or Granite 4.2 8B

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.