Function Calling Token Overhead Calculator
Inputs
| Number of Tools | 5 |
|---|---|
| Tokens per Tool | 80 |
| Number of Calls | 1,000 |
| Input Price (per 1M tokens) | 3 $ |
| Wrapper Tokens | 16 |
Function Calling Token Overhead Calculator
Estimate the input tokens and cost of exposing tools to an LLM. Tool definitions — name, description, and parameter schema — are sent with every call, whether or not a tool is used.
Inputs
Tools
Volume and Pricing
Wrapper Tokens
Results
Enter a value to see results.
Details
Function calling token overhead
Function calling token overhead is the input-side cost of making tools available to a large language model. To let a model decide whether and how to call a tool, the provider serializes each tool’s definition — its name, a natural-language description, and a JSON schema for its parameters — into the prompt the model reads. Those definitions are made of tokens and are sent on every request, whether or not a tool ends up being used. This calculator isolates that fixed per-call overhead and the recurring cost it produces across a call volume.
Why tools are billed on every call
A model is stateless between requests: it remembers nothing from one call to the next, so the tools it may use have to be described afresh each time. There is no way to register a tool once and refer to it cheaply later — the full definition travels in the input of every call. A request where the model answers directly, invoking nothing, still pays for the definitions, because they were supplied so the option existed. The cost therefore scales with the number of tools exposed and the verbosity of their schemas, multiplied by how often you call the model.
The formula
With tools at tokens each and wrapper tokens framing the tool block, the per-call overhead is
tcall=m⋅ttool+twAcross calls the total overhead and its cost at an input price per million tokens are
TC=tcall⋅n=106TpThe division by converts the per-million quote into a per-token rate. Tool definitions are read by the model, so they are billed at the input rate, typically the lower of the two published prices.
Worked example
Consider an agent exposing 14 tools whose definitions average 120 tokens each, with 18 wrapper tokens framing the block. The per-call overhead is
tcall=14×120+18=1,698 tokensRun across 25,000 calls at an input price of $3 per million tokens, the overhead cost is
TC=1698×25000=42,450,000 tokens=10642450000×3=$127.35That $127.35 is spent before any user message or model reply is counted — it pays only to describe the tools on each request. Routing the agent to expose only the handful of tools relevant to each task, rather than all 14, would cut this figure several-fold.
Notes and variations
The per-tool figure depends heavily on how richly each tool is described: detailed parameter descriptions and many optional fields inflate the schema, while a terse definition stays compact. The overhead measured here is purely the tool block; the conversation tokens and any tool-call arguments the model emits are separate. Prompt caching can reduce the repeated cost when the tool block is stable across calls, since a cached read is billed at a reduced rate.
Application
Function calling overhead lands on the input side of the bill. Its output-side counterpart — the JSON scaffolding the model writes back when constrained to a schema — is handled by the Structured Output Overhead Calculator. To price the underlying per-call token usage from which this overhead is drawn, see the Token Cost Calculator.
Frequently Asked Questions (FAQ)
Why do tools cost tokens?
For the model to call a tool, it must know the tool exists and how to use it. The provider serializes each tool’s name, natural-language description, and JSON parameter schema into the prompt that the model reads. That serialized block is made of tokens and is processed on the input side of every request, so the tools you expose add to the input token count before the model writes a single word of reply.
How can I reduce tool overhead?
Expose only the tools relevant to the current task rather than the whole catalog on every call — routing or filtering the tool set is the largest lever. Trimming verbose parameter descriptions and removing optional parameters that are rarely used shrinks each definition. Because the overhead is paid per call, the savings compound across high-volume workloads, and a leaner tool set also tends to improve the model’s tool-selection accuracy.
Are tool definitions sent on every call?
Yes. The model is stateless between requests, so the tool definitions are included in the input of each call, not registered once. Even a request where the model answers directly without invoking any tool still pays for the definitions, because they were sent so the option was available. Prompt caching can reduce the repeated cost when the tool block is stable across calls, since a cached read is billed at a reduced rate.
Disclaimer
Token figures are estimates that depend on the model’s tokenizer and how the provider serializes tool definitions. Published prices change over time and may exclude caching or batch discounts. Verify current rates and exact token counts with your provider before relying on a figure for billing.