In This Report

    The short answer: give each workflow its own API key, read your provider’s usage page grouped by key, and put a spend alert on each key. OpenAI and Anthropic already show usage by API key and offer spend alerts, so splitting keys adds no new tool to pay for. If you want cost per call, Langfuse and Helicone both have free plans, and Langfuse Core is $29 a month and Helicone Pro $79 a month plus usage.

    A self-hosted n8n user on r/n8n found that 1 workflow was 75% of a Claude bill of about $58 a month. They’d saved a schedule change but didn’t publish it, so n8n kept running the old version until the fix cut the bill to about $5 a month, a 91% drop.

    Another r/n8n builder running a handful of scheduled agents traced a jump in the bill to a notifier stuck in a retry loop, re-calling the API dozens of times a day without raising an error. On r/SaaS, a team running a support bot posted that its LLM bill tripled in 6 months, and commenters blamed resent chat history and retries ahead of model prices.

    An LLM (large language model) is the AI model behind tools like ChatGPT and Claude, and providers bill it per token, a small chunk of text you send or the model writes. This guide shows you how to find the workflow eating your API bill and how to cut it without losing quality.

    We checked the prices below on vendor pages on October 28, 2026, and the features on October 14, 2026.

    Where you can see AI spend by workflow. Prices checked on vendor pages on October 28, 2026; features on October 14, 2026. All rows come from vendor pages, and community reports appear in the text only.
    ToolHow it splits your spendCaps, alerts or price
    OpenAI APIUsage and Costs dashboards filter and group by API key (added August 4, 2026). The Costs API also groups by project, user and line item.Spend alerts, plus hard monthly limits per organization or project
    Anthropic Claude ConsoleUsage page by workspace, model and API key. Cost page by workspace and model.Monthly spend limits and threshold alerts per workspace
    OpenRouterUsage and cost returned with each response. Per-key usage for the current UTC day, week and month.Credit limit per key, resetting daily, weekly or monthly
    n8nLogs view shows total AI tokens used per execution (since version 1.94.0)No spend cap in the docs we checked
    LangfuseRecords usage and USD cost per model call, from the response or from built-in model pricesFree Hobby plan with 50k units a month. Core at $29 a month.
    HeliconeCustom property headers tag each request by feature or workflow for cost analysisFree Hobby plan with 10,000 requests. Pro at $79 a month plus usage.

    How do you find which workflow or agent is eating your API budget?

    Give each workflow its own API key, then read your provider’s usage page grouped by key. Your invoice shows 1 total, and a key is the easiest label your provider can see.

    OpenAI added API key filtering and grouping to its Usage and Costs dashboards on August 4, 2026, and its Costs API also groups spend by project, user and line item. Anthropic’s Claude Console Usage page breaks usage down by workspace, model and API key, and its Cost page splits spend by workspace and model.

    On OpenRouter, the docs tell you to give each agent key its own credit limit so a runaway agent can’t drain the shared pool, and that limit can reset daily, weekly or monthly. A commenter in the r/n8n scheduled-agent thread called per-agent keys the lazy version of tagging, because you get per-agent numbers with zero setup.

    • 1. Name keys after workflows: a key called “reddit-scout” makes the usage page read like your workflow list.
    • 2. Log tokens per execution: the r/n8n user with the $58 bill summed token usage from their own n8n executions by workflow and model, because the Anthropic invoice showed a total and nothing else.
    • 3. Reconcile with the provider: the same user found that execution logs miss calls made through plain HTTP nodes and some retries, so compare your sum with the provider’s usage for the same window.
    • 4. Add a tracing tool if keys aren’t enough: Helicone lets you tag each request with a custom property header such as the workflow name, and Langfuse records usage and USD cost for each model call.
    • 5. Log paid calls outside the LLM too: an r/n8n user plans 1 reusable sub-workflow that writes provider, endpoint, workflow and cost after every paid HTTP call, failed calls included, and a commenter warned that with Retry On Fail switched on, the next node sees only the final attempt, so 3 billed calls can log as 1.

    You can’t find the expensive workflow on an invoice that shows 1 total, so give each workflow its own key before the next bill lands.


    Why did our LLM bill triple when usage didn’t?

    Your customer count can stay flat while the tokens behind each conversation grow, and providers bill tokens. Resent chat history and retries are the first places to look, and reasoning models add hidden tokens on top.

    In the r/SaaS thread about a bill that tripled in 6 months, 1 commenter said about 60% of their own jump came from old chat history resent on each turn, and they cut the bill by capping the context and caching the system prompt. Another pointed out that retries log as separate normal-cost calls, so your cost per call can sit flat while your cost per finished task climbs.

    OpenAI’s docs say reasoning tokens stay hidden from the API response and get billed as output tokens, so a reasoning model can raise the bill with the same visible replies. You can cap them with the max_output_tokens parameter, which limits reasoning and visible output together.

    • 1. Chart input tokens per request by week: if the line rises while traffic stays flat, your context is growing, and you can bring it back down by summarizing older turns.
    • 2. Track cost per resolved ticket for 7 days: commenters in the same thread suggested splitting it by intent and model before you switch providers, because a vendor switch won’t fix a usage problem.

    Track cost per finished task, because a flat cost per call can hide a bill that tripled.


    How do you count token cost: raw context or billed tokens?

    Count billed tokens from the usage fields in each API response, and add each attempt to the task it belongs to. Raw context size helps you debug a prompt, and it misses caching, retries and reasoning.

    Anthropic’s docs split input into cache reads, cache writes and uncached input, and the input_tokens field counts only the tokens after the last cache breakpoint. Cache reads cost 0.1 times the base input price on most Claude models (0.05 times on Opus 5.5 and Sonnet 5.5, and 0.025 times on Fable 5.1 and Mythos 5.1), and 5-minute cache writes cost 1.25 times.

    OpenAI reports cached tokens in usage.input_tokens_details.cached_tokens, and OpenRouter returns usage and cost with each response, counted with the model’s own tokenizer and no extra parameters. A builder on r/AI_Agents warned that your raw token total can rise while your cost falls as cache hits improve.

    • 1. Store 4 numbers per call: uncached input, cache reads, cache writes and output, tagged with the workflow name and a task ID.
    • 2. Price each number at its own rate: compare what each model costs per million tokens in our AI API pricing guide, then use the cache multipliers above.
    • 3. Count retries inside the task: another builder in the r/AI_Agents thread argued that retries and tool definitions are real money, so they belong in the task’s cost.
    • 4. Flag missing usage: a third builder found that a streamed call cut off by a timeout sent no usage data, so they mark those attempts unmeasured instead of zero.

    Your provider bills tokens per call, so count billed tokens and fold each retry into the task that caused it.


    What runs up an AI bill without you noticing, and how do you catch it?

    Schedules you thought you’d changed and retry loops that fail without an error can run for weeks before the invoice shows them. Catch them by comparing the runs you expect with the runs that happened, and set spend alerts before month end.

    The $58 bill on r/n8n came from a saved but unpublished schedule change, and a commenter in the same thread said a Slack bot kept running old logic for 2 weeks the same way. The original poster also found that 1 day of n8n’s built-in editor assistant on the largest model cost as much as a month of production.

    A user on r/AI_Agents who priced a week of bot usage call by call watched their plan go from $20 to $200 a month in 5 days, and found that jobs of 16 steps or more were 52% of the cost, while the scheduled jobs they suspected came to about 8%. On r/n8n, a builder spending about $100 a day while debugging was told to split the 2 meters first: the in-app assistant you use while building, and the AI nodes inside the workflows.

    In n8n, the logs view shows the total AI tokens used in an execution, including past executions, since version 1.94.0. Anthropic’s docs say Console playground usage isn’t tied to any API key, so test runs there won’t show up under a workflow’s key.

    Set a spend alert on each project or key this week, because a retry loop won’t email you before the invoice does.


    Should you cap AI spend per person or per workflow?

    Cap per workflow, and give each person a small default, because the bill comes from jobs, and a per-person cap cuts the heavy user and the 2-emails-a-week user the same way.

    Accenture now centrally funds Claude at $29 per employee a month from October 1, according to an internal announcement reported by 404 Media, and use above that has to be charged to a project budget code. Individual employees in the messages 404 Media reviewed said they had been spending $500 to $1,000 a month.

    In the r/AI_Agents thread on the Accenture news, commenters argued that a cap works better at the job level: give each recurring workflow its own budget, have it stop or ask for approval at the limit, and watch cost per finished task. The per-key and per-workspace limits above are how you set that up.

    Put the budget on the workflow’s key, and give people a small default plus a quick way to ask for more.


    The AI Profit Wire runs on an automated pipeline I built in n8n that scans 100+ sources a day, next to the 4 businesses I run. I still approve each post by hand in Telegram before it goes out.

    A pipeline like that is a stack of scheduled jobs calling the same model providers, and a provider invoice shows them as 1 number. That’s why I’d tag each workflow’s calls from day 1, because a stale schedule or a looping retry can look like healthy growth on a monthly total.


    How do you lower an LLM bill without losing quality?

    Fix the leaks above first, then cache the repeated start of your prompts and batch the work that can wait. Prompt caching stores that repeated start, such as your system instructions, so the provider charges less each time it reads it again.

    OpenAI turns prompt caching on by default for supported models and discounts cached input up to 95%, and on GPT-5.6, with the default 30-minute cache, 1 cache write plus 9 full reads costs 2.15 times the ordinary input cost if all 9 reads hit the cache, against 10 times without caching. Anthropic bills cache reads at 0.1 times the base input price on most models, with a default 5-minute cache lifetime, and n8n 2.42, released September 29, 2026, added a Prompt Caching option to the Anthropic node’s Message operation, switched off by default.

    OpenAI’s Batch API gives a 50% discount and aims to finish each batch within 24 hours, and Anthropic’s Message Batches API charges 50% of standard prices, with most batches done in under 1 hour. On Claude, the cache multipliers stack with the batch discount, so an overnight summary job can collect both.

    You don’t need a gateway to get these savings. Commenters on an r/AI_Agents thread about LLM gateways agreed the gateway doesn’t save money by itself: caching, batch and sending easy tasks to smaller models do, and a self-hosted proxy like LiteLLM earns its place with per-key spend tracking and budget caps once several people or workflows share a setup.

    • 1. Keep the prompt prefix identical: a commenter in the r/SaaS thread said caching a static system prompt cut spend about 20% in an afternoon of work, so move timestamps and customer details to the end of the prompt.
    • 2. Route where the spend sits: model routing sends easy tasks to a smaller, cheaper model, and the r/n8n user found that downgrading their cheap workflows saved about $1 a month and wasn’t worth the quality loss.
    • 3. Check the other cost traps: The SMB AI Agent Stack covers polling and token waste in more depth.

    You cut the price of the same work with caching and batch, so use them before you trade quality for a cheaper model.

    If you want the weekly verified breakdowns behind guides like this, subscribe to The AI Profit Wire, and you can track every tool we score in the Intelligence library.

    Facts and prices last checked October 2026. Vendors change plans often, so confirm on the vendor’s page before you buy. Test. Cut. Share.

    ANALYST
    Moe Sbaiti AI Intelligence Analyst

    I run 4 businesses simultaneously. When AI tools started launching by the hundreds every month, I built an automated pipeline instead of keeping up manually. It monitors 100+ sources every 4 hours, scores every signal against 5 measurable data points, and cuts over 90% of the noise before anything reaches you. My background is 16 years of restaurant operations, ecommerce, fitness coaching, and web development. I evaluate tools like a business owner, not a tech reviewer. The Hype Check scores are never influenced by affiliate relationships. The data decides.