---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/llm/transformers_js/helpers/interfaces/ChatGenerationOptions.md
description: >-
  The canonical generation options both on-device batteries accept. Every field
  optional + defaulted.
---

# Interface: ChatGenerationOptions

Defined in: [src/batteries/llm/chat\_common/generation.ts:33](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L33)

The canonical generation options both on-device batteries accept. Every field optional + defaulted.

## Properties

| Property                                               | Type                                            | Description                                                                                                                                                                                                                                                                                                  | Defined in                                                                                                                                            |
| ------------------------------------------------------ | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|  `enableThinking?` | `boolean`                                       | Whether to enable the model's "thinking"/reasoning mode, passed EXPLICITLY to the chat template. Default `false` — many reasoning templates default thinking ON and burn the budget. Already shared by both batteries under this exact name; restated here so the whole generation contract is in one place. | [src/batteries/llm/chat\_common/generation.ts:54](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L54) |
|  `maxTokens?`           | `number`                                        | Maximum tokens to GENERATE this turn. The portable spelling of transformers.js `maxNewTokens` / LiteRT `maxOutputTokens`. Default `1024`.                                                                                                                                                                    | [src/batteries/llm/chat\_common/generation.ts:38](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L38) |
|  `multimodal?`         | { `audio?`: `boolean`; `image?`: `boolean`; } | Enable multimodal input by kind. The portable spelling of transformers.js `multimodal:{image,audio}` / LiteRT `visionModalityEnabled`+`audioModalityEnabled`.                                                                                                                                                | [src/batteries/llm/chat\_common/generation.ts:59](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L59) |
| `multimodal.audio?`                                    | `boolean`                                       | -                                                                                                                                                                                                                                                                                                            | [src/batteries/llm/chat\_common/generation.ts:59](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L59) |
| `multimodal.image?`                                    | `boolean`                                       | -                                                                                                                                                                                                                                                                                                            | [src/batteries/llm/chat\_common/generation.ts:59](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L59) |
|  `sampler?`               | [`ChatSampler`](../type-aliases/ChatSampler.md) | Sampler strategy (default `'greedy'` — deterministic). See [ChatSampler](../type-aliases/ChatSampler.md).                                                                                                                                                                                                    | [src/batteries/llm/chat\_common/generation.ts:40](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L40) |
|  `seed?`                     | `number`                                        | RNG seed for reproducible sampling (best-effort; only honoured by batteries that expose it).                                                                                                                                                                                                                 | [src/batteries/llm/chat\_common/generation.ts:48](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L48) |
|  `temperature?`       | `number`                                        | Sampling temperature, used when `sampler` is `'top-k'`/`'top-p'`. Always pinned. Default `0.7`.                                                                                                                                                                                                              | [src/batteries/llm/chat\_common/generation.ts:42](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L42) |
|  `topK?`                     | `number`                                        | Top-K cutoff, used when `sampler` is `'top-k'`. Default `40`.                                                                                                                                                                                                                                                | [src/batteries/llm/chat\_common/generation.ts:44](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L44) |
|  `topP?`                     | `number`                                        | Top-P (nucleus) cutoff, used when `sampler` is `'top-p'`. Default `0.95`.                                                                                                                                                                                                                                    | [src/batteries/llm/chat\_common/generation.ts:46](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/generation.ts#L46) |
