AI Cost Tracking

AI

See what your AI usage costs — per run in the execution log, and over a flow's whole lifetime in the sidebar.

Overview

Every time Watchflows calls an AI model — an AI node during a run, the Flow Builder building a flow, or Explain This Code reviewing a script — it records how many tokens were used and estimates the cost. The model that actually ran and its price are frozen onto the record, so changing a default later never rewrites your history.

Local models (Ollama, LM Studio) are always Free — nothing leaves your machine, and there's nothing to bill.

Where You See It

  • Per run — in the execution log, each run shows a small green cost chip next to its timestamp summing every AI call it made. Runs with no AI cost show nothing.
  • Per flow (lifetime) — with no node selected, the flow sidebar shows an AI Cost (Lifetime) card: the running total of every AI call attributed to this flow — its node runs, plus any Flow Builder and Explain This Code usage spent on it. This total is durable: it keeps counting even after old runs are cleared from history.
  • In your flows list — the table view has a Cost column (click the header to sort) and the card view shows a small cost chip, both the same durable lifetime total. Sort by cost to find your most expensive flows at a glance; flows with no AI spend show a muted and no chip.

Plan With Strong Models, Run On Cheap Ones

Under Settings → AI Defaults you can give the Flow Builder and Explain This Code their own provider and model, separate from what your AI nodes use. That lets you reason and diagnose with a premium model while your flows run their day-to-day work on a cheaper one. Leave either unset to fall back to your default provider.

While the Flow Builder is working on the canvas, its throbber shows the model it's generating with — so you always know which model you're interacting with, and whether it's the premium one you picked or the default fallback.

Where the Prices Come From

Cloud providers don't offer a universal pricing API, so Watchflows ships a bundled price list covering common OpenAI, Anthropic, and Google models. To stay current between app updates, it also fetches a refreshed list from watchflows.app at most once a day. This is an anonymous request for a static file — the same kind of check the app already makes for updates — and it sends none of your data. If you're offline or the fetch fails, the bundled list is used; cost display never blocks or breaks.

All figures are estimates of list prices shown for your awareness — your provider's invoice is always authoritative. When a model isn't in the price list, Watchflows still records the tokens but shows the cost as rather than guessing.

Good to Know

Costs are computed from each model's input and output token rates — counted separately, since output usually costs more. A run that retries an AI node (for example, to satisfy a strict output schema) counts every attempt, because every attempt is billed.

Cost tracking is entirely local: the records live in your Watchflows database alongside your run history and are never sent anywhere.