---
title: "Usage Logs and Reconciliation"
description: "View each call's model, four token types, and charges in the 1折AI console's call logs, and recalculate a bill using the formula."
headingIds: {"Where to View":"section-1","What Each Log Entry Contains":"section-2","Reconcile a Bill":"section-3","Using Logs to See Cache Effectiveness":"section-4","Not Matching Your Own Statistics":"section-5"}
---

<aside className="docs-publication" data-pagefind-ignore>

Documentation maintained by [1ZheAI](https://1zheai.com/en/editorial/#publisher). [Sources and corrections](https://1zheai.com/en/editorial/).

Found an error? [Contact support](mailto:support@1zheai.com) with the page address and a description. Do not send API keys or account credentials.

</aside>
Every call leaves a detail record in the call logs. This page explains how to view them and how to reconcile.

## Where to View

[Console](https://1zheai.com/console?lng=en) left menu → "Call Logs" (URL `https://1zheai.com/usage-logs`), page title is "General Logs".

At the top you can filter by time range; after clicking "Expand" you can also filter by model name, API key name ("Token Name"), request ID, and log type. After filtering, click "Search"; "Export" downloads the current filtered results, making it convenient to reconcile in a spreadsheet.

## What Each Log Entry Contains

| Column | Content |
|---|---|
| Time | When the request occurred |
| Token | The API key name used for this call |
| Model | The actual model ID called |
| Stream | "Stream" or "Non-stream", plus output speed (t/s) |
| Token | The first line is "Input / Output" tokens; when caching is present, an additional line appears below: after "Cache↓" is the cache read tokens, after "↑" is the cache write tokens |
| Cost | The USD amount charged for this call |
| Duration | Total duration; streaming requests also show time to first character |
| Details | Unit price and other details for this call |

Requests rejected by the gateway (invalid API key, insufficient balance, incorrect model name, etc.) are not charged. Requests where the upstream returns an error have a cost of 0. A streaming request that disconnects mid-way is not entirely free of charge, see [Streaming Output](/en/docs/streaming/).

## Reconcile a Bill

<Steps>
<Step title="Find this call">

Find the entry to verify by time and model, and note down the four numbers in the Token column: input, output, cache read (Cache↓), and cache write (↑).

</Step>
<Step title="Check unit price">

On the [Pricing Page](https://1zheai.com/en/pricing/) find the input, output, cache read, and cache write unit prices for that model (input and output are already calculated with the model discount; cache is at the official original price).

</Step>
<Step title="Plug into the formula">

```text
扣费 = ( 输入 × 输入单价
       + 缓存写入 × 缓存写单价
       + 缓存读取 × 缓存读单价
       + 输出 × 输出单价 ) ÷ 1,000,000
```

The result should match the charge in the log. Rounding may cause a difference in the last digit.

</Step>
</Steps>

If it doesn't match, send us the time, model, and a screenshot of this log entry.

## Using Logs to See Cache Effectiveness

In tools like Claude Code, most input should fall into the "cache read" column. If several consecutive entries show large amounts of "cache write" with very little "cache read", it means the cache is not being reused; for causes and fixes see [Prompt Caching](/en/docs/prompt-caching/).

A rough hit rate: cache read ÷ (input + cache write + cache read).

## Not Matching Your Own Statistics

- Claude Code uses Haiku-level models for some background tasks, so models you never actively selected will appear in the logs. See the model mapping in [Claude Code Integration](/en/docs/quickstart-claude-code/).
- Input tokens in the log are a few hundred more than the content you sent: when calling via SDK, curl, or third-party tools, each request includes a system prompt that is billed as input (Claude Code does not include one), see [System Prompt Billing](/en/docs/pricing-explained/#section-3).
- A single "conversation" in a tool may correspond to many API calls (one round per tool call); logs are recorded per API call.
