Table of Contents

Class GenerateContentResponseUsageMetadata

Namespace
Google.GenAI.Types
Assembly
Google.GenAI.dll

Usage metadata about the content generation request and response. This message provides a detailed breakdown of token usage and other relevant metrics. This data type is not supported in Gemini API.

public record GenerateContentResponseUsageMetadata : IEquatable<GenerateContentResponseUsageMetadata>
Inheritance
GenerateContentResponseUsageMetadata
Implements
Inherited Members

Properties

CacheTokensDetails

Output only. A detailed breakdown of the token count for each modality in the cached content.

[JsonPropertyName("cacheTokensDetails")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public List<ModalityTokenCount>? CacheTokensDetails { get; set; }

Property Value

List<ModalityTokenCount>

CachedContentTokenCount

Output only. The number of tokens in the cached content that was used for this request.

[JsonPropertyName("cachedContentTokenCount")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? CachedContentTokenCount { get; set; }

Property Value

int?

CandidatesTokenCount

The total number of tokens in the generated candidates.

[JsonPropertyName("candidatesTokenCount")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? CandidatesTokenCount { get; set; }

Property Value

int?

CandidatesTokensDetails

Output only. A detailed breakdown of the token count for each modality in the generated candidates.

[JsonPropertyName("candidatesTokensDetails")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public List<ModalityTokenCount>? CandidatesTokensDetails { get; set; }

Property Value

List<ModalityTokenCount>

PromptTokenCount

The total number of tokens in the prompt. This includes any text, images, or other media provided in the request. When cached_content is set, this also includes the number of tokens in the cached content.

[JsonPropertyName("promptTokenCount")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? PromptTokenCount { get; set; }

Property Value

int?

PromptTokensDetails

Output only. A detailed breakdown of the token count for each modality in the prompt.

[JsonPropertyName("promptTokensDetails")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public List<ModalityTokenCount>? PromptTokensDetails { get; set; }

Property Value

List<ModalityTokenCount>

ThoughtsTokenCount

Output only. The number of tokens that were part of the model's generated "thoughts" output, if applicable.

[JsonPropertyName("thoughtsTokenCount")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? ThoughtsTokenCount { get; set; }

Property Value

int?

ToolUsePromptTokenCount

Output only. The number of tokens in the results from tool executions, which are provided back to the model as input, if applicable.

[JsonPropertyName("toolUsePromptTokenCount")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? ToolUsePromptTokenCount { get; set; }

Property Value

int?

ToolUsePromptTokensDetails

Output only. A detailed breakdown by modality of the token counts from the results of tool executions, which are provided back to the model as input.

[JsonPropertyName("toolUsePromptTokensDetails")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public List<ModalityTokenCount>? ToolUsePromptTokensDetails { get; set; }

Property Value

List<ModalityTokenCount>

TotalTokenCount

The total number of tokens for the entire request. This is the sum of prompt_token_count, candidates_token_count, tool_use_prompt_token_count, and thoughts_token_count.

[JsonPropertyName("totalTokenCount")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? TotalTokenCount { get; set; }

Property Value

int?

TrafficType

Output only. The traffic type for this request.

[JsonPropertyName("trafficType")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public TrafficType? TrafficType { get; set; }

Property Value

TrafficType?

Methods

FromJson(string, JsonSerializerOptions?)

Deserializes a JSON string to a GenerateContentResponseUsageMetadata object.

public static GenerateContentResponseUsageMetadata? FromJson(string jsonString, JsonSerializerOptions? options = null)

Parameters

jsonString string

The JSON string to deserialize.

options JsonSerializerOptions

Optional JsonSerializerOptions.

Returns

GenerateContentResponseUsageMetadata

The deserialized GenerateContentResponseUsageMetadata object, or null if deserialization fails.