AI Cost Tracking
AISee 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.