Table of Contents

Class UsageMetadata

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

Usage metadata about response(s).

public record UsageMetadata : IEquatable<UsageMetadata>
Inheritance
UsageMetadata
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?

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>

ResponseTokenCount

Total number of tokens across all the generated response candidates.

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

Property Value

int?

ResponseTokensDetails

List of modalities that were returned in the response.

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

Property Value

List<ModalityTokenCount>

ServiceTier

Output only. Service tier of the request. This field is not supported in Vertex AI.

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

Property Value

ServiceTier?

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. This field is not supported in Gemini API.

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

Property Value

TrafficType?

Methods

FromJson(string, JsonSerializerOptions?)

Deserializes a JSON string to a UsageMetadata object.

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

Parameters

jsonString string

The JSON string to deserialize.

options JsonSerializerOptions

Optional JsonSerializerOptions.

Returns

UsageMetadata

The deserialized UsageMetadata object, or null if deserialization fails.