Gemini.Types.GenerationConfig.ThinkingConfig (GeminiEx v0.8.2)

View Source

Configuration for thinking/reasoning in Gemini models.

Use thinking_level for Gemini 3 models:

  • :low - Minimizes latency and cost. Best for simple tasks.
  • :high - Maximizes reasoning depth (default for Gemini 3).

Note: :medium is not currently supported.

Gemini 2.5 (Legacy)

Use thinking_budget for Gemini 2.5 models:

  • 0 - Disable thinking (Flash/Lite only)
  • -1 - Dynamic thinking
  • Positive integer - Fixed token budget

Important

You cannot use both thinking_level and thinking_budget in the same request. Doing so will return a 400 error from the API.

Summary

Types

t()

Thinking configuration for Gemini models

Types

t()

@type t() :: %Gemini.Types.GenerationConfig.ThinkingConfig{
  include_thoughts: boolean() | nil,
  thinking_budget: integer() | nil,
  thinking_level: thinking_level() | nil
}

Thinking configuration for Gemini models

thinking_level()

@type thinking_level() :: :low | :medium | :high