# UsageMetadata

> **Class** in `langsmith`

📖 [View in docs](https://reference.langchain.com/python/langsmith/schemas/UsageMetadata)

Usage metadata for a message, such as token counts.

This is a standard representation of token usage that is consistent across models.

## Signature

```python
UsageMetadata()
```

## Extends

- `TypedDict`

## Constructors

```python
__init__(
    input_tokens: int,
    output_tokens: int,
    total_tokens: int,
    input_token_details: NotRequired[InputTokenDetails],
    output_token_details: NotRequired[OutputTokenDetails],
    input_cost: NotRequired[float],
    output_cost: NotRequired[float],
    total_cost: NotRequired[float],
    input_cost_details: NotRequired[InputCostDetails],
    output_cost_details: NotRequired[OutputCostDetails],
)
```

| Name | Type |
|------|------|
| `input_tokens` | `int` |
| `output_tokens` | `int` |
| `total_tokens` | `int` |
| `input_token_details` | `NotRequired[InputTokenDetails]` |
| `output_token_details` | `NotRequired[OutputTokenDetails]` |
| `input_cost` | `NotRequired[float]` |
| `output_cost` | `NotRequired[float]` |
| `total_cost` | `NotRequired[float]` |
| `input_cost_details` | `NotRequired[InputCostDetails]` |
| `output_cost_details` | `NotRequired[OutputCostDetails]` |


## Properties

- `input_tokens`
- `output_tokens`
- `total_tokens`
- `input_token_details`
- `output_token_details`
- `input_cost`
- `output_cost`
- `total_cost`
- `input_cost_details`
- `output_cost_details`

---

[View source on GitHub](https://github.com/langchain-ai/langsmith-sdk/blob/ce9e9e8973442b33e98ec3ce1b9c2dd3f58a43a7/python/langsmith/schemas.py#L1200)