zshot/cliDownload

--llm-usage

CLI
--llm-usage
REST
CLI only
ValuePATH

Writes the tokens each model spent to a JSON file: one entry per URL, with a row for each navigator and the formatter.

Fields

[{"url": "https://zshot-cli.com", "usage": [{
  "name": "anthropic", "role": "navigator", "provider": "anthropic",
  "model": "claude-opus-5-5", "calls": 6, "input_tokens": 41900,
  "output_tokens": 1870, "cache_read_tokens": 12300, "cache_write_tokens": 2100,
  "images": 6
}]}]

A row is named by the navigator’s name=, so each --navigator-type and the writer=true one count apart. input_tokens includes the cached input; cache_read_tokens and cache_write_tokens are the cached part. images counts the screenshots sent, earlier frames of the page included. cost_usd is the dollars the provider reported the calls cost, present only where it reports one, as OpenRouter does.

Server

A render that called a model answers with the same rows in an X-Zshot-LLM-Usage header, an RFC 8941 list:

X-Zshot-LLM-Usage: "scout";role=navigator;provider="typesafe";model="jev-latest";calls=31;input=58210;output=402;cache-read=0;cache-write=0;images=0

A reported cost is the cost-usd parameter, a string of dollars such as cost-usd="0.000067".

Example

CLI Run locally
zshot -f page.png \
  --navigate "Open the first chapter" \
  --navigator-type "anthropic://YOUR_API_KEY@" \
  --llm-usage usage.json \
  https://zshot-cli.com/example_assets/winnie-the-pooh/