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.

JSON representation
{
  "role": string,
  "parts": [
    {
      object (Part)
    }
  ]
}
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.

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.

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.
}
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.

Blob

Content blob.

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

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

string

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

data

string (bytes format)

Required. Raw bytes.

A base64-encoded string.

FileData

URI based data.

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

string

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

fileUri

string

Required. URI.

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.

JSON representation
{
  "name": string,
  "args": {
    object
  }
}
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.

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.

JSON representation
{
  "name": string,
  "response": {
    object
  }
}
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.

VideoMetadata

metadata describes the input video content.

JSON representation
{
  "startOffset": string,
  "endOffset": string
}
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".