> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter-d02e98a0-mintlify-5b6e02fd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ChatGenerationParams - Python SDK

> ChatGenerationParams method reference

<Warning>
  The Python SDK and docs are currently in beta.
  Report issues on [GitHub](https://github.com/OpenRouterTeam/python-sdk/issues).
</Warning>

## Fields

| Field                   | Type                                                                                                                       | Required             | Description                                                                                                                                                                                                                                 |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `provider`              | [OptionalNullable\[components.ChatGenerationParamsProvider\]](../components/chatgenerationparamsprovider.md)               | :heavy\_minus\_sign: | When multiple model providers are available, optionally indicate your routing preference.                                                                                                                                                   |
| `plugins`               | List\[[components.ChatGenerationParamsPluginUnion](/client-sdks/python/components/chatgenerationparamspluginunion)]        | :heavy\_minus\_sign: | Plugins you want to enable for this request, including their settings.                                                                                                                                                                      |
| `route`                 | [OptionalNullable\[components.Route\]](../components/route.md)                                                             | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `user`                  | *Optional\[str]*                                                                                                           | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `session_id`            | *Optional\[str]*                                                                                                           | :heavy\_minus\_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. |
| `messages`              | List\[[components.Message](/client-sdks/python/components/chatgenerationparamspluginunion)]                                | :heavy\_check\_mark: | N/A                                                                                                                                                                                                                                         |
| `model`                 | *Optional\[str]*                                                                                                           | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `models`                | List\[*str*]                                                                                                               | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `frequency_penalty`     | *OptionalNullable\[float]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `logit_bias`            | Dict\[str, *float*]                                                                                                        | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `logprobs`              | *OptionalNullable\[bool]*                                                                                                  | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `top_logprobs`          | *OptionalNullable\[float]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `max_completion_tokens` | *OptionalNullable\[float]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `max_tokens`            | *OptionalNullable\[float]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `metadata`              | Dict\[str, *str*]                                                                                                          | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `presence_penalty`      | *OptionalNullable\[float]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `reasoning`             | [Optional\[components.Reasoning\]](../components/reasoning.md)                                                             | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `response_format`       | [Optional\[components.ChatGenerationParamsResponseFormatUnion\]](../components/chatgenerationparamsresponseformatunion.md) | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `seed`                  | *OptionalNullable\[int]*                                                                                                   | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `stop`                  | [OptionalNullable\[components.ChatGenerationParamsStop\]](../components/chatgenerationparamsstop.md)                       | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `stream`                | *Optional\[bool]*                                                                                                          | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `stream_options`        | [OptionalNullable\[components.ChatStreamOptions\]](../components/chatstreamoptions.md)                                     | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `temperature`           | *OptionalNullable\[float]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `tool_choice`           | *Optional\[Any]*                                                                                                           | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `tools`                 | List\[[components.ToolDefinitionJSON](/client-sdks/python/components/tooldefinitionjson)]                                  | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `top_p`                 | *OptionalNullable\[float]*                                                                                                 | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `debug`                 | [Optional\[components.Debug\]](../components/debug.md)                                                                     | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `image_config`          | Dict\[str, [components.ChatGenerationParamsImageConfig](/client-sdks/python/components/chatgenerationparamsimageconfig)]   | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
| `modalities`            | List\[[components.Modality](/client-sdks/python/api-reference/components/modality)]                                        | :heavy\_minus\_sign: | N/A                                                                                                                                                                                                                                         |
