Skip to main content
Lesson 4 of 12 · Grok Reasoning Models

Reasoning Effort: Low, Medium, and High

Lesson 4 of 12 Updated November 3, 2026 Developer
On this page
  1. Control Reasoning Depth
  2. Effort Levels
  3. Impact on Tokens
  4. Choosing the Right Level
  5. Practical Example: Same Question, Three Efforts
  6. Key Takeaways

Updated November 3, 2026 based on the xAI API reference: max_completion_tokens caps only the visible response; reasoning tokens do not count toward this limit, and effort controls their quantity. Source: Chat Completions. November 3 addendum: The lesson previously linked effort to the API (Chat Completions or Responses) and applied it to grok-4.20-0309-reasoning, which does not support it; according to xAI’s Reasoning page, it depends on the model (grok-4.7, grok-4.6, grok-4.5, grok-4.20-multi-agent). The example also read usage.completion_tokens, which is absent from Responses API responses (output_tokens, output_tokens_details.reasoning_tokens). Source: Reasoning.

Control Reasoning Depth

Reasoning effort lets you calibrate how much thinking the model invests before answering. It’s a direct lever for balancing quality, speed, and token consumption.

The model determines availability, not the API. According to xAI documentation:

ModelEffortValues
grok-4.7, grok-4.6Reasoning depthlow, medium, high (default), xhigh
grok-4.5Reasoning depthlow, medium, high (default); xhigh is treated as high
grok-4.20-multi-agentNumber of agents mobilized (4 or 16), not depthlow, medium, high, xhigh
grok-4.20-0309-reasoningNot configurable: the model always reasons—

Reasoning cannot be disabled on these models: without configuration, effort defaults to high. Only the parameter name changes depending on the API: reasoning_effort at the top level in Chat Completions, reasoning.effort inside a reasoning object with the Responses API.

{
  "model": "grok-4.7",
  "input": "Solve the system of equations: 3x + 2y = 12, x - y = 1",
  "reasoning": {
    "effort": "medium"
  }
}

Effort Levels

The documentation describes each level and its appropriate use:

  • low: Uses some reasoning while staying fast. For latency-sensitive agentic uses and simple tool calls.
  • medium: More reflection, for applications less sensitive to latency. For complex data analysis and reasoning over long contexts.
  • high (default): Many more reasoning tokens. For very difficult problems, complex mathematics, multi-step logic.
  • xhigh: Maximum depth, with corresponding latency. For the hardest problems, when quality matters more than response time.

xAI best practices add a simple rule: set effort explicitly on every request, and log it with every result, so your measurements remain comparable.

Reasoning models also reject three parameters: presence_penalty, frequency_penalty, and stop will fail the request.

Impact on Tokens

Effort level has a direct impact on reasoning token consumption:

  • low: Few reasoning tokens, fast response, low cost
  • medium: Moderate consumption, good compromise
  • high and xhigh: Many reasoning tokens, slower response, high cost

These reasoning tokens are billed as output tokens (see Lesson 8). The output cap (max_completion_tokens in Chat Completions, max_output_tokens in the Responses API) limits only the visible response: reasoning does not count toward it, so effort controls their quantity.

Choosing the Right Level

TaskRecommended Effort
Text classificationlow
Summary with analysismedium
Structured entity extractionlow
Equation solvinghigh
Code bug analysishigh
Text reformulationlow
Option comparison with pros/consmedium
Mathematical proofhigh

Practical Example: Same Question, Three Efforts

for effort in ["low", "medium", "high"]:
    response = client.responses.create(
        model="grok-4.7",
        input="Explain why 0.1 + 0.2 != 0.3 in computing.",
        reasoning={"effort": effort},
    )
    usage = response.usage
    print(f"Effort {effort}: {usage.output_tokens} output tokens, "
          f"including {usage.output_tokens_details.reasoning_tokens} reasoning tokens")

The gap between levels depends on the question: measure it on your own cases rather than relying on a general ratio, and log the effort with every result.

Key Takeaways

  • Effort depends on the model: low, medium, high (default), and xhigh on grok-4.7 and grok-4.6, without xhigh on grok-4.5; grok-4.20-0309-reasoning does not support it
  • reasoning_effort in Chat Completions, reasoning.effort in the Responses API; reasoning cannot be disabled
  • Effort level directly impacts the number of reasoning tokens and therefore cost
  • Without configuration, effort defaults to high: set it explicitly on every request, as xAI recommends
  • Adapt effort to the actual complexity of the task to optimize costs