Skip to main content
Glama

Estimate generation cost

estimate_cost
Read-onlyIdempotent

Validate a planned input against the model schema and return a free price estimate or missing requirements, enabling explicit user review before generation.

Instructions

Validate a planned input against the model schema and quote its list price without submitting anything. Free. status "estimated" gives a number; "needs_input" names what is missing (e.g. reference_video_seconds); "token_billed" and "unknown" mean no reliable number exists, so never present them as a price. Show the user the model, input and estimate and wait for explicit approval before calling generate_image or generate_video.

Input Schema

NameRequiredDescriptionDefault
inputNoModel request fields exactly as listed in get_model input_schema (e.g. {"prompt": "...", "resolution": "2k"}). Leave out model and async.
modelYes
reference_video_secondsNoTotal length in seconds of all reference_videos, when the input has any; used only for the estimate.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations: it declares the call is free, that nothing is submitted, and enumerates the four status outcomes with a strong instruction never to present token_billed or unknown as a price. That is exactly the behavioral context the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with purpose, then the status semantics, then the approval gate. Every clause carries operational weight; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by explaining what each returned status means and how to present the result. Combined with the mutation-adjacent workflow (approval before generation), an agent has everything needed to call and interpret it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% and the description reinforces the key semantic that 'input' is the model request fields without model/async, plus it flags reference_video_seconds as the typical missing field behind needs_input. It does not add much about the 'model' parameter, but that parameter is self-evident.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair and resource: validate a planned input and quote list price, explicitly 'without submitting anything'. This distinguishes it cleanly from the sibling generation tools (generate_image, generate_video) and from get_model.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use (before calling generate_image or generate_video), a required protocol step (show model, input and estimate, then wait for explicit approval), and a when-not-to-use implication (it does not submit). No alternative is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.