Google Gemini · Schema

GenerateContentRequest

Request to generate a completion from the model. Contains the conversation content, optional tools, safety settings, system instructions, and generation configuration.

Agentic AIArtificial IntelligenceCode GenerationEmbeddingsGenerative AIImage-GenerationLLMMachine-LearningMulti-Modal

Properties

Name Type Description
contents array Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries such as chat, this is a repeated field that contains the co
tools array A list of Tools the Model may use to generate the next response. A Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of
toolConfig object
safetySettings array A list of unique SafetySetting instances for blocking unsafe content. This will be enforced on the GenerateContentRequest.contents and GenerateContentResponse.candidates. There should be at most one s
systemInstruction object
generationConfig object
cachedContent string The name of the cached content used as context to serve the prediction. Format: cachedContents/{cachedContent}.
View JSON Schema on GitHub

JSON Schema

google-gemini-generatecontentrequest-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/GenerateContentRequest",
  "title": "GenerateContentRequest",
  "type": "object",
  "description": "Request to generate a completion from the model. Contains the conversation content, optional tools, safety settings, system instructions, and generation configuration.",
  "required": [
    "contents"
  ],
  "properties": {
    "contents": {
      "type": "array",
      "description": "Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries such as chat, this is a repeated field that contains the conversation history and the latest request.",
      "items": {
        "$ref": "#/components/schemas/Content"
      }
    },
    "tools": {
      "type": "array",
      "description": "A list of Tools the Model may use to generate the next response. A Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the Model.",
      "items": {
        "$ref": "#/components/schemas/Tool"
      }
    },
    "toolConfig": {
      "$ref": "#/components/schemas/ToolConfig"
    },
    "safetySettings": {
      "type": "array",
      "description": "A list of unique SafetySetting instances for blocking unsafe content. This will be enforced on the GenerateContentRequest.contents and GenerateContentResponse.candidates. There should be at most one setting for each SafetyCategory type.",
      "items": {
        "$ref": "#/components/schemas/SafetySetting"
      }
    },
    "systemInstruction": {
      "$ref": "#/components/schemas/Content"
    },
    "generationConfig": {
      "$ref": "#/components/schemas/GenerationConfig"
    },
    "cachedContent": {
      "type": "string",
      "description": "The name of the cached content used as context to serve the prediction. Format: cachedContents/{cachedContent}."
    }
  }
}