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

Apertus v1.5 8B vs Granite 4.2 30B

Apertus v1.5 8B and Granite 4.2 30B score within a point of each other on agent readiness, 61 (C) and 61 (C). Granite 4.2 30B leads on reach. 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 30B C

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

Ahead on

  • Reach, 90 against 40

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 30B +50

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 30B 90

Memory 25, IBM's own 4-bit MLX build granite-4.2-30b-q4-mlx is 16.47 GB, and 16.47 GB × 1.2 = 19.8 GB, which fits 24 GB but not 16 GB. Its Q4_0 GGUF is 16.58 GB and Ollama's library build granite4.2:30b 18 GB, the same band. 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, 30b 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. 25 + 25 + 15 + 15 + 10 + 0 = 90.

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 30B 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.

Score by category

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

Facts side by side

FactApertus v1.5 8BGranite 4.2 30B
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-09-04
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 30B

IBM's largest reasoning cousin, with the same strengths as the 3B. It runs in every runtime we count from IBM's own builds on a 24 GB card, 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 30B

  1. Start it with ollama run granite4.2:30b, or llama-server -hf ibm-granite/granite-4.2-30b-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 30B?

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

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

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.