Nous: Hermes 4 405B vs SpaceXAI: Grok 4.20
A side-by-side comparison of Nous: Hermes 4 405B ($3.50 / 1M tokens) and SpaceXAI: Grok 4.20 ($4.38 / 1M tokens) using current USD prices and capabilities from the api14 catalog. Both run through the same OpenAI-compatible API.
Specifications
| Nous: Hermes 4 405B | SpaceXAI: Grok 4.20 | |
|---|---|---|
| Provider | Nous | xAI |
| Input | $3.50 / 1M tokens | $4.38 / 1M tokens |
| Output | $10.50 / 1M tokens | $8.75 / 1M tokens |
| Cache read | $0.70 / 1M tokens | $0.70 / 1M tokens |
| Web search | - | $17.50 / 1K searches |
| Context window | 131,072 | 2,000,000 |
| Max output | 117,964 | 1,800,000 |
| Input | text | text, image, file |
| Output | text | text |
| Tool calling | ||
| Structured output | ||
| Reasoning control | ||
| Added | Aug 26, 2025 | Mar 31, 2026 |
Key differences
- Nous: Hermes 4 405B is 20% cheaper on input tokens.
- SpaceXAI: Grok 4.20 is 17% cheaper on output tokens.
- SpaceXAI: Grok 4.20 reads 15.3× more context (2,000,000 tokens).
- Only SpaceXAI: Grok 4.20 supports tool calling.
- A request with 1,000 input and 500 output tokens costs $0.00875 with Nous: Hermes 4 405B and $0.00875 with SpaceXAI: Grok 4.20.
In depth
Nous: Hermes 4 405B is a text model from Nous, released on 2025-08-26. SpaceXAI: Grok 4.20 is a text model from xAI, released on 2026-03-31. Both are served through api14 as chat models in the text category, so the choice between them comes down to context, modalities, parameters and price rather than to a difference in what kind of endpoint you call.
The clearest split is context and input. Grok 4.20 has a much larger context window, and it accepts text, images and files as input, while Hermes 4 405B accepts text only and produces text only. Both return text. On parameters, Grok 4.20 is the only one of the two that supports tools and tool_choice, so anything that needs function calling points at Grok 4.20. Hermes 4 405B carries a set of sampling and output controls that Grok 4.20 does not list, including frequency_penalty, presence_penalty, repetition_penalty, top_k and seed-free sampling options, which gives you finer control over how it generates. Both expose reasoning and include_reasoning, logprobs and top_logprobs, response_format and structured_outputs, temperature, top_p and max_tokens, so structured output and reasoning traces are available on either side. On price, Hermes 4 405B is the cheaper of the two for input, while Grok 4.20 is the cheaper for output, so the cost balance depends on how much you send versus how much you generate.
For practical work, reach for Grok 4.20 when the task involves long documents, mixed input such as screenshots or attached files, or agent style flows that need tool calls. Its large context means you can keep more of a conversation or corpus in a single request instead of chunking it yourself. Reach for Hermes 4 405B when the job is pure text and you want tighter control over sampling behaviour, or when your workload is input heavy and the cheaper input rate matters more than the output rate. If you are generating a lot of text relative to what you send, Grok 4.20's cheaper output can offset its higher input cost.
Calling either model through api14 works the same way. Both are OpenAI compatible, so you point your existing client at the api14 base URL, send a normal chat completions request, and change only the model id. Use "nousresearch/hermes-4-405b" for Hermes 4 405B and "x-ai/grok-4.20" for Grok 4.20. The request shape, authentication and response format stay the same, so switching between them is a one line change and you can compare outputs on your own data without rewriting integration code.
There are still cases where the other model wins. If you need tool calling, image or file input, or a context window far beyond what Hermes 4 405B offers, Grok 4.20 is the only option of the two. If instead you want the cheaper input side and the extra sampling parameters, Hermes 4 405B remains the better fit even though Grok 4.20 is cheaper on output.
Switch with one string
Both models use the same endpoint and request shape. Change the model value from "nousresearch/hermes-4-405b" to "x-ai/grok-4.20" and prompts, streaming and tools keep working.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "x-ai/grok-4.20",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
]
});
console.log(result.choices[0].message.content);
More comparisons
- LiquidAI: LFM3-1.7B vs Ricursive: Ripple 65B Preview
- LiquidAI: LFM3-1.7B vs Crouton Alpha
- LiquidAI: LFM3-1.7B vs Tencent: Hy4
- LiquidAI: LFM3-1.7B vs Z.ai: GLM 5.3 FlashX Legal
- Ricursive: Ripple 65B Preview vs Crouton Alpha
- Ricursive: Ripple 65B Preview vs Tencent: Hy4
- Ricursive: Ripple 65B Preview vs Z.ai: GLM 5.3 FlashX Legal
- Crouton Alpha vs Tencent: Hy4