Class GenerateContentConfig

java.lang.Object
com.google.genai.JsonSerializable
com.google.genai.types.GenerateContentConfig

public abstract class GenerateContentConfig extends JsonSerializable
Optional model configuration parameters.

For more information, see `Content generation parameters <https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/content-generation-parameters>`_.

  • Constructor Details

    • GenerateContentConfig

      public GenerateContentConfig()
  • Method Details

    • httpOptions

      public abstract Optional<HttpOptions> httpOptions()
      Used to override HTTP request options.
    • shouldReturnHttpResponse

      public abstract Optional<Boolean> shouldReturnHttpResponse()
      If true, the raw HTTP response will be returned in the 'sdk_http_response' field.
    • systemInstruction

      public abstract Optional<Content> systemInstruction()
      Instructions for the model to steer it toward better performance. For example, "Answer as concisely as possible" or "Don't use technical terms in your response".
    • temperature

      public abstract Optional<Float> temperature()
      Value that controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results.
    • topP

      public abstract Optional<Float> topP()
      Tokens are selected from the most to least probable until the sum of their probabilities equals this value. Use a lower value for less random responses and a higher value for more random responses.
    • topK

      public abstract Optional<Float> topK()
      For each token selection step, the ``top_k`` tokens with the highest probabilities are sampled. Then tokens are further filtered based on ``top_p`` with the final token selected using temperature sampling. Use a lower number for less random responses and a higher number for more random responses.
    • candidateCount

      public abstract Optional<Integer> candidateCount()
      Number of response variations to return.
    • maxOutputTokens

      public abstract Optional<Integer> maxOutputTokens()
      Maximum number of tokens that can be generated in the response.
    • stopSequences

      public abstract Optional<List<String>> stopSequences()
      List of strings that tells the model to stop generating text if one of the strings is encountered in the response.
    • responseLogprobs

      public abstract Optional<Boolean> responseLogprobs()
      Whether to return the log probabilities of the tokens that were chosen by the model at each step.
    • logprobs

      public abstract Optional<Integer> logprobs()
      Number of top candidate tokens to return the log probabilities for at each generation step.
    • presencePenalty

      public abstract Optional<Float> presencePenalty()
      Positive values penalize tokens that already appear in the generated text, increasing the probability of generating more diverse content.
    • frequencyPenalty

      public abstract Optional<Float> frequencyPenalty()
      Positive values penalize tokens that repeatedly appear in the generated text, increasing the probability of generating more diverse content.
    • seed

      public abstract Optional<Integer> seed()
      When ``seed`` is fixed to a specific number, the model makes a best effort to provide the same response for repeated requests. By default, a random number is used.
    • responseMimeType

      public abstract Optional<String> responseMimeType()
      Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
    • responseSchema

      public abstract Optional<Schema> responseSchema()
      The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response.

      If `response_schema` doesn't process your schema correctly, try using `response_json_schema` instead.

    • responseJsonSchema

      public abstract Optional<Object> responseJsonSchema()
      Optional. Output schema of the generated response. This is an alternative to `response_schema` that accepts [JSON Schema](https://json-schema.org/). If set, `response_schema` must be omitted, but `response_mime_type` is required. While the full JSON Schema may be sent, not all features are supported. Specifically, only the following properties are supported: - `$id` - `$defs` - `$ref` - `$anchor` - `type` - `format` - `title` - `description` - `enum` (for strings and numbers) - `items` - `prefixItems` - `minItems` - `maxItems` - `minimum` - `maximum` - `anyOf` - `oneOf` (interpreted the same as `anyOf`) - `properties` - `additionalProperties` - `required` The non-standard `propertyOrdering` property may also be set. Cyclic references are unrolled to a limited degree and, as such, may only be used within non-required properties. (Nullable properties are not sufficient.) If `$ref` is set on a sub-schema, no other properties, except for than those starting as a `$`, may be set.
    • routingConfig

      public abstract Optional<GenerationConfigRoutingConfig> routingConfig()
      Configuration for model router requests.
    • modelSelectionConfig

      public abstract Optional<ModelSelectionConfig> modelSelectionConfig()
      Configuration for model selection.
    • safetySettings

      public abstract Optional<List<SafetySetting>> safetySettings()
      Safety settings in the request to block unsafe content in the response.
    • tools

      public abstract Optional<List<Tool>> tools()
      Code that enables the system to interact with external systems to perform an action outside of the knowledge and scope of the model.
    • toolConfig

      public abstract Optional<ToolConfig> toolConfig()
      Associates model output to a specific function call.
    • labels

      public abstract Optional<Map<String,String>> labels()
      Labels with user-defined metadata for the request.
    • cachedContent

      public abstract Optional<String> cachedContent()
      Resource name of a context cache that can be used in subsequent requests.
    • responseModalities

      public abstract Optional<List<String>> responseModalities()
      The requested modalities of the response. Represents the set of modalities that the model can return.
    • mediaResolution

      public abstract Optional<MediaResolution> mediaResolution()
      If specified, the media resolution specified will be used.
    • speechConfig

      public abstract Optional<SpeechConfig> speechConfig()
      The speech generation configuration.
    • audioTimestamp

      public abstract Optional<Boolean> audioTimestamp()
      If enabled, audio timestamp will be included in the request to the model.
    • automaticFunctionCalling

      public abstract Optional<AutomaticFunctionCallingConfig> automaticFunctionCalling()
      The configuration for automatic function calling.
    • thinkingConfig

      public abstract Optional<ThinkingConfig> thinkingConfig()
      The thinking features configuration.
    • imageConfig

      public abstract Optional<ImageConfig> imageConfig()
      The image generation configuration.
    • enableEnhancedCivicAnswers

      public abstract Optional<Boolean> enableEnhancedCivicAnswers()
      Enables enhanced civic answers. It may not be available for all models. This field is not supported in Gemini Enterprise Agent Platform.
    • modelArmorConfig

      public abstract Optional<ModelArmorConfig> modelArmorConfig()
      Settings for prompt and response sanitization using the Model Armor service. If supplied, safety_settings must not be supplied.
    • serviceTier

      public abstract Optional<ServiceTier> serviceTier()
      The service tier to use for the request. For example, ServiceTier.FLEX.
    • audioTranscriptionConfig

      public abstract Optional<AudioTranscriptionConfig> audioTranscriptionConfig()
      Optional. Configuration for audio transcription (speech recognition).
    • continuationToken

      public abstract Optional<byte[]> continuationToken()
      An opaque continuation token used to resume generation from a previous response that stopped with `finish_reason` set to `CONTINUATION`.
    • automaticContinuation

      public abstract Optional<Boolean> automaticContinuation()
      Defaults to true. When a response ends with finish reason `CONTINUATION`, the SDK sends the same request again with the response's continuation token until the model finishes. Timeouts, retries and billing apply to each request. Set to false to turn this off.
    • generationOutputConfig

      public abstract Optional<GenerationOutputConfig> generationOutputConfig()
      Optional. Configuration for persisting output assets to external storage.
    • store

      public abstract Optional<Boolean> store()
      Configures the logging behavior for a given request. If set, it takes precedence over the project-level logging config. This field is not supported in Gemini Enterprise Agent Platform.
    • builder

      public static GenerateContentConfig.Builder builder()
      Instantiates a builder for GenerateContentConfig.
    • toBuilder

      public abstract GenerateContentConfig.Builder toBuilder()
      Creates a builder with the same values as this instance.
    • fromJson

      public static GenerateContentConfig fromJson(String jsonString)
      Deserializes a JSON string to a GenerateContentConfig object.