Content

The base structured datatype containing multi-part content of a message.

A Content includes a role field designating the producer of the Content and a parts field containing multi-part data that contains the content of the message turn.

Fields
role string

Optional. The producer of the content. Must be either 'user' or 'model'.

Useful to set for multi-turn conversations, otherwise can be left blank or unset.

parts[] object (Part)

Required. Ordered Parts that constitute a single message. Parts may have different IANA MIME types.

JSON representation
{
  "role": string,
  "parts": [
    {
      object (Part)
    }
  ]
}

Part

A datatype containing media that is part of a multi-part Content message.

A Part consists of data which has an associated datatype. A Part can only contain one of the accepted types in Part.data.

A Part must have a fixed IANA MIME type identifying the type and subtype of the media if inlineData or fileData field is filled with raw bytes.

Fields

Union field data.

data can be only one of the following:

text string

Optional. Text part (can be code).

inlineData object (Blob)

Optional. Inlined bytes data.

fileData object (FileData)

Optional. URI based data.

functionCall object (FunctionCall)

Optional. A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] with the parameters and their values.

functionResponse object (FunctionResponse)

Optional. The result output of a [FunctionCall] that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing any output from the function call. It is used as context to the model.

Union field metadata.

metadata can be only one of the following:

videoMetadata object (VideoMetadata)

Optional. Video metadata. The metadata should only be specified while the video data is presented in inlineData or fileData.

JSON representation
{

  // Union field data can be only one of the following:
  "text": string,
  "inlineData": {
    object (Blob)
  },
  "fileData": {
    object (FileData)
  },
  "functionCall": {
    object (FunctionCall)
  },
  "functionResponse": {
    object (FunctionResponse)
  }
  // End of list of possible types for union field data.

  // Union field metadata can be only one of the following:
  "videoMetadata": {
    object (VideoMetadata)
  }
  // End of list of possible types for union field metadata.
}

Blob

Content blob.

It's preferred to send as text directly rather than raw bytes.

Fields
mimeType string

Required. The IANA standard MIME type of the source data.

data string (bytes format)

Required. Raw bytes.

A base64-encoded string.

JSON representation
{
  "mimeType": string,
  "data": string
}

FileData

URI based data.

Fields
mimeType string

Required. The IANA standard MIME type of the source data.

fileUri string

Required. URI.

JSON representation
{
  "mimeType": string,
  "fileUri": string
}

FunctionCall

A predicted [FunctionCall] returned from the model that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing the parameters and their values.

Fields
name string

Required. The name of the function to call. Matches [FunctionDeclaration.name].

args object (Struct format)

Optional. Required. The function parameters and values in JSON object format. See [FunctionDeclaration.parameters] for parameter details.

JSON representation
{
  "name": string,
  "args": {
    object
  }
}

FunctionResponse

The result output from a [FunctionCall] that contains a string representing the [FunctionDeclaration.name] and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a [FunctionCall] made based on model prediction.

Fields
name string

Required. The name of the function to call. Matches [FunctionDeclaration.name] and [FunctionCall.name].

response object (Struct format)

Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.

JSON representation
{
  "name": string,
  "response": {
    object
  }
}

VideoMetadata

metadata describes the input video content.

Fields
startOffset string (Duration format)

Optional. The start offset of the video.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

endOffset string (Duration format)

Optional. The end offset of the video.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

JSON representation
{
  "startOffset": string,
  "endOffset": string
}