Gemma 4 31B vs Granite 4.2 8B
Practical read: Gemma 4 31B reads two times more context. Granite 4.2 8B costs about half as much. One API key runs both.
No card required. Start with 1 million free tokens.
Side by side:
| Attribute | Gemma 4 31B | Granite 4.2 8B |
|---|---|---|
| Price, 1M in + out | $0.46 Weights & Biases, cheapest route | $0.22 Weights & Biases, cheapest route |
| Best for | Long documents | Low cost |
| Input / output, 1M | $0.11 / $0.36 | $0.063 / $0.16 |
| Cached input | $0.060927/1M to $0.26375/1M | $0.015825/1M |
| Context window | 262K 262,144 tokens | 131K 131,072 tokens |
| First token, p50 | 0.78 s via Tinfoil | Measuring |
| Throughput | 250 tok/s via FriendliAI | Measuring |
| AI IQ | IQ 101 #120 on AI IQ | IQ 94 #151 on AI IQ |
| Provider routes | 14 with failover | 2 with failover |
| Privacy | Confidential E2EE and zero retention route | Varies by provider |
| Recent route uptime range | 100.00% | not enough data |
| Publisher | Google AI Studio | IBM |
| Modes | chat | chat |
| More detail |
Price adds one million input and one million output tokens on the cheapest route. Prices and speed change: see the monthly reports and run a small eval before you choose a default.
Test both with your agent
Paste this into Claude Code, Cursor or any coding agent.
Compare Gemma 4 31B and Granite 4.2 8B in this project through TrustedRouter.
1. Read https://trustedrouter.com/docs/llms.txt
2. Point the OpenAI-compatible client at
https://api.trustedrouter.com/v1 and read the key from
TRUSTEDROUTER_API_KEY.
3. Run our eval prompts on google/gemma-4-31b-it, then on ibm-granite/granite-4.2-8b.
4. Show me cost, latency and quality side by side before changing the default.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.trustedrouter.com/v1",
api_key=os.environ["TRUSTEDROUTER_API_KEY"],
)
for model in ("google/gemma-4-31b-it", "ibm-granite/granite-4.2-8b"):
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "What is the capital of France?"}],
)
print(model, response.choices[0].message.content)
for model in google/gemma-4-31b-it ibm-granite/granite-4.2-8b; do
curl https://api.trustedrouter.com/v1/chat/completions \
-H "Authorization: Bearer $TRUSTEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"model\": \"$model\", \"messages\": [{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]}"
done
Questions
Which should I use, Google: Gemma 4 31B or IBM: Granite 4.2 8B?
Google: Gemma 4 31B has more Credits provider routes and the larger context window. IBM: Granite 4.2 8B has the lower published input-plus-output rate. There is not enough recent probe data to compare speed.
Is Google: Gemma 4 31B or IBM: Granite 4.2 8B cheaper?
The current cheapest TrustedRouter route is $0.4642/1M for Google: Gemma 4 31B and $0.22155/1M for IBM: Granite 4.2 8B. The comparison uses current catalog prices and updates as provider pricing changes.
Is Google: Gemma 4 31B or IBM: Granite 4.2 8B faster?
Current measured p50 time to first token is 781 ms for Google: Gemma 4 31B and not enough data for IBM: Granite 4.2 8B. These are routed probe measurements, not vendor-advertised speeds, and update as new samples arrive.
Can I test Google: Gemma 4 31B and IBM: Granite 4.2 8B with the same API?
Yes. Use the same OpenAI-compatible TrustedRouter base URL and API key, then change only the model id between google/gemma-4-31b-it and ibm-granite/granite-4.2-8b. This makes side-by-side evals possible without maintaining two provider integrations.
More comparisons
All comparisonsTry Gemma 4 31B and Granite 4.2 8B with one key.
TrustedRouter is useful when you know the model you want, but still need provider rollover, budget limits, usage records, and a prompt path you can verify.
No card required. Start with 1 million free tokens.