Pay per call, no subscription
There is no plan and no seat. You top up a balance, and each call draws from it. Unused balance stays yours.Three ways a tool prices
Goro fronts three providers and they do not charge us the same way, so a quoted price does not mean the same thing everywhere. Which shape applies is written on the tool’s page, and comes back asprice.type from discover and
inspect.
Only the first has a total that cannot be known before the call, and most of
this page is about that case. The other two are arithmetic you can do in
advance.
Flat
An image generation call costs what it costs, whatever comes back: 0.06 on Grok Imagine, 0.18 on Nano Banana 2. There is no ceiling to read and nothing to settle afterwards, and a call that fails is not charged at all.video.veo prices the same way, at $3.8250 a call, because it only makes videos
of one length.
Metered
A voice call bills a published rate against a quantity you can measure yourself. Text to speech is 0.36. Speech to text is 1.08 an hour, and no call can exceed $1.08. The other five video endpoints bill the same way, against the seconds of video you ask for. The rate is per second and differs by model, from 0.6150 on Seedance 5 Pro, andduration is the only field that
changes the price. The ceiling on one of those is that rate times the longest
clip the endpoint accepts.
The rate is exact, so the total is your input size times the rate. The ceiling
is still a ceiling: it is the price of the largest request the endpoint takes,
not a typical call.
Three numbers, three jobs
This is the per-result case, the one every search, social, maps, commerce and people tool uses.1
The rate
Every one of those tools publishes a rate per result, for example 0.0075 per result page. That is what one row costs you, and
it is on the tool’s page in the catalog.
2
The total
The total is the rate times the results the call actually produced. Ask for
3 rows and you pay for 3. Ask for 300 and the call finds 40, you pay for 40.
3
The ceiling
Before the call runs,
discover and inspect return a ceiling for your
specific request. You are never charged above it. It is a maximum, not an
estimate of what you will pay.Why the total is not fixed up front
How many rows a request produces is not knowable before it runs. A search for a niche term returns four results; the same query next week returns forty. Goro bills what the call consumed rather than an average that would overcharge the small calls to cover the large ones.1
The hold
Before the call runs, Goro reserves an amount against your balance, sized
from what you asked for. A small request holds a small amount, a large one
holds more. The hold never exceeds the ceiling.
2
The charge
When the call finishes, Goro reads what the underlying tool actually
charged, applies our margin, takes that, and releases the rest of the hold.
A call that returns nothing
If a call completes with no results and the tool positively reports it cost us nothing, it bills nothing. If it returned nothing but the tool still charged us to start, you pay our margin on that, which is fractions of a cent. You are never charged for rows you did not receive. A flat-priced or metered call is different in kind: it either produced the thing you asked for, in which case it costs its published price, or it failed, in which case it costs nothing.Holds are not charges
A hold reserves balance, it does not spend it. If a call fails, times out, or you stop it, the whole hold is released and nothing is charged. Your available balance is what you can spend right now: your topped-up cash, plus any promotional credit, minus anything currently held by a running call.Budgets
You can set a daily or monthly spend cap on a workspace, and choose whether hitting it blocks further calls or just notifies you. The cap is enforced when the hold is taken, so a call that would breach it never runs. A blocked call answers402 with the code budget_exceeded.
Auto reload
Optionally, when your balance falls below a threshold you set, Goro charges your saved card to bring it back up to a target. That keeps a long-running agent from stopping mid-task because the balance ran out. Saving a card does not enable this. You turn it on explicitly.Reading prices from the API
discover and inspect return a price object per tool. Read type first,
because it decides which of the other fields are there: cost_plus and
metered carry a ceiling in max_usd, per_call carries a fixed
base_usd and no ceiling at all.
billed_on_actual_usage is the field to branch on. Where it is true, the
total depends on the call and max_usd is a maximum rather than a price. Where
it is absent, the quoted number is the price. Either way an agent can tell them
apart without parsing English. Field by field, see the
API reference.
Questions about a specific charge? Email
hello@usegoro.ai with the run id and we will
break it down.