# `Gemini.Types.Response.UsageMetadata`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/response/generate_content_response.ex#L337)

Usage metadata for API calls.

# `t`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/response/generate_content_response.ex#L348)

```elixir
@type t() :: %Gemini.Types.Response.UsageMetadata{
  cache_tokens_details: [Gemini.Types.Response.ModalityTokenCount.t()] | nil,
  cached_content_token_count: integer() | nil,
  candidates_token_count: integer() | nil,
  candidates_tokens_details:
    [Gemini.Types.Response.ModalityTokenCount.t()] | nil,
  prompt_token_count: integer() | nil,
  prompt_tokens_details: [Gemini.Types.Response.ModalityTokenCount.t()] | nil,
  response_tokens_details: [Gemini.Types.Response.ModalityTokenCount.t()] | nil,
  thoughts_token_count: integer() | nil,
  tool_use_prompt_token_count: integer() | nil,
  tool_use_prompt_tokens_details:
    [Gemini.Types.Response.ModalityTokenCount.t()] | nil,
  total_token_count: integer(),
  traffic_type: Gemini.Types.Response.TrafficType.t() | nil
}
```

# `from_api`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/response/generate_content_response.ex#L367)

```elixir
@spec from_api(map() | nil) :: t() | nil
```

Parse usage metadata from API payload.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
