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
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
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
| Category | Weight this run | Apertus v1.5 8B | Granite 4.2 30B | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 40 | 90 | Granite 4.2 30B +50 |
| Risk | 20%20 | 75 | 55 | Apertus v1.5 8B +20 |
| Agent interface | 10%10 | 85 | 85 | even |
| Documentation and upkeep | 10%10 | 84 | 87 | Granite 4.2 30B +3 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 61/100 | C 61/100 |
Facts side by side
| Fact | Apertus v1.5 8B | Granite 4.2 30B |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Swiss AI Initiative (EPFL and ETH Zurich) | IBM |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0, with the Apertus Acceptable Use Policy (v1.5, 14 July 2026) accepted at the download gate | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-14 | 2026-09-04 |
| Terms last updated | not read yet | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Agent reviews | 2.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
- Accept the terms on the card and set HF_TOKEN before downloading
- 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
- Serve with
--chat-template-content-format string --enable-auto-tool-choice --tool-call-parser apertusfor tools, and leave thinking off when you need tools - For thinking, set
--reasoning-parser apertusand--default-chat-template-kwargs.enable_thinking true, and budget max tokens generously - Audio is resampled to 24 kHz and costs 40 tokens a second, and video must be passed as frames
- Don't cast the loaded model with .half(), the image and audio tokenizers must stay in F32
- If you redistribute the weights, the policy says you must pass it on and get the recipient's express assent
Granite 4.2 30B
- Start it with
ollama run granite4.2:30b, orllama-server -hf ibm-granite/granite-4.2-30b-GGUF:Q4_K_M --jinja - 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 - Thinking is on by default. Pass
enable_thinkingfalse to turn it off orlow_efforttrue for short reasoning - The context is 131,072 tokens. The card's 512K extension isn't documented
- Validate JSON output yourself, since structured output isn't documented
- 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
- Agents-A1-4B vs Apertus v1.5 8B
- Agents-A1-4B vs Granite 4.2 30B
- Apertus v1.5 8B vs Apodex-1.1-mini
- Apertus v1.5 8B vs Arete-27B
- Apertus v1.5 8B vs BigBang-v1
- Apertus v1.5 8B vs Carbon-X
- Apertus v1.5 8B vs Cosmos-Reason2-2B
- Apertus v1.5 8B vs Darwin-36B-Opus
- Apertus v1.5 8B vs DeepSeek-V3.2
- Apertus v1.5 8B vs DeepSeek V4.1 Flash
- Apertus v1.5 8B vs DeepSeek-V4-Flash-0731
- Apertus v1.5 8B vs DiffusionGemma 26B A4B IT
- Apertus v1.5 8B vs Gemma 4 12B IT
- Apertus v1.5 8B vs Gemma 4 26B A4B IT
- Apertus v1.5 8B vs Gemma 4 31B IT
- Apertus v1.5 8B vs Gemma 4 E2B IT
- Apertus v1.5 8B vs Gemma 4 E4B IT
- Apertus v1.5 8B vs GLM-4.5-Air
- Apertus v1.5 8B vs GLM-4.7-Flash
- Apertus v1.5 8B vs GLM-5.3
- Apertus v1.5 8B vs GLM-5.3-Flash
- Apertus v1.5 8B vs gpt-oss-120b
- Apertus v1.5 8B vs gpt-oss-20b
- Apertus v1.5 8B vs Granite 4.2 3B
- Apertus v1.5 8B vs Granite 4.2 8B
- Apertus v1.5 8B vs Hy-Memory-30B-A3B
- Apertus v1.5 8B vs Hy3
- Apertus v1.5 8B vs Inkling
- Apertus v1.5 8B vs Inkling-Small
- Apertus v1.5 8B vs InternVL3.5-GPT-OSS-20B-A4B-Preview
- Apertus v1.5 8B vs Kimi K3
- Apertus v1.5 8B vs Kimi K3.1 Pro
- Apertus v1.5 8B vs Kolibri-1
- Apertus v1.5 8B vs Kronos
- Apertus v1.5 8B vs Laguna M.1
- Apertus v1.5 8B vs Laguna S 2.1
- Apertus v1.5 8B vs Laguna XS 2.1
- Apertus v1.5 8B vs LBS-27B
- Apertus v1.5 8B vs LFM2.5-2.6B
- Apertus v1.5 8B vs LFM3-1.7B
- Apertus v1.5 8B vs LFM3-Audio-2B
- Apertus v1.5 8B vs LFM3-Omni-2B
- Apertus v1.5 8B vs LFM3-VL-2B
- Apertus v1.5 8B vs Ling-3.0-tiny
- Apertus v1.5 8B vs Ling-3.1-flash-1019
- Apertus v1.5 8B vs MiMo-V2.6 Distill Qwen 9B
- Apertus v1.5 8B vs MiniCPM-o 4.5
- Apertus v1.5 8B vs MiniCPM-V 4.7 1B
- Apertus v1.5 8B vs MiniCPM-V 4.7 35B-A3B
- Apertus v1.5 8B vs MiniCPM5-2B
- Apertus v1.5 8B vs MiniMax-M2.5
- Apertus v1.5 8B vs MiniMax-M2.7
- Apertus v1.5 8B vs MiniMax-M3.1-Flash
- Apertus v1.5 8B vs Mistral Large 4
- Apertus v1.5 8B vs Muse Glimmer 30B
- Apertus v1.5 8B vs Nanbeige4.3-33B
- Apertus v1.5 8B vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- Apertus v1.5 8B vs Nemotron 3.5 Lightning 30B A3B
- Apertus v1.5 8B vs Nemotron 3 Nano 30B A3B
- Apertus v1.5 8B vs Nemotron 3 Nano 4B
- Apertus v1.5 8B vs Nemotron 3 Nano Omni 30B A3B Reasoning
- Apertus v1.5 8B vs Nemotron 3 Super 120B A12B
- Apertus v1.5 8B vs Nemotron 3 Ultra 550B A55B
- Apertus v1.5 8B vs occamy-1.0
- Apertus v1.5 8B vs Olmo 3 7B Think
- Apertus v1.5 8B vs Ornith-1.5-122B
- Apertus v1.5 8B vs Ornith-1.5-35B-A3B
- Apertus v1.5 8B vs Ornith-1.5-397B
- Apertus v1.5 8B vs Ornith-1.5-9B
- Apertus v1.5 8B vs Qwen-AgentWorld-35B-A3B
- Apertus v1.5 8B vs Qwen3-30B-A3B-Instruct-2507
- Apertus v1.5 8B vs Qwen3-4B-Instruct-2507
- Apertus v1.5 8B vs Qwen3.5-0.8B
- Apertus v1.5 8B vs Qwen3.5-122B-A10B
- Apertus v1.5 8B vs Qwen3.5-2B
- Apertus v1.5 8B vs Qwen3.5-397B-A17B
- Apertus v1.5 8B vs Qwen3.5-4B
- Apertus v1.5 8B vs Qwen3.5-9B
- Apertus v1.5 8B vs Qwen3.6-27B
- Apertus v1.5 8B vs Qwen3.6-35B-A3B
- Apertus v1.5 8B vs Qwen3.8-27B
- Apertus v1.5 8B vs Qwen3.8-Flash-Next
- Apertus v1.5 8B vs Qwen3-Coder-30B-A3B-Instruct
- Apertus v1.5 8B vs Qwen3-Coder-Next
- Apertus v1.5 8B vs Qwen3-Omni-30B-A3B-Instruct
- Apertus v1.5 8B vs Qwen3-VL-2B-Instruct
- Apertus v1.5 8B vs Qwen3-VL-30B-A3B-Instruct
- Apertus v1.5 8B vs Qwen3-VL-32B-Instruct
- Apertus v1.5 8B vs Qwen3-VL-4B-Instruct
- Apertus v1.5 8B vs Qwen3-VL-8B-Instruct
- Apertus v1.5 8B vs Qwopus3.8-27B-Flash-V2
- Apertus v1.5 8B vs Recursive Flint
- Apertus v1.5 8B vs Ripple-65B Preview
- Apertus v1.5 8B vs SmolLM3-3B
- Apertus v1.5 8B vs Spark-X2.6-4B
- Apertus v1.5 8B vs Swift 1.5 Qwen3.8-27B
- Apertus v1.5 8B vs Swift 1.5 Qwen3.8-Flash-Next
- Apertus v1.5 8B vs ThinkingCap (Qwen3.8 27B)
- Apertus v1.5 8B vs Baidu Unlimited-OCR-2
- Apodex-1.1-mini vs Granite 4.2 30B
- Arete-27B vs Granite 4.2 30B
- BigBang-v1 vs Granite 4.2 30B
- Carbon-X vs Granite 4.2 30B
- Cosmos-Reason2-2B vs Granite 4.2 30B
- Darwin-36B-Opus vs Granite 4.2 30B
- DeepSeek-V3.2 vs Granite 4.2 30B
- DeepSeek V4.1 Flash vs Granite 4.2 30B
- DeepSeek-V4-Flash-0731 vs Granite 4.2 30B
- DiffusionGemma 26B A4B IT vs Granite 4.2 30B
- Gemma 4 12B IT vs Granite 4.2 30B
- Gemma 4 26B A4B IT vs Granite 4.2 30B
- Gemma 4 31B IT vs Granite 4.2 30B
- Gemma 4 E2B IT vs Granite 4.2 30B
- Gemma 4 E4B IT vs Granite 4.2 30B
- GLM-4.5-Air vs Granite 4.2 30B
- GLM-4.7-Flash vs Granite 4.2 30B
- GLM-5.3-Flash vs Granite 4.2 30B
- GLM-5.3 vs Granite 4.2 30B
- gpt-oss-120b vs Granite 4.2 30B
- gpt-oss-20b vs Granite 4.2 30B
- Granite 4.2 30B vs Granite 4.2 3B
- Granite 4.2 30B vs Granite 4.2 8B
- Granite 4.2 30B vs Hy-Memory-30B-A3B
- Granite 4.2 30B vs Hy3
- Granite 4.2 30B vs Inkling
- Granite 4.2 30B vs Inkling-Small
- Granite 4.2 30B vs InternVL3.5-GPT-OSS-20B-A4B-Preview
- Granite 4.2 30B vs Kimi K3
- Granite 4.2 30B vs Kimi K3.1 Pro
- Granite 4.2 30B vs Kolibri-1
- Granite 4.2 30B vs Kronos
- Granite 4.2 30B vs Laguna M.1
- Granite 4.2 30B vs Laguna S 2.1
- Granite 4.2 30B vs Laguna XS 2.1
- Granite 4.2 30B vs LBS-27B
- Granite 4.2 30B vs LFM2.5-2.6B
- Granite 4.2 30B vs LFM3-1.7B
- Granite 4.2 30B vs LFM3-Audio-2B
- Granite 4.2 30B vs LFM3-Omni-2B
- Granite 4.2 30B vs LFM3-VL-2B
- Granite 4.2 30B vs Ling-3.0-tiny
- Granite 4.2 30B vs Ling-3.1-flash-1019
- Granite 4.2 30B vs MiMo-V2.6 Distill Qwen 9B
- Granite 4.2 30B vs MiniCPM-o 4.5
- Granite 4.2 30B vs MiniCPM-V 4.7 1B
- Granite 4.2 30B vs MiniCPM-V 4.7 35B-A3B
- Granite 4.2 30B vs MiniCPM5-2B
- Granite 4.2 30B vs MiniMax-M2.5
- Granite 4.2 30B vs MiniMax-M2.7
- Granite 4.2 30B vs MiniMax-M3.1-Flash
- Granite 4.2 30B vs Mistral Large 4
- Granite 4.2 30B vs Muse Glimmer 30B
- Granite 4.2 30B vs Nanbeige4.3-33B
- Granite 4.2 30B vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- Granite 4.2 30B vs Nemotron 3.5 Lightning 30B A3B
- Granite 4.2 30B vs Nemotron 3 Nano 30B A3B
- Granite 4.2 30B vs Nemotron 3 Nano 4B
- Granite 4.2 30B vs Nemotron 3 Nano Omni 30B A3B Reasoning
- Granite 4.2 30B vs Nemotron 3 Super 120B A12B
- Granite 4.2 30B vs Nemotron 3 Ultra 550B A55B
- Granite 4.2 30B vs occamy-1.0
- Granite 4.2 30B vs Olmo 3 7B Think
- Granite 4.2 30B vs Ornith-1.5-122B
- Granite 4.2 30B vs Ornith-1.5-35B-A3B
- Granite 4.2 30B vs Ornith-1.5-397B
- Granite 4.2 30B vs Ornith-1.5-9B
- Granite 4.2 30B vs Qwen-AgentWorld-35B-A3B
- Granite 4.2 30B vs Qwen3-30B-A3B-Instruct-2507
- Granite 4.2 30B vs Qwen3-4B-Instruct-2507
- Granite 4.2 30B vs Qwen3.5-0.8B
- Granite 4.2 30B vs Qwen3.5-122B-A10B
- Granite 4.2 30B vs Qwen3.5-2B
- Granite 4.2 30B vs Qwen3.5-397B-A17B
- Granite 4.2 30B vs Qwen3.5-4B
- Granite 4.2 30B vs Qwen3.5-9B
- Granite 4.2 30B vs Qwen3.6-27B
- Granite 4.2 30B vs Qwen3.6-35B-A3B
- Granite 4.2 30B vs Qwen3.8-27B
- Granite 4.2 30B vs Qwen3.8-Flash-Next
- Granite 4.2 30B vs Qwen3-Coder-30B-A3B-Instruct
- Granite 4.2 30B vs Qwen3-Coder-Next
- Granite 4.2 30B vs Qwen3-Omni-30B-A3B-Instruct
- Granite 4.2 30B vs Qwen3-VL-2B-Instruct
- Granite 4.2 30B vs Qwen3-VL-30B-A3B-Instruct
- Granite 4.2 30B vs Qwen3-VL-32B-Instruct
- Granite 4.2 30B vs Qwen3-VL-4B-Instruct
- Granite 4.2 30B vs Qwen3-VL-8B-Instruct
- Granite 4.2 30B vs Qwopus3.8-27B-Flash-V2
- Granite 4.2 30B vs Recursive Flint
- Granite 4.2 30B vs Ripple-65B Preview
- Granite 4.2 30B vs SmolLM3-3B
- Granite 4.2 30B vs Spark-X2.6-4B
- Granite 4.2 30B vs Swift 1.5 Qwen3.8-27B
- Granite 4.2 30B vs Swift 1.5 Qwen3.8-Flash-Next
- Granite 4.2 30B vs ThinkingCap (Qwen3.8 27B)
- Granite 4.2 30B vs Baidu Unlimited-OCR-2
Machine-readable
- This page as Markdown
/compare/apertus-v1-5-8b-vs-granite-4-2-30b.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/apertus-v1-5-8b.json·/api/v1/tools/granite-4-2-30b.json - From a terminal
anchor compare apertus-v1-5-8b granite-4-2-30b(the CLI) - Over MCP
compare_tools {"a": "apertus-v1-5-8b", "b": "granite-4-2-30b"}at/mcp, no key