# ThinkingConfig

data class ThinkingConfig(val includeThoughts: Boolean? = null, val thinkingBudget: Int? = null, val thinkingLevel: ThinkingLevel? = null)

The thinking features configuration.

## Constructors

ThinkingConfig
Link copied to clipboard
constructor(includeThoughts: Boolean? = null, thinkingBudget: Int? = null, thinkingLevel: ThinkingLevel? = null)

## Properties

includeThoughts
Link copied to clipboard
val includeThoughts: Boolean? = null

Indicates whether to include thoughts in the response. If true, thoughts are returned only if the model supports thought and thoughts are available.

thinkingBudget
Link copied to clipboard
val thinkingBudget: Int? = null

Indicates the thinking budget in tokens. 0 is DISABLED. -1 is AUTOMATIC. The default values and allowed ranges are model dependent.

thinkingLevel
Link copied to clipboard
val thinkingLevel: ThinkingLevel? = null

Controls the maximum depth of the model's internal reasoning process before it produces a response. If not specified, the default is HIGH. Recommended for Gemini 3 or later models. Use with earlier models results in an error.