# `Gemini.Types.Interactions.GenerationConfig`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.15.0/lib/gemini/types/interactions/config.ex#L147)

Interactions GenerationConfig (snake_case keys).

# `t`

```elixir
@type t() :: %Gemini.Types.Interactions.GenerationConfig{
  image_config: Gemini.Types.Interactions.ImageConfig.t() | nil,
  max_output_tokens: non_neg_integer() | nil,
  seed: integer() | nil,
  speech_config: [Gemini.Types.Interactions.SpeechConfig.t()] | nil,
  stop_sequences: [String.t()] | nil,
  temperature: float() | nil,
  thinking_level: Gemini.Types.Interactions.ThinkingLevel.t() | nil,
  thinking_summaries: thinking_summaries() | nil,
  tool_choice: Gemini.Types.Interactions.ToolChoice.t() | nil,
  top_p: float() | nil
}
```

# `thinking_summaries`

```elixir
@type thinking_summaries() :: String.t()
```

# `from_api`

```elixir
@spec from_api(map() | nil) :: t() | nil
```

# `to_api`

```elixir
@spec to_api(t() | map() | nil) :: map() | nil
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
