run without inspecting first.
Request
Response
Ranking is lexical and deterministic: the same query returns the same order
every time. Matches that score zero are dropped, so a query nothing answers
returns
{"items": []} rather than a list of bad guesses.
sample_input
sample_input is built from the tool’s own input schema. It contains every
required field, plus every optional field that declares a default. Values come
from the schema’s examples, then its defaults, then its enums. A required field
with none of those appears as a placeholder like "<searchTerms>", which you
are expected to replace.
It is a starting point, not a validated input. run validates what you
actually send.
price
price is the same object inspect and run
return. Its fields depend on type.
Most of the catalog is
cost_plus: billed at markup times what the provider
actually charged, floored at min_micro and capped at max_micro. The image
tools are per_call, one flat price with no ceiling to read. The voice tools
are metered, an exact rate against the size of your request, with a ceiling
on top. per_result is part of the contract but nothing in the catalog uses it
today, so handle it if you parse price generically.
On a
cost_plus or metered tool, max_usd is a ceiling and the hold Goro
places is sized from what you request, so it usually sits well below that
number. On a per_call tool there is no ceiling: base_usd is what the call
costs. Every tool’s page in the catalog says which it is.Errors
Discovery is free. It places no hold and charges nothing.
Then inspect the match
Read the full input schema before you run it.