# GenerateContentRequest.Builder


```
class GenerateContentRequest.Builder
```

<br />

*** ** * ** ***

Builder for `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest`.

## Summary

| ### Public constructors |
|---|
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#Builder(com.google.mlkit.genai.prompt.Content)(content: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/Content)` |
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#Builder(kotlin.collections.List)(contents: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/Content>)` |
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#Builder(com.google.mlkit.genai.prompt.TextPart)(text: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/TextPart)` |
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#Builder(com.google.mlkit.genai.prompt.ImagePart,com.google.mlkit.genai.prompt.TextPart)(image: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/ImagePart, text: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/TextPart)` |
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#Builder(com.google.mlkit.genai.prompt.SystemInstruction,com.google.mlkit.genai.prompt.TextPart)(systemInstruction: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/SystemInstruction, text: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/TextPart)` |
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#Builder(com.google.mlkit.genai.prompt.SystemInstruction,com.google.mlkit.genai.prompt.ImagePart,com.google.mlkit.genai.prompt.TextPart)( systemInstruction: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/SystemInstruction, image: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/ImagePart, text: https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/TextPart )` |

| ### Public functions |
|---|---|
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#build()()` |
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder` | `@https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#setTools(kotlin.collections.List)(tools: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/schema/tools/FunctionDeclaration>)` Sets the list of tools, i.e. `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#dynamicTools()`. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#cachedContextName()` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#candidateCount()` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/schema/tools/FunctionDeclaration>?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#dynamicTools()` Tool declarations built at runtime (both app-defined dynamic tools and AppFunction tools). |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#enableThinking()` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#maxOutputTokens()` |
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/PromptPrefix?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#promptPrefix()` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#seed()` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#sessionId()` An optional identifier for tracking multi-turn conversational sessions across generation requests in telemetry and caching. |
| `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/SystemInstruction?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#systemInstruction()` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#temperature()` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html?` | `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#topK()` |

## Public constructors

### Builder

```
Builder(content: Content)
```

### Builder

```
Builder(contents: List<Content>)
```

### Builder

```
Builder(text: TextPart)
```

### Builder

```
Builder(image: ImagePart, text: TextPart)
```

### Builder

```
Builder(systemInstruction: SystemInstruction, text: TextPart)
```

### Builder

```
Builder(
    systemInstruction: SystemInstruction,
    image: ImagePart,
    text: TextPart
)
```

## Public functions

### build

```
fun build(): GenerateContentRequest
```

### setTools

```
@CanIgnoreReturnValue
fun setTools(tools: List<FunctionDeclaration>): GenerateContentRequest.Builder
```

Sets the list of tools, i.e. `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#dynamicTools()`.

This list can include both functions implemented directly by this app and AppFunction tools discovered via `AppFunctionTools.getAppFunctions`.

| Parameters |
|---|---|
| `tools: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/schema/tools/FunctionDeclaration>` | declarations of runtime tools in the form of `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/schema/tools/FunctionDeclaration`s. |

## Public properties

### cachedContextName

```
var cachedContextName: String?
```

### candidateCount

```
var candidateCount: Int?
```

### dynamicTools

```
var dynamicTools: List<FunctionDeclaration>?
```

Tool declarations built at runtime (both app-defined dynamic tools and AppFunction tools). See `https://developers.google.com/android/reference/kotlin/com/google/mlkit/genai/prompt/GenerateContentRequest.Builder#setTools(kotlin.collections.List)`.

### enableThinking

```
var enableThinking: Boolean
```

### maxOutputTokens

```
var maxOutputTokens: Int?
```

### promptPrefix

```
var promptPrefix: PromptPrefix?
```

### seed

```
var seed: Int?
```

### sessionId

```
var sessionId: String?
```

An optional identifier for tracking multi-turn conversational sessions across generation requests in telemetry and caching.

When provided, the session ID must be non-blank, at most 128 characters, and contain only alphanumeric characters, underscores (`_`), hyphens (`-`), or dots (`.`), and cannot be `.` or `..`.

| Throws |
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html` | if the provided session ID does not meet these criteria. |

### systemInstruction

```
var systemInstruction: SystemInstruction?
```

### temperature

```
var temperature: Float?
```

### topK

```
var topK: Int?
```